From: Norbert Preining Date: Wed, 6 Jan 2021 14:50:53 +0000 (+0000) Subject: Import plasma-discover_5.20.5.orig.tar.xz X-Git-Tag: archive/raspbian/5.26.90-1+rpi1~1^2^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ba6f55d1cd99f200e3151949e143dcdabee3c141;p=plasma-discover.git Import plasma-discover_5.20.5.orig.tar.xz [dgit import orig plasma-discover_5.20.5.orig.tar.xz] --- ba6f55d1cd99f200e3151949e143dcdabee3c141 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f6c0a58 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +# Ignore the following files +*~ +*.[oa] +*.diff +*.kate-swp +*.kdev4 +.kdev_include_paths +*.kdevelop.pcs +*.moc +*.moc.cpp +*.orig +*.user +.*.swp +.swp.* +Doxyfile +Makefile +avail +random_seed +/build*/ +CMakeLists.txt.user* +*.unc-backup* +.clang-format +/build*/ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..e0f3059 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,97 @@ +project(discover) +set(PROJECT_VERSION "5.20.5") +set(PROJECT_VERSION_MAJOR 5) + +cmake_minimum_required(VERSION 2.8.12) + +set(QT_MIN_VERSION "5.15.0") +set(KF5_MIN_VERSION "5.74") + +find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) + +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} "${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) +include(KDEClangFormat) + +find_package(PkgConfig REQUIRED) + +find_package(KF5 ${KF5_MIN_VERSION} REQUIRED CoreAddons Config Crash DBusAddons I18n Archive XmlGui ItemModels KIO Declarative) +find_package(KF5Kirigami2 2.7.0) + +find_package(packagekitqt5 1.0.1 CONFIG) +find_package(AppStreamQt 0.11.1 CONFIG) +find_package(KF5Attica 5.23 CONFIG) +find_package(KF5NewStuff 5.53 CONFIG) + +pkg_check_modules(Flatpak IMPORTED_TARGET flatpak>=0.11.8) +pkg_check_modules(Fwupd IMPORTED_TARGET fwupd>=1.0.6) +pkg_check_modules(Markdown IMPORTED_TARGET libmarkdown) +find_package(KUserFeedback) + + +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) +add_subdirectory(update) + +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 "https://www.freedesktop.org/software/PackageKit/" + PURPOSE "Required to build the PackageKit backend" + TYPE OPTIONAL) +set_package_properties(AppStreamQt PROPERTIES + DESCRIPTION "Library that lists Appstream resources" + URL "https://www.freedesktop.org" + PURPOSE "Required to build the PackageKit and Flatpak backends" + TYPE OPTIONAL) +add_feature_info(Flatpak Flatpak_FOUND + "Library that exposes flatpak repositories. Required to build the Flatpak backend" +) +add_feature_info(Fwupd Fwupd_FOUND "Exposes fwupd") + +feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) + +# add clang-format target for all our real source files +file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) +kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) + +install(FILES discover.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) + +find_package(KF5I18n CONFIG REQUIRED) +ki18n_install(po) diff --git a/DiscoverVersion.h.in b/DiscoverVersion.h.in new file mode 100644 index 0000000..cf4c752 --- /dev/null +++ b/DiscoverVersion.h.in @@ -0,0 +1,14 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#ifndef DISCOVERVERSION_H +#define DISCOVERVERSION_H + +#include + +static QLatin1String version("@PROJECT_VERSION@"); + +#endif diff --git a/LICENSES/BSD-3-Clause.txt b/LICENSES/BSD-3-Clause.txt new file mode 100644 index 0000000..0741db7 --- /dev/null +++ b/LICENSES/BSD-3-Clause.txt @@ -0,0 +1,26 @@ +Copyright (c) . All rights reserved. + +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 copyright holder 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. diff --git a/LICENSES/GPL-2.0-only.txt b/LICENSES/GPL-2.0-only.txt new file mode 100644 index 0000000..0f3d641 --- /dev/null +++ b/LICENSES/GPL-2.0-only.txt @@ -0,0 +1,319 @@ +GNU GENERAL PUBLIC LICENSE + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. + +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software +is covered by the GNU Lesser General Public License instead.) You can apply +it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for this service if you +wish), that you receive source code or can get it if you want it, that you +can change the software or use pieces of it in new free programs; and that +you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to +deny you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of +the software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or +for a fee, you must give the recipients all the rights that you have. You +must make sure that they, too, receive or can get the source code. And you +must show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If +the software is modified by someone else and passed on, we want its recipients +to know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will individually +obtain patent licenses, in effect making the program proprietary. To prevent +this, we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms +of this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or translated +into another language. (Hereinafter, translation is included without limitation +in the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not covered +by this License; they are outside its scope. The act of running the Program +is not restricted, and the output from the Program is covered only if its +contents constitute a work based on the Program (independent of having been +made by running the Program). Whether that is true depends on what the Program +does. + +1. You may copy and distribute verbatim copies of the Program's source code +as you receive it, in any medium, provided that you conspicuously and appropriately +publish on each copy an appropriate copyright notice and disclaimer of warranty; +keep intact all the notices that refer to this License and to the absence +of any warranty; and give any other recipients of the Program a copy of this +License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you +may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, +thus forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all +of these conditions: + +a) You must cause the modified files to carry prominent notices stating that +you changed the files and the date of any change. + +b) You must cause any work that you distribute or publish, that in whole or +in part contains or is derived from the Program or any part thereof, to be +licensed as a whole at no charge to all third parties under the terms of this +License. + +c) If the modified program normally reads commands interactively when run, +you must cause it, when started running for such interactive use in the most +ordinary way, to print or display an announcement including an appropriate +copyright notice and a notice that there is no warranty (or else, saying that +you provide a warranty) and that users may redistribute the program under +these conditions, and telling the user how to view a copy of this License. +(Exception: if the Program itself is interactive but does not normally print +such an announcement, your work based on the Program is not required to print +an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, +and its terms, do not apply to those sections when you distribute them as +separate works. But when you distribute the same sections as part of a whole +which is a work based on the Program, the distribution of the whole must be +on the terms of this License, whose permissions for other licensees extend +to the entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise +the right to control the distribution of derivative or collective works based +on the Program. + +In addition, mere aggregation of another work not based on the Program with +the Program (or with a work based on the Program) on a volume of a storage +or distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under Section +2) in object code or executable form under the terms of Sections 1 and 2 above +provided that you also do one of the following: + +a) Accompany it with the complete corresponding machine-readable source code, +which must be distributed under the terms of Sections 1 and 2 above on a medium +customarily used for software interchange; or, + +b) Accompany it with a written offer, valid for at least three years, to give +any third party, for a charge no more than your cost of physically performing +source distribution, a complete machine-readable copy of the corresponding +source code, to be distributed under the terms of Sections 1 and 2 above on +a medium customarily used for software interchange; or, + +c) Accompany it with the information you received as to the offer to distribute +corresponding source code. (This alternative is allowed only for noncommercial +distribution and only if you received the program in object code or executable +form with such an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code distributed +need not include anything that is normally distributed (in either source or +binary form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component itself +accompanies the executable. + +If distribution of executable or object code is made by offering access to +copy from a designated place, then offering equivalent access to copy the +source code from the same place counts as distribution of the source code, +even though third parties are not compelled to copy the source along with +the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except +as expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses terminated +so long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed +it. However, nothing else grants you permission to modify or distribute the +Program or its derivative works. These actions are prohibited by law if you +do not accept this License. Therefore, by modifying or distributing the Program +(or any work based on the Program), you indicate your acceptance of this License +to do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor +to copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of +the rights granted herein. You are not responsible for enforcing compliance +by third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent infringement +or for any other reason (not limited to patent issues), conditions are imposed +on you (whether by court order, agreement or otherwise) that contradict the +conditions of this License, they do not excuse you from the conditions of +this License. If you cannot distribute so as to satisfy simultaneously your +obligations under this License and any other pertinent obligations, then as +a consequence you may not distribute the Program at all. For example, if a +patent license would not permit royalty-free redistribution of the Program +by all those who receive copies directly or indirectly through you, then the +only way you could satisfy both it and this License would be to refrain entirely +from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents +or other property right claims or to contest validity of any such claims; +this section has the sole purpose of protecting the integrity of the free +software distribution system, which is implemented by public license practices. +Many people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose +that choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original copyright +holder who places the Program under this License may add an explicit geographical +distribution limitation excluding those countries, so that distribution is +permitted only in or among countries not thus excluded. In such case, this +License incorporates the limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new versions of +the General Public License from time to time. Such new versions will be similar +in spirit to the present version, but may differ in detail to address new +problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies +a version number of this License which applies to it and "any later version", +you have the option of following the terms and conditions either of that version +or of any later version published by the Free Software Foundation. If the +Program does not specify a version number of this License, you may choose +any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing and reuse +of software generally. + + NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM +"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE +OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE +OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA +OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES +OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH +HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + + +Copyright (C)< yyyy> + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation; either version 2 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +this program; if not, write to the Free Software Foundation, Inc., 51 Franklin +Street, Fifth Floor, Boston, MA 02110-1301, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when +it starts in an interactive mode: + +Gnomovision version 69, Copyright (C) year name of author Gnomovision comes +with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, +and you are welcome to redistribute it under certain conditions; type `show +c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than `show w' and `show c'; they could even be mouse-clicks +or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' +(which makes passes at compilers) written by James Hacker. + +, 1 April 1989 Ty Coon, President of Vice This General +Public License does not permit incorporating your program into proprietary +programs. If your program is a subroutine library, you may consider it more +useful to permit linking proprietary applications with the library. If this +is what you want to do, use the GNU Lesser General Public License instead +of this License. diff --git a/LICENSES/GPL-2.0-or-later.txt b/LICENSES/GPL-2.0-or-later.txt new file mode 100644 index 0000000..1d80ac3 --- /dev/null +++ b/LICENSES/GPL-2.0-or-later.txt @@ -0,0 +1,319 @@ +GNU GENERAL PUBLIC LICENSE + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. + +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software +is covered by the GNU Lesser General Public License instead.) You can apply +it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for this service if you +wish), that you receive source code or can get it if you want it, that you +can change the software or use pieces of it in new free programs; and that +you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to +deny you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of +the software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or +for a fee, you must give the recipients all the rights that you have. You +must make sure that they, too, receive or can get the source code. And you +must show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If +the software is modified by someone else and passed on, we want its recipients +to know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will individually +obtain patent licenses, in effect making the program proprietary. To prevent +this, we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms +of this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or translated +into another language. (Hereinafter, translation is included without limitation +in the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not covered +by this License; they are outside its scope. The act of running the Program +is not restricted, and the output from the Program is covered only if its +contents constitute a work based on the Program (independent of having been +made by running the Program). Whether that is true depends on what the Program +does. + +1. You may copy and distribute verbatim copies of the Program's source code +as you receive it, in any medium, provided that you conspicuously and appropriately +publish on each copy an appropriate copyright notice and disclaimer of warranty; +keep intact all the notices that refer to this License and to the absence +of any warranty; and give any other recipients of the Program a copy of this +License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you +may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, +thus forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all +of these conditions: + +a) You must cause the modified files to carry prominent notices stating that +you changed the files and the date of any change. + +b) You must cause any work that you distribute or publish, that in whole or +in part contains or is derived from the Program or any part thereof, to be +licensed as a whole at no charge to all third parties under the terms of this +License. + +c) If the modified program normally reads commands interactively when run, +you must cause it, when started running for such interactive use in the most +ordinary way, to print or display an announcement including an appropriate +copyright notice and a notice that there is no warranty (or else, saying that +you provide a warranty) and that users may redistribute the program under +these conditions, and telling the user how to view a copy of this License. +(Exception: if the Program itself is interactive but does not normally print +such an announcement, your work based on the Program is not required to print +an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, +and its terms, do not apply to those sections when you distribute them as +separate works. But when you distribute the same sections as part of a whole +which is a work based on the Program, the distribution of the whole must be +on the terms of this License, whose permissions for other licensees extend +to the entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise +the right to control the distribution of derivative or collective works based +on the Program. + +In addition, mere aggregation of another work not based on the Program with +the Program (or with a work based on the Program) on a volume of a storage +or distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under Section +2) in object code or executable form under the terms of Sections 1 and 2 above +provided that you also do one of the following: + +a) Accompany it with the complete corresponding machine-readable source code, +which must be distributed under the terms of Sections 1 and 2 above on a medium +customarily used for software interchange; or, + +b) Accompany it with a written offer, valid for at least three years, to give +any third party, for a charge no more than your cost of physically performing +source distribution, a complete machine-readable copy of the corresponding +source code, to be distributed under the terms of Sections 1 and 2 above on +a medium customarily used for software interchange; or, + +c) Accompany it with the information you received as to the offer to distribute +corresponding source code. (This alternative is allowed only for noncommercial +distribution and only if you received the program in object code or executable +form with such an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code distributed +need not include anything that is normally distributed (in either source or +binary form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component itself +accompanies the executable. + +If distribution of executable or object code is made by offering access to +copy from a designated place, then offering equivalent access to copy the +source code from the same place counts as distribution of the source code, +even though third parties are not compelled to copy the source along with +the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except +as expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses terminated +so long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed +it. However, nothing else grants you permission to modify or distribute the +Program or its derivative works. These actions are prohibited by law if you +do not accept this License. Therefore, by modifying or distributing the Program +(or any work based on the Program), you indicate your acceptance of this License +to do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor +to copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of +the rights granted herein. You are not responsible for enforcing compliance +by third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent infringement +or for any other reason (not limited to patent issues), conditions are imposed +on you (whether by court order, agreement or otherwise) that contradict the +conditions of this License, they do not excuse you from the conditions of +this License. If you cannot distribute so as to satisfy simultaneously your +obligations under this License and any other pertinent obligations, then as +a consequence you may not distribute the Program at all. For example, if a +patent license would not permit royalty-free redistribution of the Program +by all those who receive copies directly or indirectly through you, then the +only way you could satisfy both it and this License would be to refrain entirely +from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents +or other property right claims or to contest validity of any such claims; +this section has the sole purpose of protecting the integrity of the free +software distribution system, which is implemented by public license practices. +Many people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose +that choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original copyright +holder who places the Program under this License may add an explicit geographical +distribution limitation excluding those countries, so that distribution is +permitted only in or among countries not thus excluded. In such case, this +License incorporates the limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new versions of +the General Public License from time to time. Such new versions will be similar +in spirit to the present version, but may differ in detail to address new +problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies +a version number of this License which applies to it and "any later version", +you have the option of following the terms and conditions either of that version +or of any later version published by the Free Software Foundation. If the +Program does not specify a version number of this License, you may choose +any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing and reuse +of software generally. + + NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM +"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE +OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE +OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA +OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES +OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH +HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + + +Copyright (C) + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free Software +Foundation; either version 2 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with +this program; if not, write to the Free Software Foundation, Inc., 51 Franklin +Street, Fifth Floor, Boston, MA 02110-1301, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when +it starts in an interactive mode: + +Gnomovision version 69, Copyright (C) year name of author Gnomovision comes +with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, +and you are welcome to redistribute it under certain conditions; type `show +c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than `show w' and `show c'; they could even be mouse-clicks +or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' +(which makes passes at compilers) written by James Hacker. + +, 1 April 1989 Ty Coon, President of Vice This General +Public License does not permit incorporating your program into proprietary +programs. If your program is a subroutine library, you may consider it more +useful to permit linking proprietary applications with the library. If this +is what you want to do, use the GNU Lesser General Public License instead +of this License. diff --git a/LICENSES/GPL-3.0-only.txt b/LICENSES/GPL-3.0-only.txt new file mode 100644 index 0000000..e142a52 --- /dev/null +++ b/LICENSES/GPL-3.0-only.txt @@ -0,0 +1,625 @@ +GNU GENERAL PUBLIC LICENSE + +Version 3, 29 June 2007 + +Copyright © 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/LICENSES/LGPL-2.0-or-later.txt b/LICENSES/LGPL-2.0-or-later.txt new file mode 100644 index 0000000..5c96471 --- /dev/null +++ b/LICENSES/LGPL-2.0-or-later.txt @@ -0,0 +1,446 @@ +GNU LIBRARY GENERAL PUBLIC LICENSE + +Version 2, June 1991 Copyright (C) 1991 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. + +[This is the first released version of the library GPL. It is numbered 2 because +it goes with version 2 of the ordinary GPL.] + +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 Library General Public License, applies to some specially +designated Free Software Foundation software, and to any other libraries whose +authors decide to use it. You can use it for your libraries, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for this service if you +wish), that you receive source code or can get it if you want it, that you +can change the software or use pieces of it in new free programs; and that +you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to +deny you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of +the 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 +a program 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. + +Our method of protecting your rights has two steps: (1) copyright the library, +and (2) offer you this license which gives you legal permission to copy, distribute +and/or modify the library. + +Also, for each distributor's protection, we want to make certain that everyone +understands that there is no warranty for this free library. If the library +is modified by someone else and passed on, we want its recipients to know +that what they have is not the original version, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that companies distributing free software will individually +obtain patent licenses, thus in effect transforming the program into proprietary +software. To prevent this, we have made it clear that any patent must be licensed +for everyone's free use or not licensed at all. + +Most GNU software, including some libraries, is covered by the ordinary GNU +General Public License, which was designed for utility programs. This license, +the GNU Library General Public License, applies to certain designated libraries. +This license is quite different from the ordinary one; be sure to read it +in full, and don't assume that anything in it is the same as in the ordinary +license. + +The reason we have a separate public license for some libraries is that they +blur the distinction we usually make between modifying or adding to a program +and simply using it. Linking a program with a library, without changing the +library, is in some sense simply using the library, and is analogous to running +a utility program or application program. However, in a textual and legal +sense, the linked executable is a combined work, a derivative of the original +library, and the ordinary General Public License treats it as such. + +Because of this blurred distinction, using the ordinary General Public License +for libraries did not effectively promote software sharing, because most developers +did not use the libraries. We concluded that weaker conditions might promote +sharing better. + +However, unrestricted linking of non-free programs would deprive the users +of those programs of all benefit from the free status of the libraries themselves. +This Library General Public License is intended to permit developers of non-free +programs to use free libraries, while preserving your freedom as a user of +such programs to change the free libraries that are incorporated in them. +(We have not seen how to achieve this as regards changes in header files, +but we have achieved it as regards changes in the actual functions of the +Library.) The hope is that this will lead to faster development of free libraries. + +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, while the latter only works together with the library. + +Note that it is possible for a library to be covered by the ordinary General +Public License rather than by this special one. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License Agreement applies to any software library which contains a +notice placed by the copyright holder or other authorized party saying it +may be distributed under the terms of this Library 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 compile 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) 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. + +c) 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. + +d) 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 source code distributed need +not include anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the operating +system on which the executable runs, unless that component itself accompanies +the executable. + +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 to 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 Library 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. + +one line to give the library's name and an idea of what it does. + +Copyright (C) year name of author + +This library 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 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 Library General Public License for more +details. + +You should have received a copy of the GNU Library General Public License +along with this library; if not, write to the Free Software Foundation, Inc., +51 Franklin St, 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. + +signature of Ty Coon, 1 April 1990 + +Ty Coon, President of Vice + +That's all there is to it! diff --git a/LICENSES/LGPL-2.1-only.txt b/LICENSES/LGPL-2.1-only.txt new file mode 100644 index 0000000..130dffb --- /dev/null +++ b/LICENSES/LGPL-2.1-only.txt @@ -0,0 +1,467 @@ +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. + +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. + +< one line to give the library's name and an idea of what it does. > + +Copyright (C) < year > < name of author > + +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. + +< signature of Ty Coon > , 1 April 1990 + +Ty Coon, President of Vice + +That's all there is to it! diff --git a/LICENSES/LGPL-3.0-only.txt b/LICENSES/LGPL-3.0-only.txt new file mode 100644 index 0000000..bd405af --- /dev/null +++ b/LICENSES/LGPL-3.0-only.txt @@ -0,0 +1,163 @@ +GNU LESSER 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. + +This version of the GNU Lesser General Public License incorporates the terms +and conditions of version 3 of the GNU General Public License, supplemented +by the additional permissions listed below. + + 0. Additional Definitions. + + + +As used herein, "this License" refers to version 3 of the GNU Lesser General +Public License, and the "GNU GPL" refers to version 3 of the GNU General Public +License. + + + +"The Library" refers to a covered work governed by this License, other than +an Application or a Combined Work as defined below. + + + +An "Application" is any work that makes use of an interface provided by the +Library, but which is not otherwise based on the Library. Defining a subclass +of a class defined by the Library is deemed a mode of using an interface provided +by the Library. + + + +A "Combined Work" is a work produced by combining or linking an Application +with the Library. The particular version of the Library with which the Combined +Work was made is also called the "Linked Version". + + + +The "Minimal Corresponding Source" for a Combined Work means the Corresponding +Source for the Combined Work, excluding any source code for portions of the +Combined Work that, considered in isolation, are based on the Application, +and not on the Linked Version. + + + +The "Corresponding Application Code" for a Combined Work means the object +code and/or source code for the Application, including any data and utility +programs needed for reproducing the Combined Work from the Application, but +excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + +You may convey a covered work under sections 3 and 4 of this License without +being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + +If you modify a copy of the Library, and, in your modifications, a facility +refers to a function or data to be supplied by an Application that uses the +facility (other than as an argument passed when the facility is invoked), +then you may convey a copy of the modified version: + +a) under this License, provided that you make a good faith effort to ensure +that, in the event an Application does not supply the function or data, the +facility still operates, and performs whatever part of its purpose remains +meaningful, or + +b) under the GNU GPL, with none of the additional permissions of this License +applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + +The object code form of an Application may incorporate material from a header +file that is part of the Library. You may convey such object code under terms +of your choice, provided that, if the incorporated material is not limited +to numerical parameters, data structure layouts and accessors, or small macros, +inline functions and templates (ten or fewer lines in length), you do both +of the following: + +a) Give prominent notice with each copy of the object code that the Library +is used in it and that the Library and its use are covered by this License. + +b) Accompany the object code with a copy of the GNU GPL and this license document. + + 4. Combined Works. + +You may convey a Combined Work under terms of your choice that, taken together, +effectively do not restrict modification of the portions of the Library contained +in the Combined Work and reverse engineering for debugging such modifications, +if you also do each of the following: + +a) Give prominent notice with each copy of the Combined Work that the Library +is used in it and that the Library and its use are covered by this License. + +b) Accompany the Combined Work with a copy of the GNU GPL and this license +document. + +c) For a Combined Work that displays copyright notices during execution, include +the copyright notice for the Library among these notices, as well as a reference +directing the user to the copies of the GNU GPL and this license document. + + d) Do one of the following: + +0) Convey the Minimal Corresponding Source under the terms of this License, +and the Corresponding Application Code in a form suitable for, and under terms +that permit, the user to recombine or relink the Application with a modified +version of the Linked Version to produce a modified Combined Work, in the +manner specified by section 6 of the GNU GPL for conveying Corresponding Source. + +1) Use a suitable shared library mechanism for linking with the Library. A +suitable mechanism is one that (a) uses at run time a copy of the Library +already present on the user's computer system, and (b) will operate properly +with a modified version of the Library that is interface-compatible with the +Linked Version. + +e) Provide Installation Information, but only if you would otherwise be required +to provide such information under section 6 of the GNU GPL, and only to the +extent that such information is necessary to install and execute a modified +version of the Combined Work produced by recombining or relinking the Application +with a modified version of the Linked Version. (If you use option 4d0, the +Installation Information must accompany the Minimal Corresponding Source and +Corresponding Application Code. If you use option 4d1, you must provide the +Installation Information in the manner specified by section 6 of the GNU GPL +for conveying Corresponding Source.) + + 5. Combined Libraries. + +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 that are +not Applications and are not covered by this License, and convey such a combined +library under terms of your choice, if you do both of the following: + +a) Accompany the combined library with a copy of the same work based on the +Library, uncombined with any other library facilities, conveyed under the +terms of this License. + +b) Give prominent notice with the combined library that part of it is a work +based on the Library, and explaining where to find the accompanying uncombined +form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + +The Free Software Foundation may publish revised and/or new versions of the +GNU 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 as you +received it specifies that a certain numbered version of the GNU Lesser General +Public License "or any later version" applies to it, you have the option of +following the terms and conditions either of that published version or of +any later version published by the Free Software Foundation. If the Library +as you received it does not specify a version number of the GNU Lesser General +Public License, you may choose any version of the GNU Lesser General Public +License ever published by the Free Software Foundation. + +If the Library as you received it specifies that a proxy can decide whether +future versions of the GNU Lesser General Public License shall apply, that +proxy's public statement of acceptance of any version is permanent authorization +for you to choose that version for the Library. diff --git a/LICENSES/LicenseRef-KDE-Accepted-GPL.txt b/LICENSES/LicenseRef-KDE-Accepted-GPL.txt new file mode 100644 index 0000000..60a2dff --- /dev/null +++ b/LICENSES/LicenseRef-KDE-Accepted-GPL.txt @@ -0,0 +1,12 @@ +This library 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) at any later version that is +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 as 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. diff --git a/LICENSES/LicenseRef-KDE-Accepted-LGPL.txt b/LICENSES/LicenseRef-KDE-Accepted-LGPL.txt new file mode 100644 index 0000000..232b3c5 --- /dev/null +++ b/LICENSES/LicenseRef-KDE-Accepted-LGPL.txt @@ -0,0 +1,12 @@ +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 3 of the license or (at your option) any later version +that is 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 as defined in Section 6 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. diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt new file mode 100644 index 0000000..204b93d --- /dev/null +++ b/LICENSES/MIT.txt @@ -0,0 +1,19 @@ +MIT License Copyright (c) + +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 (including the next +paragraph) 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. diff --git a/Messages.sh b/Messages.sh new file mode 100644 index 0000000..291cc99 --- /dev/null +++ b/Messages.sh @@ -0,0 +1,6 @@ +#! /usr/bin/env bash + +$EXTRACTRC --context="Category" --tag-group=none --tag=Name `find libdiscover -name "*-categories.xml"` >> rc.cpp +$XGETTEXT rc.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 diff --git a/cmake/FindGLib.cmake b/cmake/FindGLib.cmake new file mode 100644 index 0000000..17c0b06 --- /dev/null +++ b/cmake/FindGLib.cmake @@ -0,0 +1,63 @@ +# FindGLib.cmake +# +# +# CMake support for GLib/GObject/GIO. +# +# SPDX-FileCopyrightText: 2016 Evan Nemerson +# +# SPDX-License-Identifier: MIT + +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..3eed7f9 --- /dev/null +++ b/cmake/FindGObject.cmake @@ -0,0 +1,61 @@ +# FindGObject.cmake +# +# +# CMake support for GObject. +# +# SPDX-FileCopyrightText: 2016 Evan Nemerson +# +# SPDX-License-Identifier: MIT + +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..8552a91 --- /dev/null +++ b/cmake/FindPackageKitQt2.cmake @@ -0,0 +1,35 @@ +# - 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 +# +# SPDX-FileCopyrightText: 2010 Mehrdad Momeny +# SPDX-FileCopyrightText: 2010 Harald Sitter +# SPDX-FileCopyrightText: 2013 Lukas Appelhans +# +# SPDX-License-Identifier: BSD-3-Clause + +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..14044df --- /dev/null +++ b/cmake/FindQtOAuth.cmake @@ -0,0 +1,36 @@ +# - 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 +# +# SPDX-FileCopyrightText: 2010 Mehrdad Momeny +# SPDX-FileCopyrightText: 2010 Harald Sitter +# +# SPDX-License-Identifier: BSD-3-Clause + +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..99d5019 --- /dev/null +++ b/discover.categories @@ -0,0 +1,3 @@ +org.kde.plasma.libdiscover libdiscover IDENTIFIER [LIBDISCOVER_LOG] +org.kde.plasma.discover discover IDENTIFIER [DISCOVER_LOG] +org.kde.plasma.libdiscover.backend libdiscover backend IDENTIFIER [LIBDISCOVER_BACKEND_LOG] diff --git a/discover/CMakeLists.txt b/discover/CMakeLists.txt new file mode 100644 index 0000000..805a430 --- /dev/null +++ b/discover/CMakeLists.txt @@ -0,0 +1,95 @@ +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) +kconfig_add_kcfg_files(plasma_discover_SRCS discoversettings.kcfgc GENERATE_MOC) + +if (TARGET KUserFeedbackCore) + kconfig_add_kcfg_files(plasma_discover_SRCS plasmauserfeedback.kcfgc GENERATE_MOC) +endif() + +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 + KF5::QuickAddons + Qt5::Quick + Discover::Common +) + +if (TARGET KUserFeedbackCore) + target_link_libraries(plasma-discover PRIVATE KUserFeedbackCore) + target_compile_definitions(plasma-discover PRIVATE WITH_FEEDBACK=1) +endif() + +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() +if(Flatpak_FOUND) + set(DesktopMimeType "${DesktopMimeType}application/vnd.flatpak;application/vnd.flatpak.repo;application/vnd.flatpak.ref;") +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..a153454 --- /dev/null +++ b/discover/DiscoverDeclarativePlugin.cpp @@ -0,0 +1,78 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#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 +#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("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")); + qmlRegisterUncreatableType("org.kde.discover", 2, 0, "AbstractBackendUpdater", QStringLiteral("should come from the backends")); +#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) + qmlRegisterType(); + qmlRegisterType(); + qmlRegisterType(); + qmlRegisterType(); + qmlRegisterType(); + qmlRegisterType(); +#else + qmlRegisterAnonymousType("org.kde.discover", 1); + qmlRegisterAnonymousType("org.kde.discover", 1); + qmlRegisterAnonymousType("org.kde.discover", 1); + qmlRegisterAnonymousType("org.kde.discover", 1); + qmlRegisterAnonymousType("org.kde.discover", 1); + qmlRegisterAnonymousType("org.kde.discover", 1); +#endif + qmlProtectModule("org.kde.discover", 2); + qRegisterMetaType>(); +} diff --git a/discover/DiscoverDeclarativePlugin.h b/discover/DiscoverDeclarativePlugin.h new file mode 100644 index 0000000..c454687 --- /dev/null +++ b/discover/DiscoverDeclarativePlugin.h @@ -0,0 +1,21 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#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..5755b2e --- /dev/null +++ b/discover/DiscoverObject.cpp @@ -0,0 +1,527 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#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 +#include +#include +#include + +// KDE includes +#include +#include +#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 + +#ifdef WITH_FEEDBACK +#include "plasmauserfeedback.h" +#endif +#include "discoversettings.h" + +class CachedNetworkAccessManagerFactory : public QQmlNetworkAccessManagerFactory +{ + virtual QNetworkAccessManager * create(QObject *parent) override { + return new CachedNetworkAccessManager(QStringLiteral("images"), parent); + } +}; + +class OurSortFilterProxyModel : public QSortFilterProxyModel, public QQmlParserStatus +{ + Q_OBJECT + Q_INTERFACES(QQmlParserStatus) +public: + void classBegin() override {} + void componentComplete() override { + if (dynamicSortFilter()) + sort(0); + } +}; + +DiscoverObject::DiscoverObject(CompactMode mode, const QVariantMap &initialProperties) + : 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(m_networkAccessManagerFactory.data()); + + 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"); +#ifdef WITH_FEEDBACK + qmlRegisterSingletonType("org.kde.discover.app", 1, 0, "UserFeedbackSettings", [](QQmlEngine*, QJSEngine*) -> QObject* { return new PlasmaUserFeedback(KSharedConfig::openConfig(QStringLiteral("PlasmaUserFeedback"), KConfig::NoGlobals)); }); +#endif + qmlRegisterSingletonType("org.kde.discover.app", 1, 0, "DiscoverSettings", [](QQmlEngine*, QJSEngine*) -> QObject* { + auto r = new DiscoverSettings; + connect(r, &DiscoverSettings::installedPageSortingChanged, r, &DiscoverSettings::save); + connect(r, &DiscoverSettings::appsListPageSortingChanged, r, &DiscoverSettings::save); + return r; + }); +#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) + qmlRegisterType(); + qmlRegisterType(); + qmlRegisterType(); + + qmlRegisterType(); + qmlRegisterType(); + qmlRegisterType(); +#else + qmlRegisterAnonymousType("org.kde.discover.app", 1); + qmlRegisterAnonymousType("org.kde.discover.app", 1); + qmlRegisterAnonymousType("org.kde.discover.app", 1); + + qmlRegisterAnonymousType("org.kde.discover.app", 1); + qmlRegisterAnonymousType("org.kde.discover.app", 1); + qmlRegisterAnonymousType("org.kde.discover.app", 1); +#endif + + 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); + +#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) + m_engine->setInitialProperties(initialProperties); +#endif + m_engine->rootContext()->setContextProperty(QStringLiteral("app"), this); + m_engine->rootContext()->setContextProperty(QStringLiteral("discoverAboutData"), QVariant::fromValue(KAboutData::applicationData())); + + 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; + }); + auto action = new OneTimeAction( + [this]() { + bool found = DiscoverBackendsFactory::hasRequestedBackends(); + const auto backends = ResourcesModel::global()->backends(); + for (auto b : backends) + found |= b->hasApplications(); + + if (!found) + Q_EMIT openErrorPage(i18n("No application back-ends found, please report to your distribution.")); + } + , this); + + if (ResourcesModel::global()->backends().isEmpty()) { + connect(ResourcesModel::global(), &ResourcesModel::allInitialized, action, &OneTimeAction::trigger); + } else { + action->trigger(); + } +} + +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::showLoadingPage() +{ + QObject* obj = rootObject(); + if (!obj) { + qCWarning(DISCOVER_LOG) << "could not get the main object"; + return; + } + + obj->setProperty("currentTopLevel", QStringLiteral("qrc:/qml/LoadingPage.qml")); +} + +void DiscoverObject::openCategory(const QString& category) +{ + showLoadingPage(); + auto action = new OneTimeAction( + [this, category]() { + Category* cat = CategoryModel::global()->findCategoryByName(category); + if (cat) { + emit listCategoryInternal(cat); + } else { + openMode(QStringLiteral("Browsing")); + showPassiveNotification(i18n("Could not find category '%1'", category)); + } + } + , this); + + if (CategoryModel::global()->rootCategories().isEmpty()) { + connect(CategoryModel::global(), &CategoryModel::rootCategoriesChanged, 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; + } + showLoadingPage(); + auto action = new OneTimeAction( + [this, localfile]() { + AbstractResourcesBackend::Filters f; + f.resourceUrl = localfile; + auto stream = new StoredResultsStream({ResourcesModel::global()->search(f)}); + connect(stream, &StoredResultsStream::finishedResources, this, [this, localfile](const QVector &res) { + if (res.count() == 1) { + emit openApplicationInternal(res.first()); + } 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(QStringLiteral("appstream://org.kde.discover.flatpak"))); + showPassiveNotification(i18n("Cannot interact with flatpak resources without the flatpak backend %1. Please install it first.", localfile.toDisplayString())); + } else { + openMode(QStringLiteral("Browsing")); + 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()); + showLoadingPage(); + auto action = new OneTimeAction( + [this, url]() { + AbstractResourcesBackend::Filters f; + f.resourceUrl = url; + auto stream = new StoredResultsStream({ResourcesModel::global()->search(f)}); + connect(stream, &StoredResultsStream::finishedResources, this, [this, url](const QVector &res) { + if (res.count() >= 1) { + emit openApplicationInternal(res.first()); + } else { + 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)); + } + connect(rootObject(), &QQuickView::sceneGraphError, this, [] (QQuickWindow::SceneGraphError /*error*/, const QString &message) { +#if KCrash_VERSION >= QT_VERSION_CHECK(5, 69, 0) + KCrash::setErrorMessage(message); +#endif + qFatal("%s", qPrintable(message)); + }); + + 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 successfully 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); +} + +QQuickWindow* DiscoverObject::rootObject() const +{ + return qobject_cast(m_engine->rootObjects().at(0)); +} + +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::reboot() +{ + QDBusConnection::sessionBus().asyncCall( + QDBusMessage::createMethodCall(QStringLiteral("org.kde.LogoutPrompt"), + QStringLiteral("/LogoutPrompt"), + QStringLiteral("org.kde.LogoutPrompt"), + QStringLiteral("promptReboot")) + ); +} + +QRect DiscoverObject::initialGeometry() const +{ + KConfigGroup window(KSharedConfig::openConfig(), "Window"); + return window.readEntry("geometry", QRect()); +} + +QString DiscoverObject::describeSources() const +{ + return rootObject()->property("describeSources").toString(); +} + +#include "DiscoverObject.moc" diff --git a/discover/DiscoverObject.h b/discover/DiscoverObject.h new file mode 100644 index 0000000..e720344 --- /dev/null +++ b/discover/DiscoverObject.h @@ -0,0 +1,91 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#ifndef DISCOVEROBJECT_H +#define DISCOVEROBJECT_H + +#include + +#include + +class AbstractResource; +class Category; +class QWindow; +class QQmlApplicationEngine; +class CachedNetworkAccessManagerFactory; + +class DiscoverObject : public QObject +{ + Q_OBJECT + Q_PROPERTY(CompactMode compactMode READ compactMode WRITE setCompactMode NOTIFY compactModeChanged) + Q_PROPERTY(bool isRoot READ isRoot CONSTANT) + Q_PROPERTY(QRect initialGeometry READ initialGeometry CONSTANT) + + public: + enum CompactMode { Auto, Compact, Full }; + Q_ENUM(CompactMode) + + explicit DiscoverObject(CompactMode mode, const QVariantMap &initialProperties); + ~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(); + QQuickWindow* rootObject() const; + void showPassiveNotification(const QString &msg); + QRect initialGeometry() const; + + QString describeSources() const; + + 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 reboot(); + + 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 showLoadingPage(); + void integrateObject(QObject* object); + QQmlApplicationEngine* engine() const { return m_engine; } + + QMap m_collection; + QQmlApplicationEngine * const m_engine; + + CompactMode m_mode; + QScopedPointer m_networkAccessManagerFactory; +}; + +#endif // DISCOVEROBJECT_H diff --git a/discover/FeaturedModel.cpp b/discover/FeaturedModel.cpp new file mode 100644 index 0000000..1393e20 --- /dev/null +++ b/discover/FeaturedModel.cpp @@ -0,0 +1,192 @@ +/* + * SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "FeaturedModel.h" + +#include "discover_debug.h" +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +Q_GLOBAL_STATIC(QString, featuredCache) + +FeaturedModel::FeaturedModel() +{ + connect(ResourcesModel::global(), &ResourcesModel::currentApplicationBackendChanged, this, &FeaturedModel::refreshCurrentApplicationBackend); + + const QString dir = QStandardPaths::writableLocation(QStandardPaths::CacheLocation); + QDir().mkpath(dir); + + const bool isMobile = QByteArrayList{"1", "true"}.contains(qgetenv("QT_QUICK_CONTROLS_MOBILE")); + auto fileName = isMobile ? QLatin1String("/featured-mobile-5.9.json") : QLatin1String("/featured-5.9.json"); + *featuredCache = dir + fileName; + const QUrl featuredUrl(QStringLiteral("https://autoconfig.kde.org/discover") + fileName); + auto *fetchJob = KIO::storedGet(featuredUrl, KIO::NoReload, KIO::HideProgressInfo); + acquireFetching(true); + connect(fetchJob, &KIO::StoredTransferJob::result, this, [this, fetchJob]() { + const auto dest = qScopeGuard([this] { + acquireFetching(false); + refresh(); + }); + if (fetchJob->error() != 0) + return; + + QFile f(*featuredCache); + if (!f.open(QIODevice::WriteOnly)) + qCWarning(DISCOVER_LOG) << "could not open" << *featuredCache << f.errorString(); + f.write(fetchJob->data()); + f.close(); + }); + + refreshCurrentApplicationBackend(); +} + +void FeaturedModel::refreshCurrentApplicationBackend() +{ + auto backend = ResourcesModel::global()->currentApplicationBackend(); + if (m_backend == backend) + return; + + if (m_backend) { + disconnect(m_backend, &AbstractResourcesBackend::fetchingChanged, this, &FeaturedModel::refresh); + disconnect(m_backend, &AbstractResourcesBackend::resourceRemoved, this, &FeaturedModel::removeResource); + } + + m_backend = backend; + + if (backend) { + connect(backend, &AbstractResourcesBackend::fetchingChanged, this, &FeaturedModel::refresh); + connect(backend, &AbstractResourcesBackend::resourceRemoved, this, &FeaturedModel::removeResource); + } + + if (backend && QFile::exists(*featuredCache)) + refresh(); +} + +void FeaturedModel::refresh() +{ + //usually only useful if launching just fwupd or kns backends + if (!m_backend) + return; + + acquireFetching(true); + const auto dest = qScopeGuard([this] { acquireFetching(false); }); + 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) +{ + if (!m_backend) + return; + + QSet streams; + foreach(const auto &uri, uris) { + AbstractResourcesBackend::Filters filter; + filter.resourceUrl = uri; + streams << m_backend->search(filter); + } + if (!streams.isEmpty()) { + auto stream = new StoredResultsStream(streams); + acquireFetching(true); + connect(stream, &StoredResultsStream::finishedResources, this, &FeaturedModel::setResources); + } +} + +static void filterDupes(QVector &resources) +{ + QSet found; + for(auto it = resources.begin(); it!=resources.end(); ) { + auto id = (*it)->appstreamId(); + if (found.contains(id)) { + it = resources.erase(it); + } else { + found.insert(id); + ++it; + } + } +} + +void FeaturedModel::acquireFetching(bool f) +{ + if (f) + m_isFetching++; + else + m_isFetching--; + + if ((!f && m_isFetching==0) || (f && m_isFetching==1)) { + emit isFetchingChanged(); + } + Q_ASSERT(m_isFetching>=0); +} + +void FeaturedModel::setResources(const QVector& _resources) +{ + auto resources = _resources; + filterDupes(resources); + + if (m_resources != resources) { + //TODO: sort like in the json files + beginResetModel(); + m_resources = resources; + endResetModel(); + } + + acquireFetching(false); +} + +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..6cce040 --- /dev/null +++ b/discover/FeaturedModel.h @@ -0,0 +1,48 @@ +/* + * SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef FEATUREDMODEL_H +#define FEATUREDMODEL_H + +#include +#include + +namespace KIO { class StoredTransferJob; } +class AbstractResource; +class AbstractResourcesBackend; + +class FeaturedModel : public QAbstractListModel +{ + Q_OBJECT + Q_PROPERTY(bool isFetching READ isFetching NOTIFY isFetchingChanged) + 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; + + bool isFetching() const { return m_isFetching != 0; } + + Q_SIGNALS: + void isFetchingChanged(); + + private: + void refreshCurrentApplicationBackend(); + void setUris(const QVector &uris); + void refresh(); + void removeResource(AbstractResource* resource); + + void acquireFetching(bool f); + + QVector m_resources; + int m_isFetching = 0; + AbstractResourcesBackend* m_backend = nullptr; +}; + +#endif // FEATUREDMODEL_H diff --git a/discover/PaginateModel.cpp b/discover/PaginateModel.cpp new file mode 100644 index 0000000..98fbf9f --- /dev/null +++ b/discover/PaginateModel.cpp @@ -0,0 +1,387 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#include "PaginateModel.h" +#include +#include "discover_debug.h" + +class PaginateModel::PaginateModelPrivate +{ +public: + int m_firstItem = 0; + int m_pageSize = 0; + QAbstractItemModel* m_sourceModel = nullptr; + bool m_hasStaticRowCount = false; +}; + +PaginateModel::PaginateModel(QObject* object) + : QAbstractListModel(object) + , d(new PaginateModelPrivate) +{ +} + +PaginateModel::~PaginateModel() = default; + +int PaginateModel::firstItem() const +{ + return d->m_firstItem; +} + +void PaginateModel::setFirstItem(int row) +{ + Q_ASSERT(row >= 0 && row < d->m_sourceModel->rowCount()); + if (row != d->m_firstItem) { + beginResetModel(); + d->m_firstItem = row; + endResetModel(); + emit firstItemChanged(); + } +} + +int PaginateModel::pageSize() const +{ + return d->m_pageSize; +} + +void PaginateModel::setPageSize(int count) +{ + if (count != d->m_pageSize) { + const int oldSize = rowsByPageSize(d->m_pageSize); + const int newSize = rowsByPageSize(count); + const int difference = newSize - oldSize; + if (difference==0) { + d->m_pageSize = count; + } else if (difference>0) { + beginInsertRows(QModelIndex(), d->m_pageSize, d->m_pageSize + difference - 1); + d->m_pageSize = count; + endInsertRows(); + } else { + beginRemoveRows(QModelIndex(), d->m_pageSize + difference, d->m_pageSize - 1); + d->m_pageSize = count; + endRemoveRows(); + } + emit pageSizeChanged(); + } +} + +QAbstractItemModel* PaginateModel::sourceModel() const +{ + return d->m_sourceModel; +} + +void PaginateModel::setSourceModel(QAbstractItemModel* model) +{ + if (d->m_sourceModel) { + disconnect(d->m_sourceModel, nullptr, this, nullptr); + } + + if (model != d->m_sourceModel) { + beginResetModel(); + d->m_sourceModel = model; + if (model) { + connect(d->m_sourceModel, &QAbstractItemModel::rowsAboutToBeInserted, this, &PaginateModel::_k_sourceRowsAboutToBeInserted); + connect(d->m_sourceModel, &QAbstractItemModel::rowsInserted, this, &PaginateModel::_k_sourceRowsInserted); + connect(d->m_sourceModel, &QAbstractItemModel::rowsAboutToBeRemoved, this, &PaginateModel::_k_sourceRowsAboutToBeRemoved); + connect(d->m_sourceModel, &QAbstractItemModel::rowsRemoved, this, &PaginateModel::_k_sourceRowsRemoved); + connect(d->m_sourceModel, &QAbstractItemModel::rowsAboutToBeMoved, this, &PaginateModel::_k_sourceRowsAboutToBeMoved); + connect(d->m_sourceModel, &QAbstractItemModel::rowsMoved, this, &PaginateModel::_k_sourceRowsMoved); + + connect(d->m_sourceModel, &QAbstractItemModel::columnsAboutToBeInserted, this, &PaginateModel::_k_sourceColumnsAboutToBeInserted); + connect(d->m_sourceModel, &QAbstractItemModel::columnsInserted, this, &PaginateModel::_k_sourceColumnsInserted); + connect(d->m_sourceModel, &QAbstractItemModel::columnsAboutToBeRemoved, this, &PaginateModel::_k_sourceColumnsAboutToBeRemoved); + connect(d->m_sourceModel, &QAbstractItemModel::columnsRemoved, this, &PaginateModel::_k_sourceColumnsRemoved); + connect(d->m_sourceModel, &QAbstractItemModel::columnsAboutToBeMoved, this, &PaginateModel::_k_sourceColumnsAboutToBeMoved); + connect(d->m_sourceModel, &QAbstractItemModel::columnsMoved, this, &PaginateModel::_k_sourceColumnsMoved); + + connect(d->m_sourceModel, &QAbstractItemModel::dataChanged, this, &PaginateModel::_k_sourceDataChanged); + connect(d->m_sourceModel, &QAbstractItemModel::headerDataChanged, this, &PaginateModel::_k_sourceHeaderDataChanged); + + connect(d->m_sourceModel, &QAbstractItemModel::modelAboutToBeReset, this, &PaginateModel::_k_sourceModelAboutToBeReset); + connect(d->m_sourceModel, &QAbstractItemModel::modelReset, this, &PaginateModel::_k_sourceModelReset); + + connect(d->m_sourceModel, &QAbstractItemModel::rowsInserted, this, &PaginateModel::pageCountChanged); + connect(d->m_sourceModel, &QAbstractItemModel::rowsRemoved, this, &PaginateModel::pageCountChanged); + connect(d->m_sourceModel, &QAbstractItemModel::modelReset, this, &PaginateModel::pageCountChanged); + } + endResetModel(); + emit sourceModelChanged(); + } +} + +QHash< int, QByteArray > PaginateModel::roleNames() const +{ + return d->m_sourceModel ? d->m_sourceModel->roleNames() : QAbstractItemModel::roleNames(); +} + +int PaginateModel::rowsByPageSize(int size) const +{ + return d->m_hasStaticRowCount ? size + : !d->m_sourceModel ? 0 + : qMin(d->m_sourceModel->rowCount() - d->m_firstItem, size); +} + +int PaginateModel::rowCount(const QModelIndex& parent) const +{ + return parent.isValid() ? 0 : rowsByPageSize(d->m_pageSize); +} + +QModelIndex PaginateModel::mapToSource(const QModelIndex& idx) const +{ + if (!d->m_sourceModel) + return QModelIndex(); + return d->m_sourceModel->index(idx.row() + d->m_firstItem, idx.column()); +} + +QModelIndex PaginateModel::mapFromSource(const QModelIndex& idx) const +{ + Q_ASSERT(idx.model() == d->m_sourceModel); + if (!d->m_sourceModel) + return QModelIndex(); + return index(idx.row() - d->m_firstItem, idx.column()); +} + +QVariant PaginateModel::data(const QModelIndex& index, int role) const +{ + if (!d->m_sourceModel) + return QVariant(); + QModelIndex idx = mapToSource(index); + return idx.data(role); +} + +void PaginateModel::firstPage() +{ + setFirstItem(0); +} + +void PaginateModel::lastPage() +{ + setFirstItem((pageCount() - 1) * d->m_pageSize); +} + +void PaginateModel::nextPage() +{ + setFirstItem(d->m_firstItem + d->m_pageSize); +} + +void PaginateModel::previousPage() +{ + setFirstItem(d->m_firstItem - d->m_pageSize); +} + +int PaginateModel::currentPage() const +{ + return d->m_firstItem / d->m_pageSize; +} + +int PaginateModel::pageCount() const +{ + if (!d->m_sourceModel) + return 0; + const int rc = d->m_sourceModel->rowCount(); + const int r = (rc % d->m_pageSize == 0) ? 1 : 0; + return qMax(qCeil(float(rc) / d->m_pageSize) - r, 1); +} + +bool PaginateModel::hasStaticRowCount() const +{ + return d->m_hasStaticRowCount; +} + +void PaginateModel::setStaticRowCount(bool src) +{ + if (src == d->m_hasStaticRowCount) { + return; + } + + beginResetModel(); + d->m_hasStaticRowCount = src; + endResetModel(); + + Q_EMIT staticRowCountChanged(); +} + +////////////////////////////// + +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() < d->m_firstItem || topLeft.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 !d->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 - d->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 - d->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 d->m_firstItem + rowCount(); +} diff --git a/discover/PaginateModel.h b/discover/PaginateModel.h new file mode 100644 index 0000000..2d19b24 --- /dev/null +++ b/discover/PaginateModel.h @@ -0,0 +1,122 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#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 + /** Holds the number of elements that will fit in a page */ + Q_PROPERTY(int pageSize READ pageSize WRITE setPageSize NOTIFY pageSizeChanged) + + /** Tells what is the first row shown in the model */ + Q_PROPERTY(int firstItem READ firstItem WRITE setFirstItem NOTIFY firstItemChanged) + + /** The model we will be proxying */ + Q_PROPERTY(QAbstractItemModel* sourceModel READ sourceModel WRITE setSourceModel NOTIFY sourceModelChanged) + + /** Among the totality of elements, indicates the one we're currently offering */ + Q_PROPERTY(int currentPage READ currentPage NOTIFY firstItemChanged) + + /** Provides the number of pages available, given the sourceModel size */ + 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 NOTIFY staticRowCountChanged) + + 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; + + /** Display the first rows of the model */ + Q_SCRIPTABLE void firstPage(); + + /** Display the rows right after the ones that are currently being served */ + Q_SCRIPTABLE void nextPage(); + + /** Display the rows right before the ones that are currently being served */ + Q_SCRIPTABLE void previousPage(); + + /** Display the last set of rows of the source model */ + 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(); + void staticRowCountChanged(); + + private: + bool canSizeChange() const; + bool isIntervalValid(const QModelIndex& parent, int start, int end) const; + int rowsByPageSize(int size) const; + + class PaginateModelPrivate; + QScopedPointer d; +}; + +#endif diff --git a/discover/ReadFile.cpp b/discover/ReadFile.cpp new file mode 100644 index 0000000..1a27c1e --- /dev/null +++ b/discover/ReadFile.cpp @@ -0,0 +1,99 @@ +/* + * SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#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..c5e950a --- /dev/null +++ b/discover/ReadFile.h @@ -0,0 +1,55 @@ +/* + * SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#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..288ab5e --- /dev/null +++ b/discover/UnityLauncher.cpp @@ -0,0 +1,70 @@ +/* + * SPDX-FileCopyrightText: 2016 Kai Uwe Broulik + * + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + * + */ + +#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..bb7ae49 --- /dev/null +++ b/discover/UnityLauncher.h @@ -0,0 +1,42 @@ +/* + * SPDX-FileCopyrightText: 2016 Kai Uwe Broulik + * + * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + * + */ + +#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..e1b0c5d --- /dev/null +++ b/discover/assets.qrc @@ -0,0 +1,6 @@ + + + + banners/banner.svg + + diff --git a/discover/autotests/CMakeLists.txt b/discover/autotests/CMakeLists.txt new file mode 100644 index 0000000..de85c43 --- /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} TEST_NAME PaginateModelTest LINK_LIBRARIES Qt5::Test) +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..8594ec2 --- /dev/null +++ b/discover/autotests/DiscoverTest.qml @@ -0,0 +1,115 @@ +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) { + verify(obj, "can't find a null's child") + 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 + function 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](); + } + } + console.log("done") + appRoot.close() + } + } +} diff --git a/discover/autotests/PaginateModelTest.cpp b/discover/autotests/PaginateModelTest.cpp new file mode 100644 index 0000000..d30e5af --- /dev/null +++ b/discover/autotests/PaginateModelTest.cpp @@ -0,0 +1,142 @@ +/* + * SPDX-FileCopyrightText: 2015 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#include +#include "../PaginateModel.h" +#include +#include + +void insertRow(QStringListModel* model, int row, const QString& appendString) { + model->insertRow(row); + model->setData(model->index(row, 0), appendString); +} +void appendRow(QStringListModel* model, const QString& appendString) { + int count = model->rowCount(); + insertRow(model, count, appendString); +} + +class PaginateModelTest : public QObject +{ + Q_OBJECT +public: + PaginateModelTest() + : m_testModel(new QStringListModel) + { + for(int i=0; i<13; ++i) { + appendRow(m_testModel, QStringLiteral("figui%1").arg(i)); + } + } + +private Q_SLOTS: + void testPages() { + PaginateModel pm; + new QAbstractItemModelTester(&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 QAbstractItemModelTester(&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 QAbstractItemModelTester(&pm, &pm); + pm.setSourceModel(m_testModel); + pm.setPageSize(5); + QCOMPARE(pm.pageCount(), 3); + QSignalSpy spy(&pm, &QAbstractItemModel::rowsAboutToBeInserted); + insertRow(m_testModel, 3, QStringLiteral("mwahahaha")); + insertRow(m_testModel, 3, QStringLiteral("mwahahaha")); + QCOMPARE(spy.count(), 0); + appendRow(m_testModel, QStringLiteral("mwahahaha")); + + pm.lastPage(); + for (int i=0; i<7; ++i) + appendRow(m_testModel, QStringLiteral("mwahahaha%1").arg(i)); + QCOMPARE(spy.count(), 4); + pm.firstPage(); + + for (int i=0; i<7; ++i) + appendRow(m_testModel, QStringLiteral("faraway%1").arg(i)); + QCOMPARE(spy.count(), 4); + } + + void testItemAddBeginning() { + QStringListModel smallerModel; + + PaginateModel pm; + new QAbstractItemModelTester(&pm, &pm); + pm.setSourceModel(&smallerModel); + pm.setPageSize(5); + QCOMPARE(pm.pageCount(), 1); + QCOMPARE(pm.rowCount(), 0); + insertRow(&smallerModel, 0, 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 QAbstractItemModelTester(&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 QAbstractItemModelTester(&pm, &pm); + pm.setSourceModel(m_testModel); + pm.setPageSize(5); + m_testModel->moveRow({}, 0, {}, 3); + } + +private: + QStringListModel* 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..5994b47 --- /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..b259dcc --- /dev/null +++ b/discover/autotests/toplevels.qml @@ -0,0 +1,124 @@ +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.actions.main + verify(action); + action.triggered(updatePage); + compare(updatePage.state, "progressing", "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"); + app.openSearch("cocacola") + 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") + app.openSearch("dummy") + listPage = appRoot.stack.currentItem + compare(listPage.search, "dummy") +// 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..976b8ed --- /dev/null +++ b/discover/autotests/updateandinstall.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.openMode("Update"); + + {// we start an update + var updatePage = appRoot.stack.currentItem; + compare(typeName(updatePage), "UpdatesPage") + compare(updatePage.state, "has-updates", "to update") + var action = updatePage.actions.main + verify(action); + action.triggered(null); + compare(updatePage.state, "progressing", "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" || updatePage.state === "progressing") { + waitForSignal(updatePage, "stateChanged") + } + compare(updatePage.state, "now-uptodate", "to update") + } + } +} 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/discover.schema b/discover/discover.schema new file mode 100644 index 0000000..6e64f97 --- /dev/null +++ b/discover/discover.schema @@ -0,0 +1,329 @@ +{ + "aggregation": [ + { + "elements": [ + { + "schemaEntry": "", + "schemaEntryElement": "", + "type": "value" + } + ], + "name": "CPU Architecture Distribution", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "", + "schemaEntryElement": "", + "type": "value" + } + ], + "name": "CPU Count Distribution", + "type": "numeric" + }, + { + "elements": [ + { + "schemaEntry": "", + "schemaEntryElement": "", + "type": "value" + } + ], + "name": "OS Distribution", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "", + "schemaEntryElement": "", + "type": "value" + }, + { + "schemaEntry": "", + "schemaEntryElement": "", + "type": "value" + } + ], + "name": "Platform Details", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "style", + "schemaEntryElement": "style", + "type": "value" + } + ], + "name": "Widget Style Distribution", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "style", + "schemaEntryElement": "dark", + "type": "value" + } + ], + "name": "Palette Color Scheme", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "usageTime", + "schemaEntryElement": "value", + "type": "value" + } + ], + "name": "Usage Time Distribution", + "type": "numeric" + }, + { + "elements": [ + { + "schemaEntry": "screens", + "type": "size" + } + ], + "name": "Amount of Screens", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "screens", + "schemaEntryElement": "dpi", + "type": "value" + } + ], + "name": "DPI Distribution", + "type": "numeric" + }, + { + "elements": [ + { + "schemaEntry": "opengl", + "schemaEntryElement": "type", + "type": "value" + } + ], + "name": "OpenGL Stack Type", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "opengl", + "schemaEntryElement": "vendor", + "type": "value" + } + ], + "name": "OpenGL Vendor Distribution", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "opengl", + "schemaEntryElement": "renderer", + "type": "value" + } + ], + "name": "OpenGL Renderer Distribution", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "opengl", + "schemaEntryElement": "type", + "type": "value" + }, + { + "schemaEntry": "opengl", + "schemaEntryElement": "version", + "type": "value" + } + ], + "name": "OpenGL Version Distribution", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "opengl", + "schemaEntryElement": "type", + "type": "value" + }, + { + "schemaEntry": "opengl", + "schemaEntryElement": "glslVersion", + "type": "value" + } + ], + "name": "OpenGL GLSL Version Distribution", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "opengl", + "schemaEntryElement": "profile", + "type": "value" + } + ], + "name": "OpenGL Profile Distribution", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "locale", + "schemaEntryElement": "language", + "type": "value" + } + ], + "name": "Language Distribution", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "locale", + "schemaEntryElement": "region", + "type": "value" + } + ], + "name": "Region Distribution", + "type": "category" + }, + { + "elements": [ + { + "schemaEntry": "qtVersion", + "schemaEntryElement": "value", + "type": "value" + } + ], + "name": "Qt Version Distribution", + "type": "category" + } + ], + "name": "org.kde.discover", + "schema": [ + { + "elements": [ + { + "name": "style", + "type": "string" + }, + { + "name": "dark", + "type": "bool" + } + ], + "name": "style", + "type": "scalar" + }, + { + "elements": [ + { + "name": "value", + "type": "int" + } + ], + "name": "usageTime", + "type": "scalar" + }, + { + "elements": [ + { + "name": "width", + "type": "int" + }, + { + "name": "height", + "type": "int" + }, + { + "name": "dpi", + "type": "int" + } + ], + "name": "screens", + "type": "list" + }, + { + "elements": [ + { + "name": "type", + "type": "string" + }, + { + "name": "vendor", + "type": "string" + }, + { + "name": "renderer", + "type": "string" + }, + { + "name": "version", + "type": "string" + }, + { + "name": "vendorVersion", + "type": "string" + }, + { + "name": "glslVersion", + "type": "string" + }, + { + "name": "profile", + "type": "string" + } + ], + "name": "opengl", + "type": "scalar" + }, + { + "elements": [ + { + "name": "language", + "type": "string" + }, + { + "name": "region", + "type": "string" + } + ], + "name": "locale", + "type": "scalar" + }, + { + "elements": [ + { + "name": "value", + "type": "string" + } + ], + "name": "qtVersion", + "type": "scalar" + }, + { + "elements": [ + { + "name": "value", + "type": "string" + } + ], + "name": "applicationSourceName", + "type": "scalar" + } + ] +} diff --git a/discover/discoversettings.kcfg b/discover/discoversettings.kcfg new file mode 100644 index 0000000..668a3cf --- /dev/null +++ b/discover/discoversettings.kcfg @@ -0,0 +1,8 @@ + + + + + ResourcesProxyModel::SortableRatingRole + ResourcesProxyModel::NameRole + + diff --git a/discover/discoversettings.kcfgc b/discover/discoversettings.kcfgc new file mode 100644 index 0000000..9afaaf7 --- /dev/null +++ b/discover/discoversettings.kcfgc @@ -0,0 +1,5 @@ +File=discoversettings.kcfg +ClassName=DiscoverSettings +GenerateProperties=true +Mutators=true +IncludeFiles=resources/ResourcesProxyModel.h 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..049fc0b --- /dev/null +++ b/discover/main.cpp @@ -0,0 +1,174 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +// #define QT_QML_DEBUG + +#include +#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 appstream:// URI."), QStringLiteral("name"))); + parser->addOption(QCommandLineOption(QStringLiteral("mime"), i18n("Open with a search for programs 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("search"), i18n("Search string."), QStringLiteral("text"))); + parser->addOption(QCommandLineOption(QStringLiteral("feedback"), i18n("Lists the available options for user feedback"))); + 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); + 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"))); + else if(parser->isSet(QStringLiteral("mode"))) + mainWindow->openMode(parser->value(QStringLiteral("mode"))); + else + mainWindow->openMode(QStringLiteral("Browsing")); + + if(parser->isSet(QStringLiteral("search"))) + Q_EMIT mainWindow->openSearch(parser->value(QStringLiteral("search"))); + + 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) +{ + // needs to be set before we create the QGuiApplication + QCoreApplication::setAttribute(Qt::AA_DisableSessionManager, true); + + QApplication app(argc, argv); + app.setWindowIcon(QIcon::fromTheme(QStringLiteral("plasmadiscover"))); + app.setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); + app.setAttribute(Qt::AA_UseHighDpiPixmaps, true); + KCrash::initialize(); + KQuickAddons::QtQuickSettings::init(); + KLocalizedString::setApplicationDomain("plasma-discover"); + KAboutData about(QStringLiteral("discover"), i18n("Discover"), version, i18n("An application explorer"), + KAboutLicense::GPL, i18n("© 2010-2020 Plasma Development Team")); + about.addAuthor(i18n("Aleix Pol Gonzalez"), QString(), QStringLiteral("aleixpol@kde.org")); + about.addAuthor(i18n("Nate Graham"), i18n("Quality Assurance, Design and Usability"), QStringLiteral("nate@kde.org")); + about.addAuthor(i18n("Dan Leinir Turthra Jensen"), i18n("KNewStuff"), QStringLiteral("admin@leinir.dk")); + about.setProductName("discover/discover"); + about.setProgramLogo(app.windowIcon()); + + about.setTranslator( + i18ndc(nullptr, "NAME OF TRANSLATORS", "Your names"), + i18ndc(nullptr, "EMAIL OF TRANSLATORS", "Your emails")); + + 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); + + { + auto options = parser->optionNames(); + options.removeAll(QStringLiteral("backends")); + options.removeAll(QStringLiteral("test")); + QVariantMap initialProperties; + if (!options.isEmpty() || !parser->positionalArguments().isEmpty()) + initialProperties = {{QStringLiteral("currentTopLevel"), QStringLiteral("qrc:/qml/LoadingPage.qml")}}; + mainWindow = new DiscoverObject(s_decodeCompactMode->value(parser->value(QStringLiteral("compact")), DiscoverObject::Full), initialProperties); + } + 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("feedback"))) { + QTextStream(stdout) << mainWindow->describeSources() << '\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..aaeee35 --- /dev/null +++ b/discover/org.kde.discover.appdata.xml @@ -0,0 +1,249 @@ + + + org.kde.discover.desktop + CC0-1.0 + GPL-2.0+ + Discover + استكشف + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discoperi + Discover + Discover + 둘러보기 + Discover + ഡിസ്കവർ + Ontdekken + Discover + ਖੋਜੋ + Odkrywca + Discover + Discover + Descoperă + Центр приложений Discover + Discover + Discover + Oткривач + Otkrivač + Oткривач + Otkrivač + Discover + Кашфиёт + Keşfet + Discover + xxDiscoverxx + 发现 + 探尋 + Discover + استكشف + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discover + Discoperi + Discover + Discover + 둘러보기 + Discover + ഡിസ്കവർ + Ontdekken + Discover + ਖੋਜੋ + Odkrywca + Discover + Discover + Descoperă + Центр приложений Discover + Discover + Discover + Oткривач + Otkrivač + Oткривач + Otkrivač + Discover + Кашфиёт + Keşfet + Discover + xxDiscoverxx + 发现 + 探尋 + +

Discover helps you find and install applications, games, and tools. You can search or browse by category, and look at screenshots and read reviews to help you pick the perfect app.

+

Discover ayúdate a alcontrar ya instalar aplicaciones y ferramientes. Pues guetar o restolar por estayes, mirar captures de pantalla y lleer reseñes p'ayudate a escoyer l'aplicación perfeuta.

+

Discover sizə tətbiqləri, oyunları və digər alət və vasitələri tapmağa və quraşdırmağa kömək edir. Siz kateqoriyalar üzrə axtararaq, ekran şəkillərinə baxmaqla və rəyləri oxumaqla istəyinizə uyğun ən mükəmməl tətbiqi və ya əlavələri seçə bilərsiniz.

+

El Discover ajuda a instal·lar aplicacions, jocs i eines. Podeu cercar o explorar per categoria, i veure les captures de pantalla i llegir els comentaris com a ajuda per a triar l'aplicació perfecta.

+

Discover us ajuda a instal·lar aplicacions, jocs i eines. Podeu buscar o explorar per categoria, i veure les captures de pantalla i llegir els comentaris per a ajudar-vos a triar l'aplicació perfecta.

+

Discover hjælper dig med at finde og installere programmer, spil og værktøjer. Du kan søge eller gennemse efter kategori og kigge på skærmbilleder og læse anmeldelser for at hjælpe dig med vælge det perfekte program.

+

Discover helps you find and install applications, games, and tools. You can search or browse by category, and look at screenshots and read reviews to help you pick the perfect app.

+

Discover le ayuda a encontrar e instalar aplicaciones, juegos y herramientas. Puede buscar o explorar por categorías, ver capturas de pantalla y leer reseñas que le ayudarán a escoger la aplicación perfecta.

+

Discover aitab leida ja paigaldada rakendusi, mänge ja tööriistu. Otsida või sirvida saab kategooriaid pidi, ekraanipiltide uurimine ja ülevaadete lugemine lubab leida just selle õige rakenduse.

+

Discover-rek aplikazioak, jokoak eta tresnak bilatzen eta instalatzen laguntzen dizu. Kategoria bidez bilatu eta arakatu dezakezu, eta pantaila-argazkiak ikusi eta iritziak irakur ditzakezu aplikazio egokia aukeratzen laguntzako.

+

Discover auttaa sinua etsimään ja asentamaan sovelluksia, pelejä ja apuohjelmia. Voit etsiä tai selata luokittain, katsella ruutukaappauskuvia ja lukea arvosteluja.

+

Discover vous aide à trouver et à installer des applications, des jeux et des outils. Vous pouvez chercher ou naviguer par catégorie, ou consulter les captures d'écran et les avis d'utilisateurs pour vous aider à trouver l'appli parfaite.

+

Discover axúdalle a atopar e instalar aplicacións, xogos e ferramentas. Pode buscar ou explorar por categoría, e ollar capturas de pantalla e ler recensións como axuda para escoller a aplicación perfecta.

+

A Discover segít az alkalmazások, játékok és eszközök keresésében és telepítésében. Kereshet vagy böngészhet kategóriák szerint, nézhet képernyőképeket és olvashat értékeléseket, hogy könnyen megtalálja a tökéletes alkalmazást.

+

Discover membantu kamu untuk menemukan dan menginstal aplikasi, permainan, dan peralatan. Kamu bisa mencari atau menelusuri berdasarkan kategori, dan melihat cuplikan dan membaca ulasan untuk membantu kamu memilih aplikasi yang sempurna.

+

Discover ti aiuta a trovare e installare applicazioni, giochi e strumenti. Puoi cercare o sfogliare per categoria, vedere schermate e leggere recensioni per aiutarti a scegliere l'applicazione perfetta.

+

둘러보기를 사용하여 프로그램, 게임, 도구를 찾고 설치할 수 있습니다. 분류별로 검색 및 탐색하고, 스크린샷과 리뷰를 참조하여 꼭 필요한 앱을 찾으십시오.

+

Discover padeda jums rasti ir įdiegti programas, žaidimus bei įrankius. Galite ieškoti ar naršyti pagal kategoriją ir žiūrėti ekrano kopijas bei skaityti apžvalgas, kurios padeda jums išsirinkti tobulą programą.

+

ആപ്ലിക്കേഷൻ, ഗെയിമുകൾ, ഉപകരണങ്ങൾ എന്നിവ കണ്ടെത്താനും ഇൻസ്റ്റാൾ ചെയ്യാനും ഡിസ്കവർ നിങ്ങളെ സഹായിക്കുന്നു. നിങ്ങൾക്ക് വിഭാഗം അനുസരിച്ച് തിരയാനോ ബ്രൗസുചെയ്യാനോ കഴിയും, കൂടാതെ മികച്ച ആപ്ലിക്കേഷൻ തിരഞ്ഞെടുക്കാൻ സഹായിക്കുന്നതിന് സ്‌ക്രീൻഷോട്ടുകൾ കാണാനും അവലോകനങ്ങൾ വായിക്കാനും കഴിയും.

+

Discover helpt om toepassingen, spellen en hulpmiddelen te zoeken en te installeren. U kunt zoeken of bladeren op categorie, kijken naar schermafdrukken en reviews lezen om u te helpen de perfecte toepassing te kiezen.

+

Discover hjelper deg å finna og installera program, spel og verktøy. Du kan søkja etter program eller bla gjennom program­kategoriar, sjå skjermbilete og lesa brukaromtalar for å finna det perfekte programmet.

+

Odkrywca pomaga znaleźć i wgrać aplikacje, gry oraz narzędzia. Można wyszukiwać lub przeglądać po kategorii. Można oglądać zrzuty ekranu i czytać oceny, aby wybrać najlepszą aplikację.

+

O Discover ajuda-o a instalar aplicações, jogos e ferramentas. Poderá pesquisar ou navegar por categoria, assim como ver as imagens e ler as revisões e comentários que o possam ajudar a escolher a aplicação perfeita.

+

O Discover ajuda-o a encontrar e instalar aplicativos, jogos e ferramentas. Você pode pesquisar ou navegar por categoria, assim como ver as capturas de tela e ler as avaliações e comentários que o possam ajudá-lo a escolher o aplicativo perfeito.

+

Descoperă vă permite să găsiți și să instalați aplicații, jocuri și unelte. Puteți căuta sau răsfoi după categorie, precum și să vedeți capturi de ecran și să citiți recenzii ce vă ajută la alegerea aplicației perfecte.

+

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

+

Aplikácia Discover vám pomôže nájsť a nainštalovať aplikácie, hry a nástroje. Môžete vyhľadávať alebo prehliadať podľa kategórií, prezerať si snímky obrazoviek a čítať recenzie, ktoré vám pomôžu vybrať si perfektnú aplikáciu.

+

Discover vam pomaga najti in namestiti programe, igre in orodja. Lahko iščete ali brskate po kategorijah in si ogledate posnetke zaslona in preberete ocene, ki vam pomagajo izbrati popoln program.

+

Discover hjälper till att hitta och installera program, spel och verktyg. Man kan söka eller bläddra enligt kategori, och titta på skärmbilder och läsa recensioner för att hjälpa till att välja det perfekta programmet.

+

Кашфиёт ба шумо барои ёфтан ва насб кардани барномаҳо, бозиҳо ва абзорҳо кумак мерасонад. Шумо метавонед барномаҳоро аз рӯи навъ ҷустуҷӯ карда, аз назар гузаронед, аксҳои барномаҳоро бинед ва барои кумак ҳангоми интихоб намудани барномаҳои беҳтарин тақризҳоро хонед.

+

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

+

xxDiscover helps you find and install applications, games, and tools. You can search or browse by category, and look at screenshots and read reviews to help you pick the perfect app.xx

+

Discover 帮助您发现和安装应用,游戏和工具。您可以搜索关键字或浏览分类,通过屏幕截图和用户评论来选择最佳应用。

+

《探尋》協助您尋找及安裝應用程式、遊戲及工具。您可以搜尋,或者是瀏覽分類,看看螢幕截圖和閱讀評論,以協助你找到最好的 App。

+

With Discover, you can manage software from multiple sources, including your operating system's software repository, Flatpak repos, the Snap store, or even AppImages from store.kde.org.

+

Discover ilə proqram təminatınızı bir çox mənbədən, o cümlədən əməliyyat sisteminizin proqram təminatı bazasından, Flatpak depolarından, Snap mağazasından və hətta store.kde.org saytından AppImages daxil olmaqla idarə edə bilərsiniz.

+

Amb el Discover podeu gestionar programari de diverses fonts, incloent-hi el repositori de programari del sistema operatiu, repositoris del Flatpak, la botiga de l'Snap, o també AppImages des de «store.kde.org».

+

Amb Discover podeu gestionar programari de diverses fonts, incloent-hi el repositori de programari del sistema operatiu, repositoris de Flatpak, la botiga d'Snap, o també AppImages des de «store.kde.org».

+

Med Discover kan du administrere software fra flere forskellige kilder, inklusiv dit styresystems softwarekilder, Flatpak-softwarekilder, Snap-butikken eller sågar AppImages fra store.kde.org.

+

With Discover, you can manage software from multiple sources, including your operating system's software repository, Flatpak repos, the Snap store, or even AppImages from store.kde.org.

+

Con Discover puede gestionar software de múltiples fuentes, incluyendo los repositorios de software de su sistema operativo, repositorios de Flatpak, la tienda de Snap, e incluso AppImages de store.kde.org.

+

Discoveriga saab hallata tarkvara, mis on pärit mitmest allikast, kaasa arvatud su enda operatsioonisüsteemi tarkvarahoidla, Flatpaki hoidlad, Snapi hoidla või isegi hoidlas store.kde.org pakutavad AppImage'id.

+

Discover-rekin, sorburu askotako softwarea kudeatu dezakezu, tartean zure sistema eragilearen software gordetegia, Flatpak gordetegiak, Snap biltegia, edo baita store.kde.org-eko AppImages-etik ere.

+

Discoverilla voit hallita ohjelmia eri lähteistä: käyttöjärjestelmän tai Flatpakin asennuslähteistä, Snap-kaupasta tai jopa store.kde.orgin AppImageista.

+

Grâce à Discover, vous pouvez gérer des logiciels provenant de plusieurs sources, dont le dépôt de logiciels de votre système d'exploitation, les dépôts Flatpak, la boutique Snap ou même des AppImages de store.kde.org.

+

Con Discover pode xestionar software de varias fontes, entre elas o repositorio de software do seu sistema operativo, os repositorios de Flatpak, a tenda de Snap, ou mesmo as AppImage de store.kde.org.

+

A Discoverrel egy helyen kezelheti több forrásból származó szoftvereit, legyen szó akár az operációs rendszer tárolóiról, a Flatpak tárolókról a Snap boltról vagy akár a store.kde.org-ról származó AppImage-ekről.

+

Dengan Discover, kamu bisa mengelola perangkat lunak dari banyak sumber, termasuk repositori perangkat lunak operasi sistemmu, repo Flatpak, Snap store, atau bahkan AppImages dari store.kde.org.

+

Con Discover, puoi gestire i programmi da diverse fonti, inclusi i depositi del software del tuo sistema operativo, depositi Flatpak, lo Snap Store o anche AppImages da store.kde.org.

+

둘러보기를 사용하면 여러 원본에서 제공되는 소프트웨어를 관리할 수 있습니다. 운영 체제 소프트웨어 저장소, Flatpak 저장소, Snap 스토어, store.kde.org의 AppImage를 한 곳에서 관리할 수 있습니다.

+

Naudodami Discover, galite tvarkyti programinę įrangą iš daugelio šaltinių, įskaitant jūsų operacinės sistemos programinės įrangos saugyklas, Flatpak saugyklas, Snap parduotuvę ar netgi AppImage paketus iš store.kde.org.

+

ഡിസ്കവർ ഉപയോഗിച്ച്, നിങ്ങളുടെ പ്രവര്‍ത്തകസംവിധാനത്തിന്റെ സോഫ്റ്റ്വെയർ ശേഖരം, ഫ്ലാറ്റ്പ്പാക്ക് ശേഖരണങ്ങൾ, സ്നാപ്പ് സ്റ്റോർ അല്ലെങ്കിൽ store.kde.org- ൽ നിന്നുള്ള AppImages എന്നിവ ഉൾപ്പെടെ ഒന്നിലധികം ഉറവിടങ്ങളിൽ നിന്നുള്ള സോഫ്റ്റ്വെയർ നിങ്ങൾക്ക് കൈകാര്യം ചെയ്യാൻ കഴിയും.

+

Met Discover kunt u software uit meerdere bronnen beheren, inclusief de opslagruimten van uw besturingssysteem, Flatpak-repo's, de Snap store of zelfs AppImages uit store.kde.org.

+

Men Discover kan du installera program frå ulike kjelder, blant anna standard pakkebrønnar for operativsystemet, Flatpak-depot, Snap-butikken og AppImages frå store.kde.org.

+

Dzięki Odkrywcy, można zarządzać oprogramowaniem z wielu źródeł, uwzględniając w tym źródło oprogramowania systemu operacyjnego, repozytoria Flatpak, sklep Snap lub nawet AppImage z store.kde.org.

+

Com o Discover, poderá gerir aplicações de várias fontes, incluindo os repositórios de aplicações do seu sistema operativo, os repositórios do Flatpak, a loja do Snap ou mesmo AppImages do store.kde.org.

+

Com o Discover você poderá gerenciar aplicativos de várias origens, incluindo os repositórios de aplicativos do seu sistema operacional, os repositórios do Flatpak, a loja do Snap ou mesmo AppImages do store.kde.org.

+

Cu Descoperă, puteți gestiona programe din surse diferite, inclusiv depozitul software al sistemului de operare, depozite Flatpak, magazinul Snap, sau chiar programe AppImage de la store.kde.org.

+

Discover позволяет управлять приложениями, получаемыми из различных источников: репозиториев установленной системы, репозиториев Flatpack, магазина приложений Snap, и даже приложений AppImages, расположенных по адресу store.kde.org.

+

S Discover môžete spravovať softvér z viacerých zdrojov vrátane úložiska softvéru vášho operačného systému, úložiska Flatpak, úložiska Snap alebo dokonca AppImages z obchodu store.kde.org.

+

S programom Discover lahko upravljate programsko opremo iz več virov, vključno s svojo shrambo programske opreme operacijskega sistema, programske pakete Flatpak, trgovina Snap ali celo programe AppImages iz store.kde.org.

+

Man kan hantera programvara från flera olika källor med Discover, inklusive operativsystemets programvaruarkiv, Flatpak-arkiv, Snap-butiken eller till och med programavbilder från store.kde.org.

+

Ба воситаи Кашфиёт шумо метавонед нармафзорро аз якчанд манбаъ идора намоед, аз он ҷумла тавассути анбори додаҳои нармафзори низоми шумо, анборҳои додаҳои Flatpak, дукони Snap ё ҳатто файлҳои AppImages аз сомонаи store.kde.org.

+

За допомогою Discover ви можете керувати програмним забезпеченням із багатьох джерел, зокрема зі сховищ програмного забезпечення вашої операційної системи, зі сховищ Flatpak, із крамниці Snap або навіть із образів AppImage з store.kde.org.

+

xxWith Discover, you can manage software from multiple sources, including your operating system's software repository, Flatpak repos, the Snap store, or even AppImages from store.kde.org.xx

+

使用 Discover,您可以管理来自不同来源的软件,包括系统软件源,Flatpak 仓库,Snap 商店,或者来自 store.kde.org 的 AppImage。

+

使用《探尋》,您可以管理來自多個來源的軟體,包含您作業系統的軟體庫、Flatpak 軟體庫、Snap 商店,或甚至是來自 store.kde.org 的 AppImage。

+

Finally, Discover also allows you to find, install, and manage add-ons for Plasma and all your favorite KDE apps!

+

P'acabar, Discover tamién te permite alcontrar, instalar y xestionar complementos de Plasma y toles aplicaciones de KDE.

+

Nəhayət, Discover həmçinin Plazma və bütün sevdiyiniz KDE tətbiqlərini tapmaq, quraşdırmaq və idarə etməyə imkan verir!

+

Finalment, el Discover també permet cercar, instal·lar i gestionar complements per al Plasma i totes les aplicacions preferides del KDE!

+

Finalment, Discover també permet buscar, instal·lar i gestionar complements per a Plasma i totes les aplicacions preferides de KDE.

+

Endelig lader Discover dig også finde, installere og administrere tilføjelser til Plasma og alle dine yndlings KDE-programmer!

+

Finally, Discover also allows you to find, install, and manage add-ons for Plasma and all your favourite KDE apps!

+

Por último, Discover también le permite encontrar, instalar y gestionar complementos para Plasma y para todas sus aplicaciones favoritas de KDE.

+

Ja lõpuks lubab Discover leida, paigaldada ja hallata lisasid nii Plasmale kui ka kõigile KDE parimatele rakendustele!

+

Azkenik, Discover-rek uzten dizu Plasma eta zure KDEko aplikazio gogoko guztietarako gehigarriak bilatu, instalatu eta kudeatzen.

+

Discoverilla voit myös etsiä, asentaa ja hallita Plasman laajennusosia ja kaikkia suosikki-KDE-sovelluksiasi!

+

Enfin, Discover vous permet de trouver, d'installer et de gérer des modules complémentaires pour Plasma et toutes vos applis KDE préférées !

+

Por último, Discover tamén lle permite atopar, instalar e xestionar complementos de Plasma e das súas aplicacións favoritas de KDE!

+

Végül, de nem utolsósorban a Discoverrel kereshet, telepíthet és kezelhet kiegészítőket a Plasmához és a kedvenc KDE alkalmazásaihoz!

+

Terakhir, Discover juga memungkinkan kamu untuk menemukan, menginstal, dan mengelola pernik untuk Plasma dan semua aplikasi KDE favoritmu.

+

Infine, Discover ti consente di trovare, installare e gestire componenti aggiuntivi di Plasma e tutte le tue applicazioni preferite di KDE!

+

또한 둘러보기를 사용하면 Plasma와 KDE 프로그램의 추가 기능을 찾고, 설치하고, 관리할 수 있습니다!

+

Pagaliau, Discover taip pat leidžia jums rasti, įdiegti ir tvarkyti Plasma papildinius ir visas jūsų mėgstamas KDE programas!

+

അവസാനമായി, പ്ലാസ്മയ്ക്കും നിങ്ങളുടെ പ്രിയപ്പെട്ട എല്ലാ കെ‌ഡി‌ഇ അപ്ലിക്കേഷനുകൾക്കുമായുള്ള ആഡ്-ഓണുകൾ കണ്ടെത്താനും ഇൻസ്റ്റാൾ ചെയ്യാനും നിയന്ത്രിക്കാനും ഡിസ്കവർ നിങ്ങളെ അനുവദിക്കുന്നു!

+

Tenslotte biedt Discover ook om add-ons voor Plasma en al uw favoriete KDE toepassingen te vinden, te installeren en te beheren!

+

Discover lèt deg òg finna, installera og handsama programtillegg for Plasma og andre KDE-program.

+

Odkrywca umożliwia także znalezienie, wgranie i zrządzanie dodatkami do Plazmy i innych ulubionych aplikacji KDE!

+

Finalmente, o Discover também lhe permite procurar, instalar e gerir as extensões do Plasma e de todas as suas aplicações favoritas do KDE!

+

Finalmente, o Discover também lhe permite procurar, instalar e gerenciar as extensões do Plasma e de todos os seus aplicativos favoritos do KDE!

+

De asemenea, Descoperă vă ajută să găsiți, instalați și gestionați suplimente pentru Plasma și toate aplicațiile KDE favorite!

+

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

+

Konečne aplikácia Discover tiež umožňuje nájsť, nainštalovať a spravovať doplnky pre Plasmu a všetky vaše obľúbené aplikácie prostredia KDE!

+

Končno Discover vam omogoča iskanje, namestitev in upravljanje dodatkov za Plazma in vse vaše najljubše programe za KDE!

+

Slutligen låter Discovery dig söka efter, installera och hantera tilläggsprogram för Plasma och alla favoritprogram i KDE.

+

Дар охир, Кашфиёт ба шумо барои ёфтан, насб ва идора кардани барномаҳои иловагӣ барои Плазма ва ҳамаи барномаҳои пазируфтаи шумо аз KDE имкон медиҳад!

+

Нарешті, Discover надає вам змогу шукати, встановлювати додатки до Плазми та усі ваші улюблені програми KDE та керувати ними!

+

xxFinally, Discover also allows you to find, install, and manage add-ons for Plasma and all your favorite KDE apps!xx

+

最后,Discover 还可以帮您找到,安装和管理 Plasma 附加组件,以及您喜爱的 KDE 应用!

+

最後,《探尋》也讓你能尋找、安裝和管理 Plasma 的外掛程式及你所有喜歡的 KDE 應用程式!

+
+ https://bugs.kde.org/enter_bug.cgi?format=guided&product=Discover + + + Plasma Discover + Plasma Discover + Plasma Discover + Discover del Plasma + Discover de Plasma + Plasma Discover + Plasma Discover + Plasma Discover + Plasma Discover + Plasma Discover + Plasma Discover + Plasma Discover + Plasma Discover + Plasma Discover + Plasma Discover + Plasma Discover (Discoperi de Plasma) + Discover Plasma + Plasma Discover + Plasma 둘러보기 + Plasma Discover + പ്ലാസ്മ ഡിസ്കവർ + Plasma Discover + Plasma Discover + Odkrywca Plazmy + Plasma Discover + Plasma Discover + „Descoperă” Plasma + Центр приложений Discover + Plasma Discover + Plasma Discover + Plasma Discover + Кашфиёти Плазма + Discover у Плазмі + xxPlasma Discoverxx + Plasma Discover + Plasma 探詢 + https://cdn.kde.org/screenshots/plasma-discover/plasma-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..afa74a0 --- /dev/null +++ b/discover/org.kde.discover.desktop.cmake @@ -0,0 +1,200 @@ +[Desktop Entry] +Name=Discover +Name[ar]=استكشف +Name[ast]=Discover +Name[az]=Discover +Name[ca]=Discover +Name[ca@valencia]=Discover +Name[cs]=Discover +Name[da]=Discover +Name[de]=Discover +Name[el]=Discover +Name[en_GB]=Discover +Name[es]=Discover +Name[et]=Discover +Name[eu]=Discover +Name[fi]=Discover +Name[fr]=Discover +Name[gl]=Descubrir +Name[he]=מרכז התוכנות Discover +Name[hu]=Discover +Name[ia]=Discover (Discoperi) +Name[id]=Discover +Name[it]=Discover +Name[ko]=둘러보기 +Name[lt]=Discover +Name[ml]=കണ്ടെത്തുക +Name[nl]=Ontdekken +Name[nn]=Discover +Name[pa]=ਖੋਜ +Name[pl]=Odkrywca +Name[pt]=Discover +Name[pt_BR]=Discover +Name[ro]=Descoperă +Name[ru]=Discover +Name[sk]=Discover +Name[sl]=Discover +Name[sr]=Oткривач +Name[sr@ijekavian]=Oткривач +Name[sr@ijekavianlatin]=Otkrivač +Name[sr@latin]=Otkrivač +Name[sv]=Upptäck +Name[tg]=Кашфиёт +Name[tr]=Keşfet +Name[uk]=Discover +Name[x-test]=xxDiscoverxx +Name[zh_CN]=Discover +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[ast]=Centru de software +GenericName[az]=Proqram Təminatı Mərkəzi +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[ia]=Centro de Software +GenericName[id]=Pusat Perangkat Lunak +GenericName[it]=Software Center +GenericName[ko]=소프트웨어 센터 +GenericName[lt]=Programinės įrangos centras +GenericName[ml]=സോഫ്റ്റ്വെയർ സെന്റർ +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[ro]=Centru de aplicații +GenericName[ru]=Центр программ +GenericName[sk]=Centrum softvéru +GenericName[sl]=Programsko središče +GenericName[sr]=Софтверски центар +GenericName[sr@ijekavian]=Софтверски центар +GenericName[sr@ijekavianlatin]=Softverski centar +GenericName[sr@latin]=Softverski centar +GenericName[sv]=Programvarucentral +GenericName[tg]=Маркази нармафзор +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[ast]=programa;software;depósitu;paquete;instalar;instalación;desaniciar;desaniciu;anovar;anovamientu;aplicación;aplicaciones; +Keywords[az]=pqorqam;proqram təminatı;repozitoriya;paket;quraşdırmaq;silmək;yeniləmək;tətbiqlər;tətbiqetmələr; +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 ; paquet ; installation ; suppression ; mise à jour ; apps ; applications ; +Keywords[gl]=aplicación;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[ia]=program;software;repository;package;install;remove;update;apps;applications; +Keywords[id]=program;perangkat lunak;repositori;paket;pasang;hapus;perbarui;apl;aplikasi; +Keywords[it]=programma;software;deposito;pacchetto;installa;rimuovi;aggiorna;app;applicazioni; +Keywords[ko]=프로그램;software;repository;archive;package;install;remove;update;deb;프로그램;소프트웨어;저장소;리포지토리;패키지;꾸러미;설치;삭제;업데이트; +Keywords[lt]=programa;programinė įranga;programine iranga;saugykla;paketas;įdiegti;idiegti;diegti;šalinti;salinti;ištrinti;istrinti;naujinti;atnaujinti;programos;programas; +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[ro]=program;software;depozit;pachet;instalare;eliminare;actualizare;aplicații;instalează;elimină;actualizează; +Keywords[ru]=program;software;repository;package;install;remove;update;apps;applications;программа;приложение;репозиторий;пакет;установка;удаление;deb; +Keywords[sk]=program;softvér;repozitár;balík;inštalácia;inľtalovať;odstránenie;odstrániť;aktualizovať;aktualizácia;appky;aplikácie; +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[tg]=барнома;нармафзор;анбори додаҳо;баста;насб;тоза;навсозӣ;барномаҳо;зербарномаҳо; +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]=程序;软件;软件源;包;安装;移除;更新;应用程序;应用; +Keywords[zh_TW]=program;software;repository;package;install;remove;update;apps;applications; + +[Desktop Action Updates] +Name=Updates +Name[ar]=التّحديثات +Name[ast]=Anovamientos +Name[az]=Yeniləmələr +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]=Pembaruan +Name[it]=Aggiornamenti +Name[ja]=更新 +Name[ko]=업데이트 +Name[lt]=Atnaujinimai +Name[ml]=അപ്ഡേറ്റുകൾ +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[ro]=Actualizări +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[tg]=Навсозиҳо +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/plasmauserfeedback.kcfg b/discover/plasmauserfeedback.kcfg new file mode 100644 index 0000000..f44e538 --- /dev/null +++ b/discover/plasmauserfeedback.kcfg @@ -0,0 +1,7 @@ + + + + + int(KUserFeedback::Provider::NoTelemetry) + + diff --git a/discover/plasmauserfeedback.kcfgc b/discover/plasmauserfeedback.kcfgc new file mode 100644 index 0000000..26a1e9b --- /dev/null +++ b/discover/plasmauserfeedback.kcfgc @@ -0,0 +1,5 @@ +File=plasmauserfeedback.kcfg +ClassName=PlasmaUserFeedback +GenerateProperties=true +Mutators=true +IncludeFiles=KUserFeedback/Provider diff --git a/discover/qml/AboutPage.qml b/discover/qml/AboutPage.qml new file mode 100644 index 0000000..1c5f39b --- /dev/null +++ b/discover/qml/AboutPage.qml @@ -0,0 +1,25 @@ +/* + * SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQml 2.1 +import org.kde.kirigami 2.6 as Kirigami + +Kirigami.AboutPage +{ + actions.main: Kirigami.Action { + function removeAmpersand(text) { + return text.replace("&", ""); + } + + readonly property QtObject action: app.action("help_report_bug") + text: removeAmpersand(action.text) + enabled: action.enabled + onTriggered: action.trigger() + icon.name: app.iconName(action.icon) + } + + aboutData: discoverAboutData +} diff --git a/discover/qml/ActionListItem.qml b/discover/qml/ActionListItem.qml new file mode 100644 index 0000000..1e6be45 --- /dev/null +++ b/discover/qml/ActionListItem.qml @@ -0,0 +1,38 @@ +/* + * SPDX-FileCopyrightText: 2015 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +import QtQuick 2.5 +import QtQuick.Controls 2.5 as QQC2 + +import org.kde.kirigami 2.5 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 tooltip: QQC2.ToolTip { + text: action.shortcut ? action.shortcut : p0.nativeText + } + + 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..f2b7c77 --- /dev/null +++ b/discover/qml/AddSourceDialog.qml @@ -0,0 +1,76 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQuick 2.1 +import QtQuick.Controls 2.1 +import QtQuick.Layouts 1.1 +import org.kde.kirigami 2.10 as Kirigami + +Kirigami.OverlaySheet +{ + id: newSourceDialog + + property string displayName + property QtObject source + + header: Kirigami.Heading { + text: i18n("Add New %1 Repository", displayName) + wrapMode: Text.WordWrap + } + + onSheetOpenChanged: { + if (sheetOpen) { + repository.forceActiveFocus(); + } + } + + ColumnLayout { + + Label { + Layout.fillWidth: true + wrapMode: Text.Wrap + textFormat: Text.PlainText + text: source.idDescription + } + + TextField { + id: repository + Layout.fillWidth: true + onAccepted: okButton.clicked() + focus: true + onTextChanged: color = Kirigami.Theme.textColor + } + + DialogButtonBox { + Layout.topMargin: Kirigami.Units.largeSpacing + Layout.fillWidth: true + + // Cancel out built-in margins so it lines up with the rest of the + // content in this sheet + Layout.margins: -units.smallSpacing + + 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..4f43676 --- /dev/null +++ b/discover/qml/AddonsView.qml @@ -0,0 +1,89 @@ +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 + parent: applicationWindow().overlay + + 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) + + header: Kirigami.Heading { text: i18n("Addons") } + + ColumnLayout + { + visible: addonsView.containsAddons + enabled: !addonsView.isInstalling + spacing: Kirigami.Units.largeSpacing + + Repeater + { + id: rep + model: ApplicationAddonsModel { id: addonsModel } + + delegate: RowLayout { + Layout.fillWidth: true + + CheckBox { + enabled: !addonsView.isInstalling + checked: model.checked + onClicked: addonsModel.changeState(packageName, checked) + } + + ColumnLayout { + id: content + Layout.fillWidth: true + spacing: 0 + Kirigami.Heading { + Layout.fillWidth: true + level: 5 + elide: Text.ElideRight + text: display + } + Label { + Layout.fillWidth: true + elide: Text.ElideRight + text: toolTip + opacity: 0.6 + font: theme.smallestFont + } + } + } + } + } + + footer: RowLayout { + + readonly property bool active: addonsModel.hasChanges && !addonsView.isInstalling + + Button { + text: i18n("More...") + visible: application.appstreamId.length>0 && addonsView.isExtended + onClicked: Navigation.openExtends(application.appstreamId) + } + + Item { Layout.fillWidth: true } + + Button { + icon.name: "dialog-ok" + text: i18n("Apply Changes") + onClicked: addonsModel.applyChanges() + + enabled: parent.active + } + Button { + icon.name: "document-revert" + text: i18n("Reset") + onClicked: addonsModel.discardChanges() + + enabled: parent.active + } + } +} diff --git a/discover/qml/ApplicationDelegate.qml b/discover/qml/ApplicationDelegate.qml new file mode 100644 index 0000000..d66f3a7 --- /dev/null +++ b/discover/qml/ApplicationDelegate.qml @@ -0,0 +1,134 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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.6 as Kirigami + +Kirigami.AbstractCard +{ + id: delegateArea + property alias application: installButton.application + property bool compact: false + property bool showRating: true + showClickFeedback: true + + function trigger() { + if (delegateRecycler.ListView.view) + delegateRecycler.ListView.view.currentIndex = index + Navigation.openApplication(application) + } + highlighted: delegateRecycler && delegateRecycler.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 + + RowLayout { + Layout.fillWidth: true + readonly property bool bigTitle: (head.implicitWidth + installButton.width) > parent.width + + Kirigami.Heading { + id: head + level: delegateArea.compact ? 3 : 2 + Layout.fillWidth: !category.visible || parent.bigTitle + elide: Text.ElideRight + text: delegateArea.application.name + maximumLineCount: 1 + } + + Kirigami.Heading { + id: category + level: 5 + Layout.fillWidth: true + elide: Text.ElideRight + text: i18nc("Part of a string like this: ' - '", "- %1", delegateArea.application.categoryDisplay) + maximumLineCount: 1 + opacity: 0.6 + visible: delegateArea.application.categoryDisplay && delegateArea.application.categoryDisplay !== page.title && !parent.bigTitle + } + } + + InstallApplicationButton { + id: installButton + Layout.alignment: Qt.AlignVCenter | Qt.AlignRight + Layout.rowSpan: delegateArea.compact ? 3 : 1 + compact: delegateArea.compact + } + + 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 { + id: summary + Layout.columnSpan: delegateArea.compact ? 1 : 2 + Layout.fillWidth: true + + rightPadding: soup.visible ? soup.width + soup.anchors.rightMargin : 0 + elide: Text.ElideRight + text: delegateArea.application.comment + maximumLineCount: 1 + textFormat: Text.PlainText + + Kirigami.Icon { + id: soup + source: application.sourceIcon + height: Kirigami.Units.gridUnit + width: Kirigami.Units.gridUnit + smooth: true + visible: !delegateArea.compact && ResourcesModel.currentApplicationBackend !== application.backend && application.backend.hasApplications + anchors { + bottom: parent.bottom + right: parent.right + rightMargin: Kirigami.Units.smallSpacing + } + } + } + } + } +} diff --git a/discover/qml/ApplicationPage.qml b/discover/qml/ApplicationPage.qml new file mode 100644 index 0000000..08a9823 --- /dev/null +++ b/discover/qml/ApplicationPage.qml @@ -0,0 +1,403 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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.6 as Kirigami +import "navigation.js" as Navigation + +DiscoverPage { + id: appInfo + property QtObject application: null + readonly property int visibleReviews: 3 + title: appInfo.application.name + clip: true + + // Usually this page is not the top level page, but when we are, isHome being + // true will ensure that the search field suggests we are searching in the list + // of available apps, not inside the app page itself. This will happen when + // Discover is launched e.g. from krunner or otherwise requested to show a + // specific application on launch. + readonly property bool isHome: true + function searchFor(text) { + if (text.length === 0) + return; + Navigation.openCategory(null, "") + } + + background: Rectangle { + color: Kirigami.Theme.backgroundColor + Kirigami.Theme.colorSet: Kirigami.Theme.View + Kirigami.Theme.inherit: false + } + + 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 + children: sourcesGroup.actions + readonly property var r0: Instantiator { + model: ResourcesProxyModel { + id: alternativeResourcesModel + allBackends: true + resourcesUrl: appInfo.application.url + } + delegate: Action { + ActionGroup.group: sourcesGroup + text: model.application.availableVersion ? i18n("%1 - %2", displayOrigin, model.application.availableVersion) : displayOrigin + icon.name: sourceIcon + checkable: true + checked: appInfo.application === model.application + onTriggered: if(index>=0) { + var res = model.application + console.assert(res) + window.stack.pop() + Navigation.openApplication(res) + } + } + } + } + + Kirigami.Action { + id: invokeAction + visible: application.isInstalled && application.canExecute && !appbutton.isActive + text: application.executeLabel + icon.name: "media-playback-start" + onTriggered: application.invokeApplication() + } + + actions { + main: appbutton.action + right: appbutton.isActive ? appbutton.cancelAction : invokeAction + } + + 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 + onLinkActivated: Qt.openUrlExternally(link); + } + + Kirigami.Heading { + Layout.topMargin: Kirigami.Units.largeSpacing + text: i18n("What's New") + level: 2 + visible: changelogLabel.text.length > 0 + } + + Kirigami.Separator { + 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 + function onChangelogFetched(changelog) { + changelogLabel.text = changelog + } + } + } + + Kirigami.LinkButton { + id: addonsButton + text: i18n("Addons") + visible: addonsView.containsAddons + onClicked: addonsView.sheetOpen = true + } + + + Kirigami.Heading { + Layout.fillWidth: true + Layout.topMargin: Kirigami.Units.largeSpacing + text: i18n("Reviews") + Layout.alignment: Qt.AlignLeft | Qt.AlignBottom + level: 2 + visible: rep.count > 0 + } + + Kirigami.Separator { + 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 + } + } + + RowLayout { + Layout.alignment: Qt.AlignHCenter + Layout.topMargin: Kirigami.Units.largeSpacing + Layout.bottomMargin: Kirigami.Units.largeSpacing + spacing: Kirigami.Units.largeSpacing + + Button { + visible: reviewsModel.count > visibleReviews + + text: i18np("Show %1 Review...", "Show All %1 Reviews...", reviewsModel.count) + icon.name: "view-visible" + + onClicked: { + reviewsSheet.open() + } + } + + Button { + visible: reviewsModel.backend && reviewsModel.backend.isResourceSupported(appInfo.application) + enabled: appInfo.application.isInstalled + + text: appInfo.application.isInstalled ? i18n("Write a Review") : i18n("Install to Write a Review") + icon.name: "document-edit" + + onClicked: { + reviewsSheet.openReviewDialog() + } + } + } + + Repeater { + model: application.objects + delegate: Loader { + property QtObject resource: appInfo.application + source: modelData + } + } + + + // Details/metadata + Kirigami.Separator { + Layout.fillWidth: true + height: 1 + Layout.bottomMargin: Kirigami.Units.largeSpacing + } + Kirigami.FormLayout { + Layout.fillWidth: true + + // Category row + Label { + Kirigami.FormData.label: i18n("Category:") + visible: text.length > 0 + Layout.fillWidth: true + elide: Text.ElideRight + text: appInfo.application.categoryDisplay + } + + // Version row + Label { + readonly property string version: appInfo.application.isInstalled ? appInfo.application.installedVersion : appInfo.application.availableVersion + readonly property string releaseDate: appInfo.application.releaseDate.toLocaleDateString(Locale.ShortFormat) + + function versionString() { + if (version.length == 0) { + return "" + } else { + if (releaseDate.length > 0) { + return i18n("%1, released on %2", version, releaseDate) + } else { + return version + } + } + } + + Kirigami.FormData.label: i18n("Version:") + visible: text.length > 0 + Layout.fillWidth: true + elide: Text.ElideRight + text: versionString() + } + + // Author row + Label { + Kirigami.FormData.label: i18n("Author:") + Layout.fillWidth: true + elide: Text.ElideRight + visible: text.length>0 + text: appInfo.application.author + } + + // Size row + Label { + Kirigami.FormData.label: i18n("Size:") + Layout.fillWidth: true + Layout.alignment: Text.AlignTop + elide: Text.ElideRight + text: appInfo.application.sizeDescription + } + + // Source row + Label { + Kirigami.FormData.label: i18n("Source:") + Layout.fillWidth: true + horizontalAlignment: Text.AlignLeft + text: appInfo.application.displayOrigin + elide: Text.ElideRight + } + + // License row + RowLayout { + Kirigami.FormData.label: i18n("License:") + visible: appInfo.application.licenses.length>0 + Layout.fillWidth: true + Repeater { + model: appInfo.application.licenses + delegate: Kirigami.UrlButton { + id: licenseButton + horizontalAlignment: Text.AlignLeft + ToolTip.text: i18n("See full license terms") + ToolTip.visible: licenseButton.hovered + text: modelData.name + url: modelData.url + enabled: url !== "" + } + } + } + + // "User Guide" row + Kirigami.UrlButton { + Kirigami.FormData.label: i18n ("Documentation:") + text: i18n("Read the user guide") + url: application.helpURL + Layout.fillWidth: true + horizontalAlignment: Text.AlignLeft + } + + // Homepage row + Kirigami.UrlButton { + Kirigami.FormData.label: i18n("Get involved:") + text: i18n("Visit the app's website") + url: application.homepage + Layout.fillWidth: true + horizontalAlignment: Text.AlignLeft + } + + // Donate row + Kirigami.UrlButton { + text: i18n("Make a donation") + url: application.donationURL + Layout.fillWidth: true + horizontalAlignment: Text.AlignLeft + } + + // "Report a Problem" row + Kirigami.UrlButton { + text: i18n("Report a problem") + url: application.bugURL + Layout.fillWidth: true + horizontalAlignment: Text.AlignLeft + } + } + } + + readonly property var addons: AddonsView { + id: addonsView + application: appInfo.application + } +} diff --git a/discover/qml/ApplicationScreenshots.qml b/discover/qml/ApplicationScreenshots.qml new file mode 100644 index 0000000..c6e3445 --- /dev/null +++ b/discover/qml/ApplicationScreenshots.qml @@ -0,0 +1,173 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + + +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 - 2 * padding)/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.min(root.width/3, Math.min(Math.max(50, height/proportion), thumbnail.status == Image.Loading ? height : thumbnail.sourceSize.width)) + height: screenshotsLayout.height + + hoverEnabled: true + cursorShape: Qt.PointingHandCursor + + onClicked: { + root.currentIndex = index + overlay.open() + } + + DropShadow { + source: thumbnail + anchors.fill: thumbnail + verticalOffset: Kirigami.Units.smallSpacing + horizontalOffset: 0 + radius: 12.0 + samples: 25 + color: "Black" // Shadows should always be pure black + cached: true + } + + BusyIndicator { + visible: running + running: thumbnail.status == Image.Loading + anchors.centerIn: parent + } + + Image { + id: thumbnail + source: small_image_url + height: parent.proportion>1 ? parent.height : undefined + width: parent.proportion<=1 ? parent.width : undefined + fillMode: Image.PreserveAspectFit + smooth: true + anchors.verticalCenter: parent.verticalCenter + onStatusChanged: if (status === Image.Error) { + screenshotsModel.remove(small_image_url) + } + } + } + } + } + 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..73a09af --- /dev/null +++ b/discover/qml/ApplicationsListPage.qml @@ -0,0 +1,165 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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.12 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 string sortProperty: "appsListPageSorting" + property bool compact: page.width < 550 || !applicationWindow().wideScreen + property bool showRating: true + + property bool canNavigate: true + readonly property alias subcategories: appsModel.subcategories + + function stripHtml(input) { + var regex = /(<([^>]+)>)/ig + return input.replace(regex, ""); + } + + title: search.length>0 ? i18n("Search: %1", stripHtml(search)) + : 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: { + DiscoverSettings[page.sortProperty] = ResourcesProxyModel.NameRole + } + checkable: true + checked: appsModel.sortRole === ResourcesProxyModel.NameRole + } + Action { + ActionGroup.group: sortGroup + text: i18n("Rating") + onTriggered: { + DiscoverSettings[page.sortProperty] = ResourcesProxyModel.SortableRatingRole + } + checkable: true + checked: appsModel.sortRole === ResourcesProxyModel.SortableRatingRole + } + Action { + ActionGroup.group: sortGroup + text: i18n("Size") + onTriggered: { + DiscoverSettings[page.sortProperty] = ResourcesProxyModel.SizeRole + } + checkable: true + checked: appsModel.sortRole === ResourcesProxyModel.SizeRole + } + Action { + ActionGroup.group: sortGroup + text: i18n("Release Date") + onTriggered: { + DiscoverSettings[page.sortProperty] = ResourcesProxyModel.ReleaseDateRole + } + 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: DiscoverSettings.appsListPageSorting + sortOrder: sortRole === ResourcesProxyModel.SortableRatingRole || sortRole === ResourcesProxyModel.ReleaseDateRole ? Qt.DescendingOrder : Qt.AscendingOrder + + onBusyChanged: if (isBusy) { + apps.currentIndex = -1 + } + } + currentIndex: -1 + delegate: ApplicationDelegate { + application: model.application + compact: !applicationWindow().wideScreen + showRating: page.showRating + } + + Kirigami.PlaceholderMessage { + anchors.centerIn: parent + width: parent.width - (Kirigami.Units.largeSpacing * 4) + + opacity: apps.count == 0 && !appsModel.isBusy ? 1 : 0 + Behavior on opacity { NumberAnimation { duration: Kirigami.Units.longDuration; easing.type: Easing.InOutQuad } } + + icon.name: "edit-none" + text: i18n("Sorry, nothing found") + } + + footer: ColumnLayout { + anchors.horizontalCenter: parent.horizontalCenter + visible: appsModel.isBusy && apps.atYEnd + opacity: visible ? 0.5 : 0 + + Item { + Layout.preferredHeight: units.gridUnit + } + Kirigami.Heading { + level: 2 + Layout.alignment: Qt.AlignCenter + text: i18n("Still looking...") + } + BusyIndicator { + running: parent.visible + Layout.alignment: Qt.AlignCenter + Layout.preferredWidth: Kirigami.Units.gridUnit * 4 + Layout.preferredHeight: Kirigami.Units.gridUnit * 4 + } + Behavior on opacity { + PropertyAnimation { duration: Kirigami.Units.longDuration; easing.type: Easing.InOutQuad } + } + } + } +} diff --git a/discover/qml/BrowsingPage.qml b/discover/qml/BrowsingPage.qml new file mode 100644 index 0000000..e1604cb --- /dev/null +++ b/discover/qml/BrowsingPage.qml @@ -0,0 +1,74 @@ +/* + * SPDX-FileCopyrightText: 2015 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQuick 2.4 +import QtQuick.Controls 2.4 +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.12 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, "") + } + + ColumnLayout { + anchors.centerIn: parent + opacity: 0.5 + + visible: apps.count === 0 && apps.model.isFetching + + Kirigami.Heading { + level: 2 + Layout.alignment: Qt.AlignCenter + text: i18n("Loading...") + } + BusyIndicator { + id: indicator + Layout.alignment: Qt.AlignCenter + Layout.preferredWidth: Kirigami.Units.gridUnit * 4 + Layout.preferredHeight: Kirigami.Units.gridUnit * 4 + } + } + + Kirigami.PlaceholderMessage { + anchors.centerIn: parent + width: parent.width - (Kirigami.Units.largeSpacing * 4) + + visible: apps.count === 0 && !apps.model.isFetching + + icon.name: "network-disconnect" + text: xi18nc("@info", "Unable to load applications.Please verify Internet connectivity.") + } + + 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 + } + } +} diff --git a/discover/qml/ConditionalLoader.qml b/discover/qml/ConditionalLoader.qml new file mode 100644 index 0000000..9460968 --- /dev/null +++ b/discover/qml/ConditionalLoader.qml @@ -0,0 +1,21 @@ +/* + * SPDX-FileCopyrightText: 2015 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +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..5aba630 --- /dev/null +++ b/discover/qml/ConditionalObject.qml @@ -0,0 +1,26 @@ +/* + * SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +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..be3eff8 --- /dev/null +++ b/discover/qml/DiscoverDrawer.qml @@ -0,0 +1,198 @@ +/* + * SPDX-FileCopyrightText: 2015 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +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.11 as Kirigami +import "navigation.js" as Navigation + +Kirigami.GlobalDrawer { + id: drawer + + leftPadding: 0 + rightPadding: 0 + topPadding: 0 + bottomPadding: 0 + + // FIXME: Dirty workaround for 385992 + width: Kirigami.Units.gridUnit * 14 + + property bool wideScreen: false + bannerImageSource: "qrc:/banners/banner.svg" + + resetMenuOnTriggered: false + + onBannerClicked: { + Navigation.openHome(); + 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) { + searchField.text = text + searchField.forceActiveFocus() + } + + // Give the search field keyboard focus by default + Component.onCompleted: { + searchField.forceActiveFocus(); + } + + header: Kirigami.AbstractApplicationHeader { + visible: drawer.wideScreen + + RowLayout { + anchors { + left: parent.left + leftMargin: Kirigami.Units.smallSpacing + right: parent.right + rightMargin: Kirigami.Units.smallSpacing + } + + SearchField { + id: searchField + Layout.fillWidth: true + + 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() + } + } + } + + ToolButton { + + icon.name: "go-home" + onClicked: Navigation.openHome() + + ToolTip { + text: i18n("Return to the Featured page") + } + } + } + } + + 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: sourcesAction + } + + ActionListItem { + action: aboutAction + } + + ActionListItem { + objectName: "updateButton" + action: updateAction + + backgroundColor: ResourcesModel.updatesCount>0 ? "orange" : Kirigami.Theme.backgroundColor + } + + 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 : "" + iconName: category ? category.icon : "" + 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, 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..7e0aaa7 --- /dev/null +++ b/discover/qml/DiscoverPage.qml @@ -0,0 +1,54 @@ +/* + * SPDX-FileCopyrightText: 2015 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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..a138c44 --- /dev/null +++ b/discover/qml/DiscoverPopup.qml @@ -0,0 +1,21 @@ +/* + * SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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..0672fc6 --- /dev/null +++ b/discover/qml/DiscoverWindow.qml @@ -0,0 +1,293 @@ +import QtQuick 2.5 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.14 +import org.kde.discover 2.0 +import org.kde.discover.app 1.0 +import org.kde.kquickcontrolsaddons 2.0 +import org.kde.kirigami 2.5 as Kirigami +import "navigation.js" as Navigation + +Kirigami.ApplicationWindow +{ + id: window + 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 topAboutComp: ("qrc:/qml/AboutPage.qml") + readonly property QtObject stack: window.pageStack + property string currentTopLevel + + objectName: "DiscoverMainWindow" + title: leftPage ? leftPage.title : "" + + width: app.initialGeometry.width>=10 ? app.initialGeometry.width : Kirigami.Units.gridUnit * 45 + height: app.initialGeometry.height>=10 ? app.initialGeometry.height : Kirigami.Units.gridUnit * 30 + + 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.")); + } + + readonly property string describeSources: feedbackLoader.item ? feedbackLoader.item.describeDataSources : "" + Loader { + id: feedbackLoader + source: "Feedback.qml" + } + + 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 + iconName: "view-list-details" + 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("Fetching updates...") : i18n("Up to date") ) : i18nc("Update section name", "Update (%1)", ResourcesModel.updatesCount) + component: topUpdateComp + objectName: "update" + } + TopLevelPageData { + id: aboutAction + iconName: "help-feedback" + text: i18n("About") + component: topAboutComp + objectName: "about" + } + TopLevelPageData { + id: sourcesAction + iconName: "configure" + text: i18n("Settings") + component: topSourcesComp + objectName: "sources" + } + + 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 + function onOpenApplicationInternal(app) { + Navigation.clearStack() + Navigation.openApplication(app) + } + function onListMimeInternal(mime) { + currentTopLevel = topBrowsingComp; + Navigation.openApplicationMime(mime) + } + function onListCategoryInternal(cat) { + currentTopLevel = topBrowsingComp; + Navigation.openCategory(cat, "") + } + + function onOpenSearch(search) { + Navigation.clearStack() + Navigation.openApplicationList({search: search}) + } + + function onOpenErrorPage(errorMessage) { + Navigation.clearStack() + console.warn("error", errorMessage) + window.stack.push(errorPageComponent, { error: errorMessage, title: i18n("Sorry...") }) + } + + function onPreventedClose() { + showPassiveNotification(i18n("Could not close Discover, there are tasks that need to be done."), 20000, i18n("Quit Anyway"), function() { Qt.quit() }) + } + function onUnableToFind(resid) { + showPassiveNotification(i18n("Unable to find resource: %1", resid)); + Navigation.openHome() + } + } + + Connections { + target: ResourcesModel + function onPassiveMessage (message) { + showPassiveNotification(message) + console.log("message:", message) + } + } + + Component { + id: errorPageComponent + Kirigami.Page { + id: page + property string error: "" + readonly property bool isHome: true + function searchFor(text) { + if (text.length === 0) + return; + Navigation.openCategory(null, "") + } + Kirigami.Icon { + id: infoIcon; + anchors { + bottom: parent.verticalCenter + margins: Kirigami.Units.largeSpacing + horizontalCenter: parent.horizontalCenter + } + visible: page.error !== "" + source: "emblem-warning" + height: Kirigami.Units.iconSizes.huge + width: height; + } + Kirigami.Heading { + anchors { + top: parent.verticalCenter + margins: Kirigami.Units.largeSpacing + horizontalCenter: parent.horizontalCenter + } + width: parent.width; + wrapMode: Text.WordWrap + horizontalAlignment: Text.AlignHCenter + visible: page.error !== "" + text: page.error + } + } + } + + 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 + + header: Kirigami.Heading { + id: heading + wrapMode: Text.WordWrap + } + + // No need to add our own ScrollView since OverlaySheet includes + // one automatically. + // But we do need to put the label into a Layout of some sort so we + // can limit the width of the sheet. + contentItem: ColumnLayout { + Label { + id: desc + + Layout.fillWidth: true + Layout.maximumWidth: Kirigami.Units.gridUnit * 30 + + textFormat: Text.StyledText + wrapMode: Text.WordWrap + } + } + + footer: RowLayout { + + Item { Layout.fillWidth : true } + + Button { + text: i18n("Proceed") + icon.name: "dialog-ok" + onClicked: { + transaction.proceed() + sheet.acted = true + sheet.close() + } + Keys.onEnterPressed: clicked() + Keys.onReturnPressed: clicked() + } + + Button { + Layout.alignment: Qt.AlignRight + text: i18n("Cancel") + icon.name: "dialog-cancel" + onClicked: { + transaction.cancel() + sheet.acted = true + sheet.close() + } + Keys.onEscapePressed: clicked() + } + } + + 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/Feedback.qml b/discover/qml/Feedback.qml new file mode 100644 index 0000000..98f87b9 --- /dev/null +++ b/discover/qml/Feedback.qml @@ -0,0 +1,71 @@ +import org.kde.kirigami 2.5 as Kirigami +import org.kde.userfeedback 1.0 as UserFeedback +import org.kde.kquickcontrolsaddons 2.0 as KQCA +import org.kde.discover.app 1.0 +import QtQml 2.0 + +UserFeedback.Provider +{ + readonly property list actions: [ + Kirigami.Action { + text: i18n("Submit usage information") + tooltip: i18n("Sends anonymized usage information to KDE so we can better understand our users. For more information see https://kde.org/privacypolicy-apps.php.") + onTriggered: { + provider.submit() + showPassiveNotification(i18n("Submitting usage information..."), "short", i18n("Configure"), provider.encouraged) + } + }, + Kirigami.Action { + text: i18n("Configure feedback...") + onTriggered: { + provider.encouraged() + } + } + ] + + id: provider + + submissionInterval: 7 + surveyInterval: -1 + feedbackServer: "https://telemetry.kde.org/" + encouragementInterval: 30 + applicationStartsUntilEncouragement: 1 + applicationUsageTimeUntilEncouragement: 1 + telemetryMode: UserFeedbackSettings.feedbackLevel + + function encouraged() { + KQCA.KCMShell.open("kcm_feedback"); + } + + property var lastSurvey: null + + function openSurvey() { + Qt.openUrlExternally(lastSurvey.url); + surveyCompleted(lastSurvey); + } + + onShowEncouragementMessage: { + showPassiveNotification(i18n("You can help us improving this application by sharing statistics and participate in surveys."), 5000, i18n("Contribute..."), encouraged) + } + + onSurveyAvailable: { + lastSurvey = survey + showPassiveNotification(i18n("We are looking for your feedback!"), 5000, i18n("Participate..."), openSurvey) + } + + UserFeedback.ApplicationVersionSource { mode: UserFeedback.Provider.BasicSystemInformation } + UserFeedback.PlatformInfoSource { mode: UserFeedback.Provider.BasicSystemInformation } + UserFeedback.QtVersionSource { mode: UserFeedback.Provider.BasicSystemInformation } + UserFeedback.StartCountSource { mode: UserFeedback.Provider.BasicUsageStatistics } + UserFeedback.UsageTimeSource { mode: UserFeedback.Provider.BasicUsageStatistics } + UserFeedback.LocaleInfoSource { mode: UserFeedback.Provider.DetailedSystemInformation } + UserFeedback.OpenGLInfoSource{ mode: UserFeedback.Provider.DetailedSystemInformation } + UserFeedback.ScreenInfoSource { mode: UserFeedback.Provider.DetailedSystemInformation } + UserFeedback.PropertySource { + mode: UserFeedback.Provider.DetailedUsageStatistics + name: "Application Source Name" + sourceId: "applicationSourceName" + data: { "value": ResourcesModel.applicationSourceName } + description: "The source for applications" + } +} diff --git a/discover/qml/InstallApplicationButton.qml b/discover/qml/InstallApplicationButton.qml new file mode 100644 index 0000000..6db8fd8 --- /dev/null +++ b/discover/qml/InstallApplicationButton.qml @@ -0,0 +1,76 @@ +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 + + property bool compact: false + + TransactionListener { + id: listener + } + + readonly property Kirigami.Action 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() + } + readonly property Kirigami.Action cancelAction: Kirigami.Action { + text: i18n("Cancel") + icon.name: "dialog-cancel" + enabled: listener.isCancellable + onTriggered: listener.cancel() + visible: listener.isActive + } + + function click() { + if (!isActive) { + if(application.isInstalled) + ResourcesModel.removeApplication(application); + else + ResourcesModel.installApplication(application); + } else { + console.warn("trying to un/install but resource still active", application.name) + } + } + + condition: listener.isActive + componentTrue: RowLayout { + ToolButton { + Layout.fillHeight: true + action: root.cancelAction + text: "" + ToolTip.visible: hovered + ToolTip.text: root.cancelAction.text + } + + LabelBackground { + Layout.fillWidth: true + text: listener.statusText + progress: listener.progress/100 + } + } + + componentFalse: Button { + enabled: application.state !== AbstractResource.Broken + text: compact ? "" : root.text + icon.name: compact ? root.action.icon.name : "" + focus: true + + onClicked: root.click() + } +} diff --git a/discover/qml/InstalledPage.qml b/discover/qml/InstalledPage.qml new file mode 100644 index 0000000..760b390 --- /dev/null +++ b/discover/qml/InstalledPage.qml @@ -0,0 +1,22 @@ +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 + sortOrder: Qt.AscendingOrder + allBackends: true + sortProperty: "installedPageSorting" + sortRole: DiscoverSettings.installedPageSorting + + title: i18n("Installed") + compact: true + showRating: false + canNavigate: false + + listHeader: null +} diff --git a/discover/qml/LabelBackground.qml b/discover/qml/LabelBackground.qml new file mode 100644 index 0000000..c09ef8b --- /dev/null +++ b/discover/qml/LabelBackground.qml @@ -0,0 +1,45 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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 + +Control +{ + id: root + property alias text: theLabel.text + property real progress: 1. + padding: Kirigami.Units.smallSpacing * 1.5 + + background: Item { + Rectangle { + color: Kirigami.Theme.disabledTextColor + anchors.fill: parent + radius: root.padding + } + + Rectangle { + anchors { + fill: parent + rightMargin: (1-root.progress) * parent.width + } + color: Kirigami.Theme.highlightColor + radius: root.padding + } + } + + contentItem: Label { + id: theLabel + horizontalAlignment: Text.AlignHCenter + color: Kirigami.Theme.highlightedTextColor + } + + ToolTip.visible: hovered + ToolTip.text: theLabel.text +} diff --git a/discover/qml/LoadingPage.qml b/discover/qml/LoadingPage.qml new file mode 100644 index 0000000..bd80a16 --- /dev/null +++ b/discover/qml/LoadingPage.qml @@ -0,0 +1,10 @@ +import org.kde.kirigami 2.0 as Kirigami + +Kirigami.Page { + title: label.text + Kirigami.Heading { + id: label + text: i18n("Loading...") + anchors.centerIn: parent + } +} diff --git a/discover/qml/ProgressView.qml b/discover/qml/ProgressView.qml new file mode 100644 index 0000000..ad00168 --- /dev/null +++ b/discover/qml/ProgressView.qml @@ -0,0 +1,123 @@ +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.AbstractListItem { + id: listItem + + contentItem: ColumnLayout { + Label { + id: label + Layout.fillWidth: true + Layout.leftMargin: Kirigami.Units.iconSizes.smallMedium + (LayoutMirroring.enabled ? listItem.rightPadding : listItem.leftPadding) + Layout.rightMargin: Layout.leftMargin + text: TransactionModel.count ? i18n("Tasks (%1%)", TransactionModel.progress) : i18n("Tasks") + } + ProgressBar { + Layout.fillWidth: true + value: TransactionModel.progress/100 + } + } + visible: TransactionModel.count > 0 + + property Kirigami.OverlaySheet sheetObject: null + onClicked: { + if (!sheetObject) + sheetObject = sheet.createObject() + + if (!sheetObject.sheetOpen) + sheetObject.open() + } + + readonly property var v3: Component { + id: sheet + Kirigami.OverlaySheet { + parent: applicationWindow().overlay + header: Kirigami.Heading { + text: i18n("Tasks") + } + onSheetOpenChanged: { + if (!sheetOpen) { + sheetObject.destroy(100) + } + } + contentItem: ListView { + id: tasksView + spacing: 0 + implicitWidth: Kirigami.Units.gridUnit * 30 + + Component { + id: listenerComp + TransactionListener {} + } + model: TransactionModel + + Connections { + target: TransactionModel + function onRowsRemoved() { + if (TransactionModel.count === 0) { + sheetObject.close(); + } + } + } + + delegate: Kirigami.AbstractListItem { + id: del + highlighted: false + 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})) + + contentItem: ColumnLayout { + + 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..b95f098 --- /dev/null +++ b/discover/qml/Rating.qml @@ -0,0 +1,52 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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..4c61351 --- /dev/null +++ b/discover/qml/ReviewDelegate.qml @@ -0,0 +1,190 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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 + +RowLayout { + id: item + visible: model.shouldShow + property bool compact: false + property bool separator: true + signal markUseful(bool useful) + + Item { + Layout.fillHeight: true + Layout.preferredWidth: Kirigami.Units.largeSpacing + } + // Spacers to indent nested comments/replies + Repeater { + model: depth + delegate: Item { + Layout.fillHeight: true + Layout.minimumWidth: Kirigami.Units.largeSpacing + Layout.maximumWidth: Kirigami.Units.largeSpacing + } + } + + Rectangle { + id: reviewBox + color: "transparent" + border.color: Qt.tint(Kirigami.Theme.textColor, Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.85)) + border.width: 1 + radius: Kirigami.Units.largeSpacing + + Layout.fillWidth: true + implicitHeight: reviewLayout.implicitHeight + (Kirigami.Units.largeSpacing * 2) + + ColumnLayout { + id: reviewLayout + anchors.fill: parent + spacing: 0 + + // Header with stars and date of review + RowLayout { + Layout.fillWidth: true + Layout.leftMargin: Kirigami.Units.largeSpacing + Layout.rightMargin: Kirigami.Units.largeSpacing + Layout.topMargin: Kirigami.Units.largeSpacing + Layout.bottomMargin: Kirigami.Units.smallSpacing + + Rating { + id: rating + rating: model.rating + starSize: content.font.pointSize + } + + Label { + text: i18n("Version: %1", packageVersion) + elide: Text.ElideRight + opacity: 0.6 + } + + Label { + Layout.fillWidth: true + horizontalAlignment: Text.AlignRight + text: date.toLocaleDateString(Qt.locale(), "MMMM d yyyy") + elide: Text.ElideRight + opacity: 0.6 + } + } + + // Review title and author + Label { + id: content + Layout.fillWidth: true + Layout.leftMargin: Kirigami.Units.largeSpacing + Layout.rightMargin: Kirigami.Units.largeSpacing + Layout.bottomMargin: Kirigami.Units.smallSpacing + + 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) + } + + // Review text + Label { + Layout.fillWidth: true + Layout.leftMargin: Kirigami.Units.largeSpacing + Layout.rightMargin: Kirigami.Units.largeSpacing + Layout.bottomMargin: Kirigami.Units.smallSpacing + + text: display + maximumLineCount: item.compact ? 3 : undefined + wrapMode: Text.Wrap + } + + // Gray bar at the bottom + its content layout + Rectangle { + color: Kirigami.Theme.backgroundColor + Layout.fillWidth: true + // To make the background color rect touch the outline of the box + Layout.leftMargin: reviewBox.border.width + Layout.rightMargin: reviewBox.border.width + implicitHeight: rateTheReviewLayout.implicitHeight + radius: Kirigami.Units.largeSpacing + visible: !item.compact + + // This fills in the rounded top corners, because you can't have a + // rectangle with only a few corners rounded + Rectangle { + color: Kirigami.Theme.backgroundColor + border.color: Qt.tint(Kirigami.Theme.textColor, Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.85)) + anchors.left: parent.left + anchors.leftMargin: -1 + anchors.right: parent.right + anchors.rightMargin: -1 + anchors.top: parent.top + anchors.topMargin: -1 + z: -1 + height: reviewBox.radius + } + + RowLayout { + id: rateTheReviewLayout + anchors.fill: parent + anchors.leftMargin: Kirigami.Units.largeSpacing + anchors.rightMargin: Kirigami.Units.smallSpacing + + Label { + visible: usefulnessTotal !== 0 + text: i18n("Votes: %1 out of %2", usefulnessFavorable, usefulnessTotal) + } + + Label { + Layout.fillWidth: true + horizontalAlignment: Text.AlignRight + // Change this to "Was this review useful?" once Kirigami fixes + // https://bugs.kde.org/show_bug.cgi?id=415677 + text: i18n("Useful?") + elide: Text.ElideLeft + } + + // Useful/Not Useful buttons + Button { + id: yesButton + Layout.maximumWidth: Kirigami.Units.gridUnit * 3 + Layout.topMargin: Kirigami.Units.smallSpacing + Layout.bottomMargin: Kirigami.Units.smallSpacing + Layout.alignment: Qt.AlignVCenter + + text: i18nc("Keep this string as short as humanly possible", "Yes") + + checkable: true + checked: usefulChoice === ReviewsModel.Yes + onClicked: { + noButton.checked = false + item.markUseful(true) + } + } + Button { + id: noButton + Layout.maximumWidth: Kirigami.Units.gridUnit * 3 + Layout.topMargin: Kirigami.Units.smallSpacing + Layout.bottomMargin: Kirigami.Units.smallSpacing + Layout.alignment: Qt.AlignVCenter + + text: i18nc("Keep this string as short as humanly possible", "No") + + checkable: true + checked: usefulChoice === ReviewsModel.No + onClicked: { + yesButton.checked = false + item.markUseful(false) + } + } + } + } + } + } + Item { + Layout.fillHeight: true + Layout.preferredWidth: Kirigami.Units.largeSpacing * 2 + } +} diff --git a/discover/qml/ReviewDialog.qml b/discover/qml/ReviewDialog.qml new file mode 100644 index 0000000..0ec2a44 --- /dev/null +++ b/discover/qml/ReviewDialog.qml @@ -0,0 +1,92 @@ +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.10 as Kirigami + +Kirigami.OverlaySheet +{ + id: reviewDialog + parent: applicationWindow().overlay + + 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() + + header: Kirigami.Heading { + wrapMode: Text.WordWrap + text: i18n("Reviewing %1", application.name) + } + + ColumnLayout { + Layout.maximumWidth: Kirigami.Units.gridUnit * 8 + + Kirigami.FormLayout { + id: contentLayout + Layout.fillHeight: true + + Rating { + id: ratingInput + Kirigami.FormData.label: i18n("Rating:") + editable: true + } + Label { + Kirigami.FormData.label: i18n("Name:") + visible: reviewDialog.backend.userName.length > 0 + Layout.fillWidth: true + elide: Text.ElideRight + text: visible ? reviewDialog.backend.userName : "" + } + TextField { + id: titleInput + Kirigami.FormData.label: i18n("Title:") + Layout.fillWidth: true + validator: RegExpValidator { regExp: /.{3,70}/ } + } + } + + TextArea { + id: reviewInput + readonly property bool acceptableInput: length > 15 && length < 3000 + Layout.fillWidth: true + Layout.minimumHeight: Kirigami.Units.gridUnit * 8 + } + + RowLayout { + + Label { + id: instructionalLabel + Layout.fillWidth: true + text: { + if (rating < 2) return i18n("Enter a rating"); + if (! titleInput.acceptableInput) return i18n("Write the title"); + if (reviewInput.length === 0) return i18n("Write the review"); + if (reviewInput.length < 15) return i18n("Keep writing..."); + if (reviewInput.length > 3000) return i18n("Too long!"); + return ""; + } + wrapMode: Text.WordWrap + opacity: 0.6 + visible: text.length > 0 + } + Item { + Layout.fillWidth: true + visible: !instructionalLabel.visible + } + Button { + id: acceptButton + enabled: !instructionalLabel.visible + text: 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..ddc9e8a --- /dev/null +++ b/discover/qml/ReviewsPage.qml @@ -0,0 +1,83 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +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.0 as Kirigami + +Kirigami.OverlaySheet { + id: page + parent: applicationWindow().overlay + + 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 + parent: applicationWindow().overlay + + application: page.resource + backend: page.reviewsBackend + onAccepted: backend.submitReview(resource, summary, review, rating) + } + + function openReviewDialog() { + reviewDialog.sheetOpen = true + page.sheetOpen = false + } + + header: ColumnLayout { + width: parent.width + spacing: Kirigami.Units.largeSpacing + + Kirigami.Heading { + Layout.fillWidth: true + wrapMode: Text.WordWrap + text: i18n("Reviews for %1", page.resource.name) + } + + RowLayout { + Layout.bottomMargin: Kirigami.Units.largeSpacing + + Button { + id: reviewButton + + visible: page.reviewsBackend != null + enabled: page.resource.isInstalled + text: i18n("Write a Review...") + onClicked: page.openReviewDialog() + } + Label { + Layout.fillWidth: true + text: i18n("Install this app to write a review") + wrapMode: Text.WordWrap + visible: !reviewButton.enabled + opacity: 0.6 + } + + } + } + + ListView { + id: reviewsView + + clip: true + topMargin: Kirigami.Units.largeSpacing + spacing: Kirigami.Units.smallSpacing + implicitWidth: Kirigami.Units.gridUnit * 25 + cacheBuffer: Math.max(0, contentHeight) + + delegate: ReviewDelegate { + width: parent.width + 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..348a457 --- /dev/null +++ b/discover/qml/SearchField.qml @@ -0,0 +1,54 @@ +/* + * SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2019 Carl Schwan + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +import QtQuick 2.5 +import QtQuick.Controls 2.1 +import org.kde.kirigami 2.7 as Kirigami + +Kirigami.ActionTextField +{ + id: searchField + focusSequence: "Ctrl+F" + rightActions: [ + Kirigami.Action { + iconName: "edit-clear" + visible: searchField.text.length !== 0 + onTriggered: searchField.clearText() + } + ] + + 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) + + onAccepted: { + searchField.text = searchField.text.replace(/\n/g, ' '); + currentSearchText = searchField.text + } + + function clearText() { + searchField.text = "" + searchField.accepted() + } + + Connections { + ignoreUnknownSignals: true + target: page + function onClearSearch() { + clearText() + } + } + + Connections { + target: applicationWindow() + function 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..ff0f54d --- /dev/null +++ b/discover/qml/SearchPage.qml @@ -0,0 +1,41 @@ +/* + * SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +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 + function 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..d6f5f73 --- /dev/null +++ b/discover/qml/Shadow.qml @@ -0,0 +1,35 @@ +/* + * SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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..781248d --- /dev/null +++ b/discover/qml/SourcesPage.qml @@ -0,0 +1,260 @@ +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.10 as Kirigami +import "navigation.js" as Navigation + +DiscoverPage { + id: page + clip: true + title: i18n("Settings") + property string search: "" + + contextualActions: feedbackLoader.item ? feedbackLoader.item.actions : [] + + mainItem: ListView { + id: sourcesView + model: SourcesModel + Component.onCompleted: Qt.callLater(SourcesModel.showingNow) + currentIndex: -1 + + section.property: "sourceName" + section.delegate: Kirigami.ListSectionHeader { + id: backendItem + + readonly property QtObject backend: SourcesModel.sourcesBackendByName(section) + readonly property QtObject resourcesBackend: backend.resourcesBackend + readonly property bool isDefault: ResourcesModel.currentApplicationBackend === resourcesBackend + + width: sourcesView.width + label: backendItem.isDefault ? i18n("%1 (Default)", resourcesBackend.displayName) : resourcesBackend.displayName + + readonly property var p0: Connections { + target: backendItem.backend + function onPassiveMessage(message) { + window.showPassiveNotification(message) + } + function onProceedRequest(title, description) { + var dialog = sourceProceedDialog.createObject(window, {sourcesBackend: backendItem.backend, title: title, description: description}) + dialog.open() + } + } + + Kirigami.ActionToolBar { + id: actionBar + Layout.fillWidth: true + alignment: Qt.AlignRight + Kirigami.Action { + id: addSource + text: i18n("Add Source...") + icon.name: "list-add" + visible: backendItem.backend && backendItem.backend.supportsAdding + + readonly property Component p0: Component { + id: dialogComponent + AddSourceDialog { + source: backendItem.backend + + onSheetOpenChanged: if(!sheetOpen) { + destroy(1000) + } + } + } + + onTriggered: { + var addSourceDialog = dialogComponent.createObject(window, {displayName: backendItem.backend.resourcesBackend.displayName }) + addSourceDialog.open() + } + } + Kirigami.Action { + id: makeDefault + visible: resourcesBackend && resourcesBackend.hasApplications + + enabled: !backendItem.isDefault + text: i18n("Make default") + icon.name: "favorite" + onTriggered: ResourcesModel.currentApplicationBackend = backendItem.backend.resourcesBackend + } + + Component { + id: kirigamiAction + Kirigami.Action { + property QtObject action + text: action.text + tooltip: action.toolTip + visible: action.visible + onTriggered: action.trigger() + } + } + + function mergeActions(moreActions) { + var actions = [makeDefault, addSource] + for(var i in moreActions) { + actions.push(kirigamiAction.createObject(actionBar, {action: moreActions[i]})) + } + return actions; + } + actions: mergeActions(backendItem.backend.actions) + } + } + + Component { + id: sourceProceedDialog + Kirigami.OverlaySheet { + id: sheet + parent: applicationWindow().overlay + + showCloseButton: false + property QtObject sourcesBackend + property alias title: heading.text + property alias description: desc.text + property bool acted: false + + header: Kirigami.Heading { + id: heading + wrapMode: Text.WordWrap + } + + ColumnLayout { + 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 { + enabled: model.display.length>0 && model.enabled + highlighted: ListView.isCurrentItem + supportsMouseEvents: false + visible: model.display.indexOf(page.search)>=0 + height: visible ? implicitHeight : 0 + + 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", model.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", model.display)) + } + }, + Kirigami.Action { + iconName: "edit-delete" + tooltip: i18n("Delete the origin") + visible: sourcesBackend.supportsAdding + onTriggered: { + var backend = sourcesBackend + if (!backend.removeSource(sourceId)) { + console.warn("Failed to remove the source", model.display) + } + } + }, + Kirigami.Action { + iconName: "view-filter" + tooltip: i18n("Show contents") + visible: sourcesBackend.canFilterSources + onTriggered: { + Navigation.openApplicationListSource(sourceId) + } + } + ] + + 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: model.display + (model.toolTip ? " - " + model.toolTip + "" : "") + elide: Text.ElideRight + textFormat: Text.StyledText + 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..6cf6601 --- /dev/null +++ b/discover/qml/TopLevelPageData.qml @@ -0,0 +1,17 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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..12eeb9c --- /dev/null +++ b/discover/qml/UpdatesPage.qml @@ -0,0 +1,413 @@ +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.10 as Kirigami + +DiscoverPage +{ + id: page + title: i18n("Updates") + + property string footerLabel: "" + property int footerProgress: 0 + property bool isBusy: false + + readonly property var resourcesUpdatesModel: ResourcesUpdatesModel { + id: resourcesUpdatesModel + onPassiveMessage: { + desc.text += message + "
\n" + sheet.sheetOpen = true + } + onIsProgressingChanged: { + if (!isProgressing) { + resourcesUpdatesModel.prepare() + } + } + + Component.onCompleted: { + if (!isProgressing) { + resourcesUpdatesModel.prepare() + } + } + } + + readonly property var sheet: Kirigami.OverlaySheet { + id: sheet + parent: applicationWindow().overlay + + header: Kirigami.Heading { text: i18n("Update Issue") } + + ColumnLayout { + Label { + id: desc + Layout.fillWidth: true + textFormat: Text.StyledText + wrapMode: Text.WordWrap + } + + Button { + id: okButton + Layout.alignment: Qt.AlignRight + text: i18n("OK") + icon.name: "dialog-ok" + onClicked: { + sheet.sheetOpen = false + } + } + } + + onSheetOpenChanged: if(!sheetOpen) { + desc.text = "" + } else { + okButton.focus = true + } + } + + readonly property var updateModel: UpdateModel { + id: updateModel + backend: resourcesUpdatesModel + } + + readonly property var updateAction: 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) + + header: ToolBar { + anchors.left: page.left + anchors.right: page.right + Kirigami.Theme.colorSet: Kirigami.Theme.Window + Kirigami.Theme.inherit: false + visible: (updateModel.totalUpdatesCount > 0 && resourcesUpdatesModel.isProgressing) || updateModel.hasUpdates + + CheckBox { + anchors.left: parent.left + anchors.leftMargin: Kirigami.Units.gridUnit + Kirigami.Units.smallSpacing + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + text: page.unselected === 0 ? i18n("All updates selected (%1)", updateModel.updateSize) : i18np("%1/%2 update selected (%3)", "%1/%2 updates selected (%3)", updateModel.toUpdateCount, updateModel.totalUpdatesCount, updateModel.updateSize) + enabled: updateAction.enabled && !resourcesUpdatesModel.isProgressing && !ResourcesModel.isFetching + tristate: true + checkState: updateModel.toUpdateCount === 0 ? Qt.Unchecked + : updateModel.toUpdateCount === updateModel.totalUpdatesCount ? Qt.Checked + : Qt.PartiallyChecked + + onClicked: { + if (updateModel.toUpdateCount === 0) + updateModel.checkAll() + else + updateModel.uncheckAll() + } + } + } + + supportsRefreshing: true + onRefreshingChanged: { + ResourcesModel.updateAction.triggered() + refreshing = false + } + + readonly property Item report: ColumnLayout { + parent: page + anchors.fill: parent + Item { + Layout.fillHeight: true + width: 1 + } + ProgressBar { + Layout.alignment: Qt.AlignHCenter + Layout.fillWidth: true + Layout.leftMargin: Kirigami.Units.largeSpacing * 2 + Layout.rightMargin: Kirigami.Units.largeSpacing * 2 + Layout.maximumWidth: Kirigami.Units.gridUnit * 20 + value: page.footerProgress + from: 0 + to: 100 + visible: page.isBusy + } + Kirigami.Icon { + Layout.alignment: Qt.AlignHCenter + visible: page.footerProgress === 0 && page.footerLabel !== "" && !page.isBusy + source: "update-none" + implicitWidth: Kirigami.Units.gridUnit * 4 + implicitHeight: Kirigami.Units.gridUnit * 4 + enabled: false + } + Kirigami.Heading { + id: statusLabel + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter + horizontalAlignment: Text.AlignHCenter + text: page.footerLabel + level: 3 + } + Button { + Layout.alignment: Qt.AlignHCenter + text: i18n("Restart") + visible: resourcesUpdatesModel.needsReboot + onClicked: app.reboot() + } + Item { + Layout.fillHeight: true + width: 1 + } + } + ListView { + id: updatesView + currentIndex: -1 + + displaced: Transition { + YAnimator { + duration: Kirigami.Units.longDuration + easing.type: Easing.InOutQuad + } + } + + model: QSortFilterProxyModel { + sourceModel: updateModel + sortRole: UpdateModel.SectionResourceProgressRole + } + + section { + property: "section" + delegate: Kirigami.ListSectionHeader { + width: updatesView.width + label: section + } + } + + delegate: Kirigami.AbstractListItem { + id: listItem + backgroundColor: Kirigami.Theme.backgroundColor + highlighted: ListView.isCurrentItem + onEnabledChanged: if (!enabled) { + layout.extended = false; + } + + visible: resourceState < 3 //3=AbstractBackendUpdater.Done + + 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 { + width: Kirigami.Units.gridUnit * 2 + Layout.preferredHeight: width + source: decoration + smooth: true + } + + ColumnLayout { + + // App name + Kirigami.Heading { + Layout.fillWidth: true + text: i18n("%1", display) + level: 3 + elide: Text.ElideRight + } + + // Version numbers + Label { + Layout.fillWidth: true + elide: truncated ? Text.ElideLeft : Text.ElideRight + text: { + if (installedVersion == availableVersion) { + // Update of the same version; show when old and new are + // the same (common with Flatpak runtimes) + return i18n("Update to version %1", availableVersion); + } else if (installedVersion && availableVersion) { + // Old and new version numbers + // This thing with \x9C is a fancy feature in QML text handling: + // when the string will be elided, it shows the string after + // the last \x9C. This allows us to show a smaller string + // when there's now enough room + + // All of this is mostly for the benefit of KDE Neon users, + // since the version strings there are really really long + return i18nc("Do not translate or alter \\x9C", "%1 → %2\x9C%1 → %2\x9C%2", installedVersion, availableVersion); + } else { + // Available version only, for when the installed version + // isn't available for some reason + return availableVersion; + } + } + opacity: listItem.hovered? 0.8 : 0.6 + } + } + + LabelBackground { + Layout.minimumWidth: Kirigami.Units.gridUnit * 6 + text: resourceState == 2 ? i18n("Installing") : 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: ( resourcesUpdatesModel.isProgressing ? "progressing" + : ResourcesModel.isFetching ? "fetching" + : updateModel.hasUpdates ? "has-updates" + : resourcesUpdatesModel.needsReboot ? "reboot" + : 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; footerLabel: i18nc("@info", "Fetching updates...") } + PropertyChanges { target: statusLabel; enabled: true } + PropertyChanges { target: page; footerProgress: ResourcesModel.fetchingUpdatesProgress } + PropertyChanges { target: page; isBusy: true } + PropertyChanges { target: updatesView; opacity: 0 } + }, + State { + name: "progressing" + PropertyChanges { target: page; supportsRefreshing: false } + PropertyChanges { target: page.actions; main: cancelUpdateAction } + }, + State { + name: "has-updates" + PropertyChanges { target: page; title: i18nc("@info", "Updates") } + PropertyChanges { target: page.actions; main: updateAction } + PropertyChanges { target: page.actions; left: refreshAction } + }, + State { + name: "reboot" + PropertyChanges { target: page; footerLabel: i18nc("@info", "The system requires a restart to apply updates") } + PropertyChanges { target: statusLabel; enabled: true } + }, + State { + name: "now-uptodate" + PropertyChanges { target: page; footerLabel: i18nc("@info", "Up to date") } + PropertyChanges { target: statusLabel; enabled: false } + PropertyChanges { target: page.actions; main: refreshAction } + }, + State { + name: "uptodate" + PropertyChanges { target: page; footerLabel: i18nc("@info", "Up to date") } + PropertyChanges { target: statusLabel; enabled: false } + PropertyChanges { target: page.actions; main: refreshAction } + }, + State { + name: "medium" + PropertyChanges { target: page; title: i18nc("@info", "Up to date") } + PropertyChanges { target: statusLabel; enabled: false } + PropertyChanges { target: page.actions; main: refreshAction } + }, + State { + name: "low" + PropertyChanges { target: page; title: i18nc("@info", "Should check for updates") } + PropertyChanges { target: statusLabel; enabled: true } + PropertyChanges { target: page.actions; main: refreshAction } + }, + State { + name: "unknown" + PropertyChanges { target: page; title: i18nc("@info", "It is unknown when the last check for updates was") } + PropertyChanges { target: statusLabel; enabled: true } + PropertyChanges { target: page.actions; main: refreshAction } + } + ] +} diff --git a/discover/qml/navigation.js b/discover/qml/navigation.js new file mode 100644 index 0000000..f1f2131 --- /dev/null +++ b/discover/qml/navigation.js @@ -0,0 +1,52 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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("qrc:/qml/ApplicationsListPage.qml", 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("qrc:/qml/ApplicationPage.qml", { application: app }) +} + +function openReviews(model) { + window.stack.push("qrc:/qml/ReviewsPage.qml", { model: model }) +} + +function openExtends(ext) { + window.stack.push("qrc:/qml/ApplicationsListPage.qml", { 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..4422949 --- /dev/null +++ b/discover/resources.qrc @@ -0,0 +1,38 @@ + + + + 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/ApplicationScreenshots.qml + qml/LabelBackground.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/AboutPage.qml + qml/Feedback.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..e3ee2a6 --- /dev/null +++ b/exporter/MuonExporter.cpp @@ -0,0 +1,87 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#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..bf2fad7 --- /dev/null +++ b/exporter/MuonExporter.h @@ -0,0 +1,37 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#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..565d5b9 --- /dev/null +++ b/exporter/main.cpp @@ -0,0 +1,46 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#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.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..832a311 --- /dev/null +++ b/libdiscover/ActionsModel.cpp @@ -0,0 +1,80 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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(); + Q_EMIT filterPriorityChanged(); + } +} diff --git a/libdiscover/ActionsModel.h b/libdiscover/ActionsModel.h new file mode 100644 index 0000000..3e5b449 --- /dev/null +++ b/libdiscover/ActionsModel.h @@ -0,0 +1,46 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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 NOTIFY filterPriorityChanged) + 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); + void filterPriorityChanged(); + + 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..66d7f9e --- /dev/null +++ b/libdiscover/ApplicationAddonsModel.cpp @@ -0,0 +1,144 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "ApplicationAddonsModel.h" +#include +#include +#include +#include +#include "libdiscover_debug.h" + +ApplicationAddonsModel::ApplicationAddonsModel(QObject* parent) + : QAbstractListModel(parent) + , m_app(nullptr) +{ +// new QAbstractItemModelTester(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..a62aa17 --- /dev/null +++ b/libdiscover/ApplicationAddonsModel.h @@ -0,0 +1,59 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..45925e8 --- /dev/null +++ b/libdiscover/CMakeLists.txt @@ -0,0 +1,84 @@ +add_definitions(-DTRANSLATION_DOMAIN=\"libdiscover\") + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-paths.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-paths.h) + +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 + ActionsModel.cpp + DiscoverBackendsFactory.cpp + ScreenshotsModel.cpp + ApplicationAddonsModel.cpp + CachedNetworkAccessManager.cpp +) + +ecm_qt_declare_logging_category(discovercommon_SRCS HEADER libdiscover_debug.h IDENTIFIER LIBDISCOVER_LOG CATEGORY_NAME org.kde.plasma.libdiscover) + + +add_library(DiscoverCommon ${discovercommon_SRCS}) +if(AppStreamQt_FOUND) + target_sources(DiscoverCommon PRIVATE + appstream/OdrsReviewsBackend.cpp + appstream/AppStreamIntegration.cpp + appstream/AppStreamUtils.cpp + ) + target_link_libraries(DiscoverCommon PRIVATE AppStreamQt) + + if(AppStreamQt_VERSION VERSION_GREATER 0.12.4) + target_compile_definitions(DiscoverCommon PRIVATE -DAPPSTREAM_HAS_SPDX=1) + else() + target_compile_definitions(DiscoverCommon PRIVATE -DAPPSTREAM_HAS_SPDX=0) + endif() + if(AppStreamQt_VERSION VERSION_GREATER 0.12.7) + target_compile_definitions(DiscoverCommon PRIVATE -DAPPSTREAM_HAS_SPDX_LICENSEURL=1) + else() + target_compile_definitions(DiscoverCommon PRIVATE -DAPPSTREAM_HAS_SPDX_LICENSEURL=0) + endif() +endif() + +target_link_libraries(DiscoverCommon +PUBLIC + Qt5::Core + Qt5::Qml + Qt5::Widgets + KF5::I18n + KF5::ItemModels +PRIVATE + Qt5::Xml + KF5::CoreAddons + KF5::KIOWidgets # KIO/AccessManager +) +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..6636a55 --- /dev/null +++ b/libdiscover/CachedNetworkAccessManager.cpp @@ -0,0 +1,32 @@ +/* + * SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "CachedNetworkAccessManager.h" + +#include +#include +#include +#include + +CachedNetworkAccessManager::CachedNetworkAccessManager(const QString &path, QObject *parent) + : KIO::AccessManager(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 KIO::AccessManager::createRequest(op, request, outgoingData); +} + diff --git a/libdiscover/CachedNetworkAccessManager.h b/libdiscover/CachedNetworkAccessManager.h new file mode 100644 index 0000000..66ac52c --- /dev/null +++ b/libdiscover/CachedNetworkAccessManager.h @@ -0,0 +1,25 @@ +/* + * SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef CACHEDNETWORKACCESSMANAGER_H +#define CACHEDNETWORKACCESSMANAGER_H + +#include +#include +#include + +class Q_DECL_EXPORT CachedNetworkAccessManager : public KIO::AccessManager +{ + Q_OBJECT +public: + explicit CachedNetworkAccessManager(const QString &path, QObject *parent = nullptr); + + virtual QNetworkReply * createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData = nullptr) override; +}; + +#endif // CACHEDNETWORKACCESSMANAGER_H + diff --git a/libdiscover/Category/CategoriesReader.cpp b/libdiscover/Category/CategoriesReader.cpp new file mode 100644 index 0000000..05ea321 --- /dev/null +++ b/libdiscover/Category/CategoriesReader.cpp @@ -0,0 +1,62 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "CategoriesReader.h" +#include "Category.h" +#include +#include +#include "libdiscover_debug.h" +#include +#include + +#include +#include + +QVector CategoriesReader::loadCategoriesFile(AbstractResourcesBackend* backend) +{ + QString path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QLatin1String("libdiscover/categories/")+backend->name()+QLatin1String("-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}, qApp ); + 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..98bdb4d --- /dev/null +++ b/libdiscover/Category/CategoriesReader.h @@ -0,0 +1,22 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..b0e4de1 --- /dev/null +++ b/libdiscover/Category/Category.cpp @@ -0,0 +1,290 @@ +/* + * SPDX-FileCopyrightText: 2010 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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, QLatin1String("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; +} + +void Category::setName(const QString& name) +{ + m_name = name; + Q_EMIT nameChanged(); +} + +QString Category::icon() const +{ + return m_iconString; +} + +QVector > Category::andFilters() const +{ + return m_andFilters; +} + +void Category::setAndFilter(QVector > filters) +{ + m_andFilters = filters; +} + +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->icon() << newcat->icon() << "--" + << 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)); +} + +void Category::addSubcategory(Category* cat) +{ + int i = 0; + for(Category* subCat : qAsConst(m_subCategories)) { + if(!categoryLessThan(subCat, cat)) { + break; + } + ++i; + } + m_subCategories.insert(i, cat); + Q_ASSERT(isSorted(m_subCategories)); +} + +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..4e3ef44 --- /dev/null +++ b/libdiscover/Category/Category.h @@ -0,0 +1,93 @@ +/* + * SPDX-FileCopyrightText: 2010 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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 NOTIFY nameChanged) + 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; + // You should never attempt to change the name of anything that is not a leaf category + // as the results could be potentially detremental to the function of the category filters + void setName(const QString& name); + QString icon() const; + QVector > andFilters() const; + void setAndFilter(QVector > filters); + QVector > orFilters() const; + QVector > notFilters() const; + QVector subCategories() const; + QVariantList subCategoriesVariant() const; + + static void sortCategories(QVector& cats); + static void addSubcategory(QVector& cats, Category* cat); + /** + * Add a subcategory to this category. This function should only + * be used during the initialisation stage, before adding the local + * root category to the global root category model. + */ + void addSubcategory(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(); + void nameChanged(); + +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..b045cbf --- /dev/null +++ b/libdiscover/Category/CategoryModel.cpp @@ -0,0 +1,96 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +// Own includes +#include "CategoryModel.h" +#include "Category.h" +#include "CategoriesReader.h" +#include "libdiscover_debug.h" +#include +#include +#include + +CategoryModel::CategoryModel(QObject* parent) + : QObject(parent) +{ + QTimer* t = new QTimer(this); + t->setInterval(0); + t->setSingleShot(true); + connect(t, &QTimer::timeout, this, &CategoryModel::populateCategories); + connect(ResourcesModel::global(), &ResourcesModel::backendsChanged, t, QOverload<>::of(&QTimer::start)); +} + +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 QVariant::fromValue(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..0a28eb4 --- /dev/null +++ b/libdiscover/Category/CategoryModel.h @@ -0,0 +1,38 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..b61b090 --- /dev/null +++ b/libdiscover/DiscoverBackendsFactory.cpp @@ -0,0 +1,121 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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; +} + +bool DiscoverBackendsFactory::hasRequestedBackends() +{ + return !s_requestedBackends->isEmpty(); +} + +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(QLatin1String("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) +{ +#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0) + QStringList backends = test ? QStringList{ QStringLiteral("dummy-backend") } : parser->value(QStringLiteral("backends")).split(QLatin1Char(','), QString::SkipEmptyParts); +#else + QStringList backends = test ? QStringList{ QStringLiteral("dummy-backend") } : parser->value(QStringLiteral("backends")).split(QLatin1Char(','), Qt::SkipEmptyParts); +#endif + 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..a884e7b --- /dev/null +++ b/libdiscover/DiscoverBackendsFactory.h @@ -0,0 +1,36 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef DISCOVERBACKENDSFACTORY_H +#define DISCOVERBACKENDSFACTORY_H + +#include "discovercommon_export.h" +#include + +class QCommandLineParser; +class QStringList; +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); + static bool hasRequestedBackends(); + +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..2a7ce87 --- /dev/null +++ b/libdiscover/ReviewsBackend/AbstractReviewsBackend.cpp @@ -0,0 +1,21 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + +#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(); + void error(const QString &message); +}; + +#endif // ABSTRACTREVIEWSBACKEND_H diff --git a/libdiscover/ReviewsBackend/Rating.cpp b/libdiscover/ReviewsBackend/Rating.cpp new file mode 100644 index 0000000..0a05f27 --- /dev/null +++ b/libdiscover/ReviewsBackend/Rating.cpp @@ -0,0 +1,137 @@ +/* + * SPDX-FileCopyrightText: 2011 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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(int ratings[6], double power = 0.1) +{ + int tot_ratings = 0; + for (int i = 0; i < 6; ++i) + tot_ratings = ratings[i] + tot_ratings; + + double sum_scores = 0.0; + for (int i = 0; i < 6; i++) { + const int rating = ratings[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, int data[6]) + : QObject() + , m_packageName(packageName) + , m_ratingCount(ratingCount) + // TODO consider storing data[] and present in UI + , m_rating(((data[1] + (data[2] * 2) + + (data[3] * 3) + (data[4] * 4) + + (data[5] * 5)) * 2) / qMax(1, ratingCount)) + , m_ratingPoints(0) + , m_sortableRating(0) +{ + int spread[6]; + for(int i=0; i<6; ++i) { + int points = data[i]; + m_ratingPoints += (i+1)*points; + spread[i] = points; + } + + m_sortableRating = dampenedRating(spread) * 2; +} + +Rating::Rating(const QString &packageName, quint64 ratingCount, int rating) + : QObject() + , m_packageName(packageName) + , m_ratingCount(ratingCount) + , m_rating(rating) + , m_ratingPoints(rating) + , m_sortableRating(rating) +{ +} + +Rating::~Rating() = default; + +QString Rating::packageName() const +{ + return m_packageName; +} + +quint64 Rating::ratingCount() const +{ + return m_ratingCount; +} + +float Rating::rating() const +{ + return m_rating; +} + +int Rating::ratingPoints() const +{ + return m_ratingPoints; +} + +double Rating::sortableRating() const +{ + return m_sortableRating; +} diff --git a/libdiscover/ReviewsBackend/Rating.h b/libdiscover/ReviewsBackend/Rating.h new file mode 100644 index 0000000..18e8978 --- /dev/null +++ b/libdiscover/ReviewsBackend/Rating.h @@ -0,0 +1,43 @@ +/* + * SPDX-FileCopyrightText: 2011 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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, int rating); + explicit Rating(const QString &packageName, quint64 ratingCount, int data[6]); + ~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..bf44edd --- /dev/null +++ b/libdiscover/ReviewsBackend/Review.cpp @@ -0,0 +1,124 @@ +/* + * SPDX-FileCopyrightText: 2011 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..6ec69dd --- /dev/null +++ b/libdiscover/ReviewsBackend/Review.h @@ -0,0 +1,65 @@ +/* + * SPDX-FileCopyrightText: 2011 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef REVIEW_H +#define REVIEW_H + +#include +#include + +#include "ReviewsModel.h" +#include "discovercommon_export.h" + + +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..3ddca3b --- /dev/null +++ b/libdiscover/ReviewsBackend/ReviewsModel.cpp @@ -0,0 +1,173 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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"); + roles.insert(Depth, "depth"); + roles.insert(PackageVersion, "packageVersion"); + 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(); + case PackageVersion: + return m_reviews.at(index.row())->packageVersion(); + case Depth: + return m_reviews.at(index.row())->getMetadata(QStringLiteral("NumberOfParents")).toInt(); + } + 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..366fe94 --- /dev/null +++ b/libdiscover/ReviewsBackend/ReviewsModel.h @@ -0,0 +1,79 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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, + Depth, + PackageVersion + }; + 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..f3ac7eb --- /dev/null +++ b/libdiscover/ScreenshotsModel.cpp @@ -0,0 +1,101 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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(); +} + +void ScreenshotsModel::remove(const QUrl& url) +{ + int idxRemove = m_thumbnails.indexOf(url); + if (idxRemove>=0) { + beginRemoveRows({}, idxRemove, idxRemove); + m_thumbnails.removeAt(idxRemove); + m_screenshots.removeAt(idxRemove); + endRemoveRows(); + emit countChanged(); + + qDebug() << "screenshot removed" << url; + } +} diff --git a/libdiscover/ScreenshotsModel.h b/libdiscover/ScreenshotsModel.h new file mode 100644 index 0000000..46935f2 --- /dev/null +++ b/libdiscover/ScreenshotsModel.h @@ -0,0 +1,51 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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; + + Q_INVOKABLE void remove(const QUrl &url); + + 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..0c09ce6 --- /dev/null +++ b/libdiscover/Transaction/AddonList.cpp @@ -0,0 +1,69 @@ +/* + * SPDX-FileCopyrightText: 2012 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..9fcc7a4 --- /dev/null +++ b/libdiscover/Transaction/AddonList.h @@ -0,0 +1,42 @@ +/* + * SPDX-FileCopyrightText: 2012 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..499fe6a --- /dev/null +++ b/libdiscover/Transaction/Transaction.cpp @@ -0,0 +1,135 @@ +/* + * SPDX-FileCopyrightText: 2012 Jonathan Thomas +#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..f55df21 --- /dev/null +++ b/libdiscover/Transaction/Transaction.h @@ -0,0 +1,184 @@ +/* + * SPDX-FileCopyrightText: 2012 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..6696a4f --- /dev/null +++ b/libdiscover/Transaction/TransactionListener.cpp @@ -0,0 +1,146 @@ +/* + * SPDX-FileCopyrightText: 2010 Jonathan Thomas + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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::DoneWithErrorStatus: + 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..6256839 --- /dev/null +++ b/libdiscover/Transaction/TransactionListener.h @@ -0,0 +1,62 @@ +/* + * SPDX-FileCopyrightText: 2010 Jonathan Thomas + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..e9269eb --- /dev/null +++ b/libdiscover/Transaction/TransactionModel.cpp @@ -0,0 +1,197 @@ +/* + * SPDX-FileCopyrightText: 2012 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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 QVariant::fromValue(trans); + case ResourceRole: + return QVariant::fromValue(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..551a9c2 --- /dev/null +++ b/libdiscover/Transaction/TransactionModel.h @@ -0,0 +1,67 @@ +/* + * SPDX-FileCopyrightText: 2012 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..72c44f8 --- /dev/null +++ b/libdiscover/UpdateModel/UpdateItem.cpp @@ -0,0 +1,89 @@ +/* + * SPDX-FileCopyrightText: 2011 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "UpdateItem.h" +#include +#include +#include + +#include +#include +#include "libdiscover_debug.h" + +UpdateItem::UpdateItem(AbstractResource *app) + : m_app(app) +{ +} + +UpdateItem::~UpdateItem() +{ +} + +AbstractResource *UpdateItem::app() const +{ + return m_app; +} + +QString UpdateItem::name() const +{ + return m_app->name(); +} + +// Deprecated; use availableVersion() instead +QString UpdateItem::version() const +{ + return m_app->availableVersion(); +} + +QString UpdateItem::availableVersion() const +{ + return m_app->availableVersion(); +} + +QString UpdateItem::installedVersion() const +{ + return m_app->installedVersion(); +} + +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..2eafa0a --- /dev/null +++ b/libdiscover/UpdateModel/UpdateItem.h @@ -0,0 +1,59 @@ +/* + * SPDX-FileCopyrightText: 2011 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef UPDATEITEM_H +#define UPDATEITEM_H + +// Qt includes +#include +#include +#include "discovercommon_export.h" +#include "resources/AbstractBackendUpdater.h" + +#include + +class AbstractResource; +class DISCOVERCOMMON_EXPORT UpdateItem +{ +public: + explicit UpdateItem(AbstractResource *app); + + ~UpdateItem(); + + void setProgress(qreal progress); + qreal progress() const; + + AbstractBackendUpdater::State state() const { return m_state; } + void setState(AbstractBackendUpdater::State state) { m_state = state; } + + QString changelog() const; + void setChangelog(const QString &changelog); + + AbstractResource *app() const; + QString name() const; + QString version() const; // Deprecated; use availableVersion() instead + QString availableVersion() const; + QString installedVersion() const; + QVariant icon() const; + qint64 size() const; + Qt::CheckState checked() const; + + AbstractResource* resource() const { return m_app; } + bool isVisible() const { return m_visible; } + void setVisible(bool visible) { m_visible = visible; } + +private: + AbstractResource * const m_app; + + const QString m_categoryName; + const QIcon m_categoryIcon; + qreal m_progress = 0.; + bool m_visible = true; + AbstractBackendUpdater::State m_state = AbstractBackendUpdater::None; + QString m_changelog; +}; + +#endif // UPDATEITEM_H diff --git a/libdiscover/UpdateModel/UpdateModel.cpp b/libdiscover/UpdateModel/UpdateModel.cpp new file mode 100644 index 0000000..b26e281 --- /dev/null +++ b/libdiscover/UpdateModel/UpdateModel.cpp @@ -0,0 +1,347 @@ +/* + * SPDX-FileCopyrightText: 2011 Jonathan Thomas + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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 +{ + auto ret = QAbstractItemModel::roleNames(); + ret.insert(Qt::CheckStateRole, "checked"); + ret.insert(ResourceProgressRole, "resourceProgress"); + ret.insert(ResourceStateRole, "resourceState"); + ret.insert(ResourceRole, "resource"); + ret.insert(SizeRole, "size"); + ret.insert(SectionRole, "section"); + ret.insert(ChangelogRole, "changelog"); + ret.insert(InstalledVersionRole, "installedVersion"); + ret.insert(AvailableVersionRole, "availableVersion"); + return ret; +} + +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, AbstractBackendUpdater::State state) +{ + UpdateItem* item = itemFromResource(res); + if (!item) + return; + item->setProgress(progress); + item->setState(state); + + const QModelIndex idx = indexFromItem(item); + Q_EMIT dataChanged(idx, idx, { ResourceProgressRole, ResourceStateRole, 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 InstalledVersionRole: + return item->installedVersion(); + case AvailableVersionRole: + return item->availableVersion(); + case SizeRole: + return KFormat().formatByteSize(item->size()); + case ResourceRole: + return QVariant::fromValue(item->resource()); + case ResourceProgressRole: + return item->progress(); + case ResourceStateRole: + return item->state(); + 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"); + static const QString addonsSection = i18nc("@item:inlistbox", "Addons"); + switch(item->resource()->type()) { + case AbstractResource::Application: return appUpdatesSection; + case AbstractResource::Technical: return systemUpdateSection; + case AbstractResource::Addon: return addonsSection; + } + Q_UNREACHABLE(); + } + case SectionResourceProgressRole: + return (100-item->progress()) + (101 * item->resource()->type()); + 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 Qt::NoItemFlags; + + 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, addonItems; + foreach(AbstractResource* res, resources) { + connect(res, &AbstractResource::changelogFetched, this, &UpdateModel::integrateChangelog, Qt::UniqueConnection); + + UpdateItem *updateItem = new UpdateItem(res); + + switch(res->type()) { + case AbstractResource::Technical: + systemItems += updateItem; + break; + case AbstractResource::Application: + appItems += updateItem; + break; + case AbstractResource::Addon: + addonItems += updateItem; + break; + } + } + const auto sortUpdateItems = [](UpdateItem *a, UpdateItem *b) { return a->name() < b->name(); }; + std::sort(appItems.begin(), appItems.end(), sortUpdateItems); + std::sort(systemItems.begin(), systemItems.end(), sortUpdateItems); + std::sort(addonItems.begin(), addonItems.end(), sortUpdateItems); + m_updateItems = (QVector() << appItems << addonItems << 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 m_updates ? KFormat().formatByteSize(m_updates->updateSize()) : QString(); +} + +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, AvailableVersionRole}); + else if (properties.contains("size")) { + Q_EMIT dataChanged(index, index, {SizeRole}); + m_updateSizeTimer->start(); + } +} + +void UpdateModel::checkAll() +{ + for(int i=0, c=rowCount(); i + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef UPDATEMODEL_H +#define UPDATEMODEL_H + +#include +#include "resources/AbstractBackendUpdater.h" +#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 { + SizeRole = Qt::UserRole + 1, + ResourceRole, + ResourceProgressRole, + ResourceStateRole, + SectionResourceProgressRole, + ChangelogRole, + SectionRole, + InstalledVersionRole, + AvailableVersionRole, + }; + 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 checkAll(); + void uncheckAll(); + + 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, AbstractBackendUpdater::State state); + 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..eb01995 --- /dev/null +++ b/libdiscover/appstream/AppStreamIntegration.cpp @@ -0,0 +1,30 @@ +/* + * SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "AppStreamIntegration.h" +#include + +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()); + m_reviews = ret; + } + return ret; +} diff --git a/libdiscover/appstream/AppStreamIntegration.h b/libdiscover/appstream/AppStreamIntegration.h new file mode 100644 index 0000000..8e7fb07 --- /dev/null +++ b/libdiscover/appstream/AppStreamIntegration.h @@ -0,0 +1,31 @@ +/* + * SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef APPSTREAMINTEGRATION_H +#define APPSTREAMINTEGRATION_H + +#include "discovercommon_export.h" +#include +#include +#include "OdrsReviewsBackend.h" + +class DISCOVERCOMMON_EXPORT AppStreamIntegration : public QObject +{ + Q_OBJECT +public: + static AppStreamIntegration* global(); + + QSharedPointer reviews(); + KOSRelease* osRelease() { return &m_osrelease; } + +private: + QWeakPointer m_reviews; + KOSRelease m_osrelease; + + AppStreamIntegration() {} +}; + +#endif // APPSTREAMINTEGRATION_H diff --git a/libdiscover/appstream/AppStreamUtils.cpp b/libdiscover/appstream/AppStreamUtils.cpp new file mode 100644 index 0000000..17aeac1 --- /dev/null +++ b/libdiscover/appstream/AppStreamUtils.cpp @@ -0,0 +1,107 @@ +/* + * SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "AppStreamUtils.h" + +#include +#include +#include +#include +#include "utils.h" +#include +#include +#include +#include +#if APPSTREAM_HAS_SPDX +#include +#endif + +using namespace AppStreamUtils; + +QUrl AppStreamUtils::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; +} + +QString AppStreamUtils::changelogToHtml(const AppStream::Component& appdata) +{ + if(appdata.releases().isEmpty()) + return {}; + + const auto release = appdata.releases().constFirst(); + if (release.description().isEmpty()) + return {}; + + QString changelog = QLatin1String("

") + release.version() + QLatin1String("

") + + QStringLiteral("

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

"); + return changelog; +} + +QPair, QList > AppStreamUtils::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 {thumbnails, screenshots}; +} + +QJsonArray AppStreamUtils::licenses(const AppStream::Component& appdata) +{ +#if APPSTREAM_HAS_SPDX + QJsonArray ret; + const auto licenses = AppStream::SPDX::tokenizeLicense(appdata.projectLicense()); +#if !APPSTREAM_HAS_SPDX_LICENSEURL + static const QLatin1String prop ("@LicenseRef-proprietary="); +#endif + for (const auto &token : licenses) { + QString license = token; + license.remove(0, 1); //tokenize prefixes with an @ for some reason + if (!AppStream::SPDX::isLicenseId(license)) + continue; +#if APPSTREAM_HAS_SPDX_LICENSEURL + ret.append(QJsonObject{ {QStringLiteral("name"), license}, {QStringLiteral("url"), { AppStream::SPDX::licenseUrl(license) } }}); +#else + if (license.startsWith(prop)) + ret.append(QJsonObject{ {QStringLiteral("name"), i18n("Proprietary")}, {QStringLiteral("url"), license.mid(prop.size())} }); + else + ret.append(QJsonObject{ {QStringLiteral("name"), license}, {QStringLiteral("url"), { QLatin1String("https://spdx.org/licenses/") + AppStream::SPDX::asSpdxId(license) + QLatin1String(".html#licenseText") } }}); +#endif + } + return ret; +#else + return { QJsonObject { {QStringLiteral("name"), appdata.projectLicense() } } }; +#endif +} + +QStringList AppStreamUtils::appstreamIds(const QUrl &appstreamUrl) +{ + QStringList ret; + ret += appstreamUrl.host().isEmpty() ? appstreamUrl.path() : appstreamUrl.host(); + if (appstreamUrl.hasQuery()) { + QUrlQuery query(appstreamUrl); +#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0) + ret << query.queryItemValue(QStringLiteral("alt")).split(QLatin1Char(','), QString::SkipEmptyParts); +#else + ret << query.queryItemValue(QStringLiteral("alt")).split(QLatin1Char(','), Qt::SkipEmptyParts); +#endif + } + return ret; +} diff --git a/libdiscover/appstream/AppStreamUtils.h b/libdiscover/appstream/AppStreamUtils.h new file mode 100644 index 0000000..89279aa --- /dev/null +++ b/libdiscover/appstream/AppStreamUtils.h @@ -0,0 +1,29 @@ +/* + * SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef APPSTREAMUTILS_H +#define APPSTREAMUTILS_H + +#include +#include +#include +#include + +namespace AppStreamUtils +{ +Q_DECL_EXPORT QUrl imageOfKind(const QList &images, AppStream::Image::Kind kind); + +Q_DECL_EXPORT QString changelogToHtml(const AppStream::Component &appdata); + +Q_DECL_EXPORT QPair, QList> fetchScreenshots(const AppStream::Component &appdata); + +Q_DECL_EXPORT QJsonArray licenses(const AppStream::Component &appdata); + +Q_DECL_EXPORT QStringList appstreamIds(const QUrl &appstreamUrl); + +} + +#endif diff --git a/libdiscover/appstream/OdrsReviewsBackend.cpp b/libdiscover/appstream/OdrsReviewsBackend.cpp new file mode 100644 index 0000000..b90a632 --- /dev/null +++ b/libdiscover/appstream/OdrsReviewsBackend.cpp @@ -0,0 +1,330 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "OdrsReviewsBackend.h" +#include "AppStreamIntegration.h" +#include "CachedNetworkAccessManager.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() + : AbstractReviewsBackend(nullptr) + , m_isFetching(false) +{ + 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() +{ + return AppStreamIntegration::global()->osRelease()->name(); +} + +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; + + 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"), -1} + }); + + const auto json = document.toJson(QJsonDocument::Compact); + QNetworkRequest request(QUrl(QStringLiteral(APIURL "/fetch"))); + request.setHeader(QNetworkRequest::ContentTypeHeader, QStringLiteral("application/json; charset=utf-8")); + request.setHeader(QNetworkRequest::ContentLengthHeader, json.size()); + // Store reference to the app for which we request reviews + request.setOriginatingObject(app); + + auto reply = nam()->post(request, json); + connect(reply, &QNetworkReply::finished, this, &OdrsReviewsBackend::reviewsFetched); +} + +void OdrsReviewsBackend::reviewsFetched() +{ + QNetworkReply* reply = qobject_cast(sender()); + QScopedPointer replyPtr(reply); + const QByteArray data = reply->readAll(); + const auto networkError = reply->error(); + if (networkError != QNetworkReply::NoError) { + qCWarning(LIBDISCOVER_LOG) << "error fetching reviews:" << reply->errorString() << data; + Q_EMIT error(i18n("Error while fetching reviews: %1", reply->errorString())); + m_isFetching = false; + return; + } + + const QJsonDocument document = QJsonDocument::fromJson(data); + AbstractResource *resource = qobject_cast(reply->request().originatingObject()); + Q_ASSERT(resource); + parseReviews(document, resource); +} + +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 = nam()->post(request, document.toJson()); + connect(reply, &QNetworkReply::finished, this, &OdrsReviewsBackend::usefulnessSubmitted); +} + +void OdrsReviewsBackend::usefulnessSubmitted() +{ + QNetworkReply* reply = qobject_cast(sender()); + const auto networkError = reply->error(); + if (networkError == QNetworkReply::NoError) { + qCWarning(LIBDISCOVER_LOG) << "Usefulness submitted"; + } else { + qCWarning(LIBDISCOVER_LOG) << "Failed to submit usefulness: " << reply->errorString(); + Q_EMIT error(i18n("Error while submitting usefulness: %1", reply->errorString())); + } + reply->deleteLater(); +} + +QString OdrsReviewsBackend::userName() const +{ + return KUser().property(KUser::FullName).toString(); +} + +void OdrsReviewsBackend::submitReview(AbstractResource *res, const QString &summary, const QString &description, const QString &rating) +{ + Q_ASSERT(res); + 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 = nam(); + 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) +{ + const auto networkError = reply->error(); + if (networkError == QNetworkReply::NoError) { + AbstractResource *resource = qobject_cast(reply->request().originatingObject()); + Q_ASSERT(resource); + qCWarning(LIBDISCOVER_LOG) << "Review submitted" << resource; + if (resource) { + const QJsonDocument document({resource->getMetadata(QStringLiteral("ODRS::review_map")).toObject()}); + parseReviews(document, resource); + } else { + qCWarning(LIBDISCOVER_LOG) << "Failed to submit review: missing object"; + } + } else { + Q_EMIT error(i18n("Error while submitting review: %1", reply->errorString())); + qCWarning(LIBDISCOVER_LOG) << "Failed to submit review: " << reply->errorString(); + } + reply->deleteLater(); +} + +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(); + int ratingMap[] = { appJsonObject.value(QLatin1String("star0")).toInt(), + appJsonObject.value(QLatin1String("star1")).toInt(), + appJsonObject.value(QLatin1String("star2")).toInt(), + appJsonObject.value(QLatin1String("star3")).toInt(), + appJsonObject.value(QLatin1String("star4")).toInt(), + 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.setSecsSinceEpoch(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(); +} + +void OdrsReviewsBackend::emitRatingFetched(AbstractResourcesBackend* b, const QList& resources) const +{ + b->emitRatingsReady(); + foreach(AbstractResource* res, resources) { + if (m_ratings.contains(res->appstreamId())) { + Q_EMIT res->ratingFetched(); + } + } +} + +QNetworkAccessManager * OdrsReviewsBackend::nam() +{ + if (!m_delayedNam) { + m_delayedNam = new CachedNetworkAccessManager(QStringLiteral("odrs"), this); + } + return m_delayedNam; +} diff --git a/libdiscover/appstream/OdrsReviewsBackend.h b/libdiscover/appstream/OdrsReviewsBackend.h new file mode 100644 index 0000000..b600ca7 --- /dev/null +++ b/libdiscover/appstream/OdrsReviewsBackend.h @@ -0,0 +1,64 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef ODRSREVIEWSBACKEND_H +#define ODRSREVIEWSBACKEND_H + +#include +#include + +#include +#include +#include + +class KJob; +class AbstractResourcesBackend; +class CachedNetworkAccessManager; + +class DISCOVERCOMMON_EXPORT OdrsReviewsBackend : public AbstractReviewsBackend +{ +Q_OBJECT +public: + explicit OdrsReviewsBackend(); + + 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; + bool isResourceSupported(AbstractResource * res) const override; + void emitRatingFetched(AbstractResourcesBackend* backend, const QList& res) const; + +private Q_SLOTS: + void ratingsFetched(KJob *job); + void reviewsFetched(); + void reviewSubmitted(QNetworkReply *reply); + void usefulnessSubmitted(); + +Q_SIGNALS: + void ratingsReady(); + +private: + QNetworkAccessManager* nam(); + void parseRatings(); + void parseReviews(const QJsonDocument &document, AbstractResource *resource); + + QHash m_ratings; + bool m_isFetching; + CachedNetworkAccessManager* m_delayedNam = nullptr; +}; + +#endif // ODRSREVIEWSBACKEND_H + diff --git a/libdiscover/backends/CMakeLists.txt b/libdiscover/backends/CMakeLists.txt new file mode 100644 index 0000000..5f87f63 --- /dev/null +++ b/libdiscover/backends/CMakeLists.txt @@ -0,0 +1,48 @@ +function(add_unit_test name) + add_executable(${name} ${ARGN}) + add_test(${name} ${CMAKE_BINARY_DIR}/bin/${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 "https://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..0ac8c80 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyBackend.cpp @@ -0,0 +1,173 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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); + } + + 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->type() == AbstractResource::Technical && 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) +{ + if(search.isLocalFile()) { + DummyResource* res = new DummyResource(search.fileName(), AbstractResource::Technical, this); + res->setSize(666); + res->setState(AbstractResource::None); + m_resources.insert(res->packageName(), res); + connect(res, &DummyResource::stateChanged, this, &DummyBackend::updatesCountChanged); + return new ResultsStream(QStringLiteral("DummyStream-local"), { res }); + } + + 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"; +} + +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..677424a --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyBackend.h @@ -0,0 +1,52 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef DUMMYBACKEND_H +#define DUMMYBACKEND_H + +#include +#include + +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; } + 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..17e3189 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyNotifier.cpp @@ -0,0 +1,23 @@ +/* + * SPDX-FileCopyrightText: 2013 Lukas Appelhans + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ +#include "DummyNotifier.h" + +#include + +DummyNotifier::DummyNotifier(QObject* parent) + : BackendNotifierModule(parent) +{ +} + +DummyNotifier::~DummyNotifier() +{ +} + +void DummyNotifier::recheckSystemUpdateNeeded() +{ + emit foundUpdates(); +} + diff --git a/libdiscover/backends/DummyBackend/DummyNotifier.h b/libdiscover/backends/DummyBackend/DummyNotifier.h new file mode 100644 index 0000000..6a7a37a --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyNotifier.h @@ -0,0 +1,26 @@ +/* + * SPDX-FileCopyrightText: 2013 Lukas Appelhans + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ +#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; + bool hasSecurityUpdates() override { return false; } + bool hasUpdates() override { return false; } + 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..d997236 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyResource.cpp @@ -0,0 +1,185 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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, AbstractResource::Type type, 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_type(type) +{ + const int nofScreenshots = KRandom::random() % 5; + m_screenshots = QList{ + QUrl(QStringLiteral("https://screenshots.debian.net/screenshots/000/014/863/large.png")), + 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")), + QUrl(QStringLiteral("https://images.unsplash.com/photo-1528744598421-b7b93e12df15?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=500&q=60")), + QUrl(QStringLiteral("https://images.unsplash.com/photo-1552385430-53e6f2028760?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=634&q=80")), + QUrl(QStringLiteral("https://images.unsplash.com/photo-1506810172640-8a9f77cb1472?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80")), + + }.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("https://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 +{ + static const QVector icons = { QStringLiteral("device-notifier"), QStringLiteral("media-floppy"), QStringLiteral("drink-beer") }; + return icons[type()]; +} + +QString DummyResource::installedVersion() const +{ + return QStringLiteral("2.3"); +} + +QJsonArray DummyResource::licenses() +{ + return { QJsonObject{ {QStringLiteral("name"), QStringLiteral("GPL") }, { QStringLiteral("url"), QStringLiteral("https://kde.org") } } }; +} + +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..c896bb0 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyResource.h @@ -0,0 +1,63 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef DUMMYRESOURCE_H +#define DUMMYRESOURCE_H + +#include + +class AddonList; +class DummyResource : public AbstractResource +{ +Q_OBJECT +public: + explicit DummyResource(QString name, AbstractResource::Type type, AbstractResourcesBackend* parent); + + QList addonsInformation() override; + QString section() override; + QString origin() const override; + QString longDescription() override; + QString availableVersion() const override; + QString installedVersion() const override; + QJsonArray licenses() 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; + AbstractResource::Type type() const override { return m_type; } + bool canExecute() const override { return true; } + void invokeApplication() const override; + void fetchChangelog() override; + void fetchScreenshots() override; + QUrl url() const override; + QString author() const override { return QStringLiteral("BananaPerson"); } + 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: + const QString m_name; + AbstractResource::State m_state; + QList m_screenshots; + QList m_screenshotThumbnails; + QString m_iconName; + QList m_addons; + const AbstractResource::Type m_type; + 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..c025858 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyReviewsBackend.cpp @@ -0,0 +1,70 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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; + + int ratings[] = {0,0,0,0,0, randomRating}; + Rating* rating = new Rating(app->packageName(), ++i, ratings); + 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..5f56d89 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyReviewsBackend.h @@ -0,0 +1,45 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..e5f3109 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummySourcesBackend.cpp @@ -0,0 +1,80 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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) { + Q_EMIT passiveMessage(QStringLiteral("Could not find %1").arg(id)); + return false; + } + return m_sources->removeRow(it->row()); +} + +QVariantList DummySourcesBackend::actions() const +{ + return QVariantList() << QVariant::fromValue(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..3b7e874 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummySourcesBackend.h @@ -0,0 +1,35 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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"); } + QVariantList 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..16f8d01 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyTransaction.cpp @@ -0,0 +1,78 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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); + setStatus(DownloadingStatus); + + iterateTransaction(); +} + +void DummyTransaction::iterateTransaction() +{ + if (!m_iterate) + return; + + if(progress()<100) { + setProgress(qBound(0, progress()+(KRandom::random()%30), 100)); + QTimer::singleShot(/*KRandom::random()%*/100, this, &DummyTransaction::iterateTransaction); + } else if (status() == DownloadingStatus) { + setStatus(CommittingStatus); + QTimer::singleShot(/*KRandom::random()%*/100, this, &DummyTransaction::iterateTransaction); + } else +#ifdef TEST_PROCEED + Q_EMIT proceedRequest(QStringLiteral("yadda yadda"), QStringLiteral("Biii BOooo
  • A
  • A
  • ") + QStringLiteral("
  • A
  • ").repeated(2) + QStringLiteral("
  • 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..036fba2 --- /dev/null +++ b/libdiscover/backends/DummyBackend/DummyTransaction.h @@ -0,0 +1,32 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..3f4ce17 --- /dev/null +++ b/libdiscover/backends/DummyBackend/tests/DummyTest.cpp @@ -0,0 +1,284 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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() * 2, 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(pm.rowCount(), m_appBackend->property("startElements").toInt() * 2); + 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(pm.rowCount(), m_appBackend->property("startElements").toInt() * 2); +} + +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() * 2, pm.rowCount()); + QVariant lastRatingCount; + for(int i=0, rc=pm.rowCount(); isearch({})); + QCOMPARE(m_appBackend->property("startElements").toInt()*2, resources.count()); + + //fetches updates, adds new things + m_appBackend->checkForUpdates(); + QSignalSpy spy(m_model, &ResourcesModel::allInitialized); + QVERIFY(spy.wait(80000)); + auto resources2 = fetchResources(m_appBackend->search({})); + QCOMPARE(m_appBackend->property("startElements").toInt()*4, 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 QAbstractItemModelTester(&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 QAbstractItemModelTester(&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 QAbstractItemModelTester(&ruModel, &ruModel); + UpdateModel model; + new QAbstractItemModelTester(&model, &model); + model.setBackend(&ruModel); + + QCOMPARE(model.rowCount(), backend->property("startElements").toInt()*2); + QCOMPARE(model.hasUpdates(), true); +} + +void DummyTest::testScreenshotsModel() +{ + AbstractResourcesBackend::Filters filter; + filter.resourceUrl = QUrl(QStringLiteral("dummy://Dummy.1")); + + ScreenshotsModel m; + new QAbstractItemModelTester(&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 + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..9e37030 --- /dev/null +++ b/libdiscover/backends/DummyBackend/tests/UpdateDummyTest.cpp @@ -0,0 +1,157 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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 QAbstractItemModelTester(rum, rum); + + UpdateModel* m = new UpdateModel(this); + new QAbstractItemModelTester(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()); + QCOMPARE(m->hasUpdates(), true); + + QCOMPARE(m->index(0,0).data(UpdateModel::ChangelogRole).toString(), QString{}); + + 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 QAbstractItemModelTester(rum, rum); + + UpdateModel* m = new UpdateModel(this); + new QAbstractItemModelTester(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()); + 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 QAbstractItemModelTester(rum2.data(), rum2.data()); + + QScopedPointer m2(new UpdateModel(this)); + new QAbstractItemModelTester(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..49ac108 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/CMakeLists.txt @@ -0,0 +1,35 @@ +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) + +if (NOT Flatpak_VERSION VERSION_LESS 1.1.2) + target_compile_definitions(flatpak-backend PRIVATE -DFLATPAK_VERBOSE_PROGRESS -DFLATPAK_LIST_UNUSED_REFS) +endif() + +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..d722cc7 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp @@ -0,0 +1,1321 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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 +#include + +#include + +DISCOVER_BACKEND_PLUGIN(FlatpakBackend) + +QDebug operator<<(QDebug debug, const FlatpakResource::Id& id) +{ + QDebugStateSaver saver(debug); + debug.nospace() << "FlatpakResource::Id("; + debug.nospace() << "name:" << id.id << ','; + debug.nospace() << "branch:" << id.branch << ','; + debug.nospace() << "origin:" << id.origin << ','; + debug.nospace() << "type:" << id.type; + debug.nospace() << ')'; + return debug; +} + +static FlatpakResource::Id idForInstalledRef(FlatpakInstallation *installation, FlatpakInstalledRef *ref, const QString &postfix) +{ + const FlatpakResource::ResourceType appType = flatpak_ref_get_kind(FLATPAK_REF(ref)) == FLATPAK_REF_KIND_APP ? FlatpakResource::DesktopApp : FlatpakResource::Runtime; + const QString appId = QLatin1String(flatpak_ref_get_name(FLATPAK_REF(ref))) + postfix; + 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, [this] { + m_reviews->emitRatingFetched(this, kTransform>(m_resources.values(), [] (AbstractResource* r) { return r; })); + }); + + /* Override the umask to 022 to make it possible to share files between + * the plasma-discover process and flatpak system helper process. + * + * See https://github.com/flatpak/flatpak/pull/2856/ + */ + umask(022); +} + +FlatpakBackend::~FlatpakBackend() +{ + g_cancellable_cancel(m_cancellable); + m_threadPool.waitForDone(200); + m_threadPool.clear(); + for(auto inst : qAsConst(m_installations)) + g_object_unref(inst); + + g_object_unref(m_cancellable); +} + +bool FlatpakBackend::isValid() const +{ + return m_sources && !m_installations.isEmpty(); +} + +class FlatpakFetchRemoteResourceJob : public QNetworkAccessManager +{ +Q_OBJECT +public: + FlatpakFetchRemoteResourceJob(const QUrl &url, FlatpakBackend *backend) + : QNetworkAccessManager(backend) + , m_backend(backend) + , m_url(url) + { + } + + void start() + { + QNetworkRequest req(m_url); + req.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true); + auto replyGet = get(req); + connect(replyGet, &QNetworkReply::finished, this, [this, replyGet] { + QScopedPointer replyPtr(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]() { + QScopedPointer replyPtr(replyPut); + if (replyPut->error() != QNetworkReply::NoError) { + qWarning() << "couldn't save" << originalUrl << replyPut->errorString(); + Q_EMIT jobFinished(false, nullptr); + return; + } + if (!fileUrl.isLocalFile()) { + Q_EMIT jobFinished(false, nullptr); + return; + } + + FlatpakResource *resource = nullptr; + if (fileUrl.path().endsWith(QLatin1String(".flatpak"))) { + resource = m_backend->addAppFromFlatpakBundle(fileUrl); + } else if (fileUrl.path().endsWith(QLatin1String(".flatpakref"))) { + resource = m_backend->addAppFromFlatpakRef(fileUrl); + } else if (fileUrl.path().endsWith(QLatin1String(".flatpakrepo"))) { + resource = m_backend->addSourceFromFlatpakRepo(fileUrl); + } + + if (resource) { + resource->setResourceFile(originalUrl); + Q_EMIT jobFinished(true, resource); + } else { + qWarning() << "couldn't create resource from" << fileUrl.toLocalFile(); + Q_EMIT jobFinished(false, nullptr); + } + } + ); + }); + } + +Q_SIGNALS: + void jobFinished(bool success, FlatpakResource *resource); + +private: + FlatpakBackend *const m_backend; + const 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->resourceType() == 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 +{ + auto r = m_resources.value(idForInstalledRef(flatpakInstallation, ref, {})); + if (!r) + r = m_resources.value(idForInstalledRef(flatpakInstallation, ref, QStringLiteral(".desktop"))); + +// if (!r) { +// qDebug() << "no" << flatpak_ref_get_name(FLATPAK_REF(ref)); +// } + return r; +} + +FlatpakResource * FlatpakBackend::getRuntimeForApp(FlatpakResource *resource) const +{ + FlatpakResource *runtime = nullptr; + const QString runtimeName = resource->runtime(); + const auto runtimeInfo = runtimeName.splitRef(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(); + const QString name = settings.value(QStringLiteral("Flatpak Ref/Name")).toString(); + + auto item = m_sources->sourceByUrl(refurl); + if (item) { + const auto resources = resourcesByAppstreamName(name); + for (auto resource : resources) { + if (resource->origin() == item->data(AbstractSourcesBackend::IdRole)) { + return static_cast(resource); + } + } + } + + 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(name); + 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(name); + + 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(QLatin1String("http://")) || gpgKey.startsWith(QLatin1String("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); + if (!resource->extends().isEmpty()) { + m_extends.append(resource->extends()); + m_extends.removeDuplicates(); + } +} + +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 (g_cancellable_is_cancelled(m_cancellable)) + break; + + 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, flatpak_get_default_arch()); + + 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::metadataRefreshed() +{ + m_refreshAppstreamMetadataJobs--; + if (m_refreshAppstreamMetadataJobs == 0) { + loadInstalledApps(); + checkForUpdates(); + } +} + +void FlatpakBackend::integrateRemote(FlatpakInstallation *flatpakInstallation, FlatpakRemote *remote) +{ + Q_ASSERT(m_refreshAppstreamMetadataJobs != 0); + + FlatpakSource source(remote); + if (!source.isEnabled() || flatpak_remote_get_noenumerate(remote)) { + metadataRefreshed(); + 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(); + metadataRefreshed(); + 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); + } + + metadataRefreshed(); + 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)); + + const auto name = QLatin1String(flatpak_ref_get_name(FLATPAK_REF(ref))); + if (name.endsWith(QLatin1String(".Debug")) || name.endsWith(QLatin1String(".Locale")) || name.endsWith(QLatin1String(".BaseApp")) || name.endsWith(QLatin1String(".Docs"))) + continue; + + const auto res = getAppForInstalledRef(flatpakInstallation, ref); + if (res) { + res->setState(AbstractResource::Installed); + continue; + } + + AppStream::Component cid; + 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) { + if (QFile::exists(fnDesktop)) + qDebug() << "Failed to parse appstream metadata:" << error << fnDesktop; + + cid.setId(QString::fromLatin1(flatpak_ref_get_name(FLATPAK_REF(ref)))); +#if FLATPAK_CHECK_VERSION(1,1,2) + cid.setName(QString::fromLatin1(flatpak_installed_ref_get_appdata_name(ref))); +#endif + } else + cid = metadata.component(); + + FlatpakResource *resource = new FlatpakResource(cid, 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](){ + g_autoptr(GPtrArray) refs = fw->result(); + onFetchUpdatesFinished(installation, refs); + fw->deleteLater(); + acquireFetching(false); + }); + acquireFetching(true); + fw->setFuture(QtConcurrent::run(&m_threadPool, [installation, this]() -> GPtrArray * { + g_autoptr(GError) localError = nullptr; + if (g_cancellable_is_cancelled(m_cancellable)) { + qWarning() << "don't issue commands after cancelling"; + return {}; + } + 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 *fetchedUpdates) +{ + if (!fetchedUpdates) { + qWarning() << "could not get updates for" << flatpakInstallation; + return; + } + + 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); + } else + qWarning() << "could not find updated resource" << flatpak_ref_get_name(FLATPAK_REF(ref)) << m_resources.size(); + } +} + +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 + const QString error = localError ? QString::fromUtf8(localError->message) : QStringLiteral(""); + qWarning() << "Failed to refresh appstream metadata for " << flatpak_remote_get_name(m_remote) << ": " << error; + Q_EMIT jobRefreshAppstreamMetadataFailed(error); + } else { + Q_EMIT jobRefreshAppstreamMetadataFinished(m_installation, m_remote); + } + } + +Q_SIGNALS: + void jobRefreshAppstreamMetadataFailed(const QString &errorMessage); + 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, &FlatpakBackend::metadataRefreshed); + connect(job, &FlatpakRefreshAppstreamMetadataJob::jobRefreshAppstreamMetadataFailed, this, [this] (const QString &errorMessage) { Q_EMIT passiveMessage(errorMessage); }); + connect(job, &FlatpakRefreshAppstreamMetadataJob::jobRefreshAppstreamMetadataFinished, this, &FlatpakBackend::integrateRemote); + connect(job, &FlatpakRefreshAppstreamMetadataJob::finished, this, [this] { acquireFetching(false); }); + + acquireFetching(true); + 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) +{ + if (resource->resourceType() != FlatpakResource::DesktopApp) { + return true; + } + + const QString path = resource->installPath() + QStringLiteral("/metadata"); + + 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 between 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 distinguish 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->resourceType() == 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->resourceType() == 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 actually 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")) || filter.resourceUrl.fileName().endsWith(QLatin1String(".flatpak"))) { + auto stream = new ResultsStream(QLatin1String("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) { + Q_EMIT 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() && !m_extends.contains(filter.extends))) + return new ResultsStream(QStringLiteral("FlatpakStream-void"), {}); + + auto stream = new ResultsStream(QStringLiteral("FlatpakStream")); + auto f = [this, stream, filter] () { + QVector ret; + for (auto r : qAsConst(m_resources)) { + const bool matchById = r->appstreamId().compare(filter.search, Qt::CaseInsensitive) == 0; + if (r->type() == AbstractResource::Technical && filter.state != AbstractResource::Upgradeable && !matchById) { + continue; + } + if (r->state() < filter.state) + continue; + + if (!filter.extends.isEmpty() && !r->extends().contains(filter.extends)) + continue; + + if (filter.search.isEmpty() || r->name().contains(filter.search, Qt::CaseInsensitive) || r->comment().contains(filter.search, Qt::CaseInsensitive) || matchById) + { + 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; + const QString nameWithDesktop = name + QLatin1String(".desktop"); + foreach(FlatpakResource* res, m_resources) { + if (QString::compare(res->appstreamId(), name, Qt::CaseInsensitive)==0 || QString::compare(res->appstreamId(), nameWithDesktop, 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")) { + const auto appstreamIds = AppStreamUtils::appstreamIds(url); + if (appstreamIds.isEmpty()) + Q_EMIT passiveMessage(i18n("Malformed appstream url '%1'", url.toDisplayString())); + else { + auto stream = new ResultsStream(QStringLiteral("FlatpakStream")); + auto f = [this, stream, appstreamIds] () { + const auto resources = kAppend>(appstreamIds, [this] (const QString appstreamId) { return resourcesByAppstreamName(appstreamId); }); + 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->resourceType() == 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 = new FlatpakJobTransaction(resource, Transaction::InstallRole); + connect(transaction, &FlatpakJobTransaction::statusChanged, this, [this, resource] (Transaction::Status status) { + if (status == Transaction::Status::DoneStatus) { + FlatpakInstallation *installation = resource->installation(); + 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->resourceType() == 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, [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); + + if (g_cancellable_is_cancelled(m_cancellable)) + break; + + // Load updates from remote repositories + loadRemoteUpdates(installation); + + if (g_cancellable_is_cancelled(m_cancellable)) + break; + } +} + +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..b078984 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakBackend.h @@ -0,0 +1,111 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + + +#ifndef FLATPAKBACKEND_H +#define FLATPAKBACKEND_H + +#include "FlatpakResource.h" + +#include +#include +#include +#include + +#include + +extern "C" { +#include +} + +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; } + void checkForUpdates() override; + QString displayName() const override; + bool hasApplications() const override { return true; } + FlatpakResource * addSourceFromFlatpakRepo(const QUrl &url); + QStringList extends() const override { return m_extends; } + + FlatpakResource * addAppFromFlatpakBundle(const QUrl &url); + FlatpakResource * addAppFromFlatpakRef(const QUrl &url); + FlatpakResource * getAppForInstalledRef(FlatpakInstallation *flatpakInstallation, FlatpakInstalledRef *ref) const; + + FlatpakSourcesBackend *sources() const { return m_sources; } + +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: + void metadataRefreshed(); + 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 * getRuntimeForApp(FlatpakResource *resource) const; + + 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; + QStringList m_extends; + + 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..f31757f --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.cpp @@ -0,0 +1,84 @@ +/* + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + + +#include "FlatpakFetchDataJob.h" +#include "FlatpakResource.h" + +#include + +static FlatpakRef * createFakeRef(FlatpakResource *resource) +{ + FlatpakRef *ref = nullptr; + g_autoptr(GError) localError = nullptr; + + const auto id = resource->ref(); + 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..43266da --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakFetchDataJob.h @@ -0,0 +1,33 @@ +/* + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..768bac3 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp @@ -0,0 +1,80 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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) + : Transaction(app->backend(), app, role, {}) + , m_app(app) +{ + setCancellable(true); + setStatus(QueuedStatus); + + if (!delayStart) { + QTimer::singleShot(0, this, &FlatpakJobTransaction::start); + } +} + +FlatpakJobTransaction::~FlatpakJobTransaction() = default; + +void FlatpakJobTransaction::cancel() +{ + m_appJob->cancel(); + setStatus(CancelledStatus); +} + +void FlatpakJobTransaction::start() +{ + setStatus(CommittingStatus); + + // App job will be added every time + m_appJob = new FlatpakTransactionThread(m_app, role()); + connect(m_appJob, &FlatpakTransactionThread::finished, this, &FlatpakJobTransaction::finishTransaction); + connect(m_appJob, &FlatpakTransactionThread::progressChanged, this, &FlatpakJobTransaction::setProgress); + connect(m_appJob, &FlatpakTransactionThread::speedChanged, this, &FlatpakJobTransaction::setDownloadSpeed); + connect(m_appJob, &FlatpakTransactionThread::passiveMessage, this, &FlatpakJobTransaction::passiveMessage); + + m_appJob->start(); +} + +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 { + if (!m_appJob->errorMessage().isEmpty()) { + Q_EMIT passiveMessage(m_appJob->errorMessage()); + } + setStatus(DoneWithErrorStatus); + } + +} diff --git a/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.h b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.h new file mode 100644 index 0000000..ea2aafa --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.h @@ -0,0 +1,43 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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(); + + void cancel() override; + +public Q_SLOTS: + void finishTransaction(); + void start(); + +private: + void updateProgress(); + + QPointer m_app; + QPointer m_appJob; +}; + +#endif // FLATPAKJOBTRANSACTION_H diff --git a/libdiscover/backends/FlatpakBackend/FlatpakNotifier.cpp b/libdiscover/backends/FlatpakBackend/FlatpakNotifier.cpp new file mode 100644 index 0000000..20ccf55 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakNotifier.cpp @@ -0,0 +1,143 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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::Installation *installation = (FlatpakNotifier::Installation*) self; + if (!installation) + return; + + FlatpakNotifier *notifier = installation->m_notifier; + notifier->loadRemoteUpdates(installation); +} + +FlatpakNotifier::FlatpakNotifier(QObject* parent) + : BackendNotifierModule(parent) + , m_user(this) + , m_system(this) + , m_cancellable(g_cancellable_new()) +{ + QTimer *dailyCheck = new QTimer(this); + dailyCheck->setInterval(24 * 60 * 60 * 1000); //refresh at least once every day + connect(dailyCheck, &QTimer::timeout, this, &FlatpakNotifier::recheckSystemUpdateNeeded); +} + +FlatpakNotifier::Installation::Installation(FlatpakNotifier *notifier) + : m_notifier(notifier) +{ +} + +FlatpakNotifier::Installation::~Installation() +{ + if (m_monitor) + g_object_unref(m_monitor); + if (m_installation) + g_object_unref(m_installation); +} + +FlatpakNotifier::~FlatpakNotifier() +{ + g_object_unref(m_cancellable); +} + +void FlatpakNotifier::recheckSystemUpdateNeeded() +{ + 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_system); + loadRemoteUpdates(&m_user); + } +} + +void FlatpakNotifier::onFetchUpdatesFinished(Installation *installation, GPtrArray *updates) +{ + bool hasUpdates = false; + + g_autoptr(GPtrArray) fetchedUpdates = updates; + + for (uint i = 0; !hasUpdates && 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(QLatin1String(".Locale")) || refName.endsWith(QLatin1String(".Debug"))) { + continue; + } + hasUpdates = true; + } + const bool changed = this->hasUpdates() != hasUpdates; + installation->m_hasUpdates = hasUpdates; + + if (changed) { + Q_EMIT foundUpdates(); + } +} + +void FlatpakNotifier::loadRemoteUpdates(Installation* installation) +{ + auto fw = new QFutureWatcher(this); + connect(fw, &QFutureWatcher::finished, this, [this, installation, fw](){ + g_autoptr(GPtrArray) refs = fw->result(); + if (refs) + onFetchUpdatesFinished(installation, refs); + fw->deleteLater(); + }); + 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->m_installation, cancellable, &localError); + if (!refs) { + qWarning() << "Failed to get list of installed refs for listing updates: " << localError->message; + } + return refs; + })); +} + +bool FlatpakNotifier::hasUpdates() +{ + return m_system.m_hasUpdates || m_user.m_hasUpdates; +} + +bool FlatpakNotifier::Installation::ensureInitialized(std::function func, GCancellable *cancellable, GError **error) +{ + if (!m_installation) { + m_installation = func(); + m_monitor = flatpak_installation_create_monitor(m_installation, cancellable, error); + g_signal_connect(m_monitor, "changed", G_CALLBACK(installationChanged), this); + } + return m_installation && m_monitor; +} + +bool FlatpakNotifier::setupFlatpakInstallations(GError **error) +{ + if (!m_system.ensureInitialized([this, error] { return flatpak_installation_new_system(m_cancellable, error); }, m_cancellable, error)) + return false; + if (!m_user.ensureInitialized([this, error] { return flatpak_installation_new_system(m_cancellable, error); }, m_cancellable, error)) + return false; + + return true; +} diff --git a/libdiscover/backends/FlatpakBackend/FlatpakNotifier.h b/libdiscover/backends/FlatpakBackend/FlatpakNotifier.h new file mode 100644 index 0000000..fa35880 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakNotifier.h @@ -0,0 +1,51 @@ +/* + * SPDX-FileCopyrightText: 2013 Lukas Appelhans + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ +#ifndef FLATPAKNOTIFIER_H +#define FLATPAKNOTIFIER_H + +#include +#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; + + bool hasUpdates() override; + bool hasSecurityUpdates() override { return false; } + void recheckSystemUpdateNeeded() override; + bool needsReboot() const override { return false; } + + struct Installation { + explicit Installation(FlatpakNotifier *notifier); + ~Installation(); + + bool ensureInitialized(std::function func, GCancellable *, GError **error); + + FlatpakNotifier *m_notifier; + bool m_hasUpdates = false; + GFileMonitor *m_monitor = nullptr; + FlatpakInstallation *m_installation = nullptr; + }; + + void onFetchUpdatesFinished(Installation *flatpakInstallation, GPtrArray *updates); + void loadRemoteUpdates(Installation* installation); + bool setupFlatpakInstallations(GError **error); + Installation m_user; + Installation m_system; + GCancellable * const m_cancellable; +}; + +#endif diff --git a/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp b/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp new file mode 100644 index 0000000..daa4a8d --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakResource.cpp @@ -0,0 +1,588 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + + +#include "FlatpakResource.h" +#include "FlatpakBackend.h" +#include "FlatpakSourcesBackend.h" +#include "config-paths.h" + +#include + +#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), 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, [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 ? DesktopApp : + extends().isEmpty() ? Runtime + : Extension); + setObjectName(packageName()); +} + +QString FlatpakResource::ref() const +{ + return typeAsString() + QLatin1Char('/') + flatpakName() + QLatin1Char('/') + arch() + QLatin1Char('/') + branch(); +} + +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; +} + +AbstractResource::Type FlatpakResource::type() const +{ + switch (m_id.type) { + case FlatpakResource::Runtime: + return Technical; + case FlatpakResource::Extension: + return Addon; + default: + return Application; + } +} + +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; +} + +QJsonArray FlatpakResource::licenses() +{ + return AppStreamUtils::licenses(m_appdata); +} + +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::resourceType() const +{ + return m_id.type; +} + +QString FlatpakResource::typeAsString() const +{ + switch (m_id.type) { + case FlatpakResource::Runtime: + case FlatpakResource::Extension: + return QLatin1String("runtime"); + case FlatpakResource::DesktopApp: + case FlatpakResource::Source: + default: + return QLatin1String("app"); + } +} + +FlatpakResource::Id FlatpakResource::uniqueId() const +{ + return m_id; +} + +void FlatpakResource::invokeApplication() const +{ + const QString desktopFile = installPath() + QLatin1String("/export/share/applications/") + appstreamId(); + const QString runservice = QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/discover/runservice"); + if (QFile::exists(desktopFile) && QFile::exists(runservice)) { + QProcess::startDetached(runservice, {desktopFile}); + return; + } + + 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)); +} + +QString FlatpakResource::installPath() const +{ + return installationPath() + QStringLiteral("/app/%1/%2/%3/active").arg(flatpakName(), arch(), branch()); +} + +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 +{ + const auto sourceItem = qobject_cast(backend())->sources()->sourceById(origin()); + if (!sourceItem) { + qWarning() << "Could not find source " << origin(); + return QStringLiteral("flatpak-discover"); + } + + const auto iconUrl = sourceItem->data(FlatpakSourcesBackend::IconUrlRole).toString(); + if (iconUrl.isEmpty()) + return QStringLiteral("flatpak-discover"); + return iconUrl; +} + + QString FlatpakResource::author() const +{ + return m_appdata.developerName(); +} + +QStringList FlatpakResource::extends() const +{ + return m_appdata.extends(); +} + +QSet FlatpakResource::alternativeAppstreamIds() const +{ + const AppStream::Provided::Kind AppStream_Provided_KindId = (AppStream::Provided::Kind) 12; //Should be AppStream::Provided::KindId when released + const auto ret = m_appdata.provided(AppStream_Provided_KindId).items(); + + return QSet(ret.begin(), ret.end()); +} diff --git a/libdiscover/backends/FlatpakBackend/FlatpakResource.h b/libdiscover/backends/FlatpakBackend/FlatpakResource.h new file mode 100644 index 0000000..c90d0ca --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakResource.h @@ -0,0 +1,183 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + + +#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 + }; + Q_ENUM(PropertyKind) + + enum PropertyState { + NotKnownYet = 0, + AlreadyKnown, + UnknownOrFailed, + }; + Q_ENUM(PropertyState) + + enum ResourceType { + DesktopApp = 0, + Runtime, + Extension, + Source + }; + Q_ENUM(ResourceType) + + struct Id { + FlatpakInstallation * const installation; + QString origin; + FlatpakResource::ResourceType type; + const 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; + AbstractResource::Type type() const override; + QUrl homepage() override; + QUrl helpURL() override; + QUrl bugURL() override; + QUrl donationURL() override; + QString flatpakFileType() const; + QString flatpakName() const; + QJsonArray licenses() 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 resourceType() const; + QString typeAsString() const; + FlatpakResource::Id uniqueId() const; + QUrl url() const override; + QDate releaseDate() const override; + QString author() const override; + QStringList extends() const override; + + FlatpakInstallation* installation() const { return m_id.installation; } + + void invokeApplication() const override; + void fetchChangelog() override; + void fetchScreenshots() override; + QSet alternativeAppstreamIds() const 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 ref() const; + QString sourceIcon() const override; + QString installPath() const; + +Q_SIGNALS: + void propertyStateChanged(FlatpakResource::PropertyKind kind, FlatpakResource::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..13a015c --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp @@ -0,0 +1,385 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + + +#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; + + auto addSource = [=](AbstractResource* res) { + if (res) + backend->installApplication(res); + else + Q_EMIT backend->passiveMessage(i18n("Could not add the source %1", flatpakrepoUrl.toDisplayString())); + }; + + if (flatpakrepoUrl.isLocalFile()) { + addSource(backend->addSourceFromFlatpakRepo(flatpakrepoUrl)); + } else { + AbstractResourcesBackend::Filters filter; + filter.resourceUrl = flatpakrepoUrl; + auto stream = new StoredResultsStream ({backend->search(filter)}); + connect(stream, &StoredResultsStream::finished, this, [addSource, stream]() { + const auto res = stream->resources(); + addSource(res.value(0)); + }); + } + 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; +} + +QStandardItem * FlatpakSourcesBackend::sourceByUrl(const QString& _url) const +{ + QUrl url(_url); + + QStandardItem* sourceIt = nullptr; + for (int i = 0, c = m_sources->rowCount(); iitem(i); + if (url.matches(it->data(Qt::StatusTipRole).toUrl(), QUrl::StripTrailingSlash)) { + 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; + const auto installation = sourceItem->flatpakInstallation(); + + g_autoptr(GPtrArray) refs = flatpak_installation_list_remote_refs_sync(installation, id.toUtf8().constData(), cancellable, &error); + if (refs) { + QHash toRemoveHash; + toRemoveHash.reserve(refs->len); + QStringList toRemoveRefs; + toRemoveRefs.reserve(refs->len); + FlatpakBackend* backend = qobject_cast(parent()); + for (uint i = 0; i < refs->len; i++) { + FlatpakRef *ref= FLATPAK_REF(g_ptr_array_index(refs, i)); + + g_autoptr(GError) error = nullptr; + FlatpakInstalledRef* installedRef = flatpak_installation_get_installed_ref(installation, flatpak_ref_get_kind(ref), flatpak_ref_get_name(ref), flatpak_ref_get_arch(ref), flatpak_ref_get_branch(ref), cancellable, &error); + if (installedRef) { + auto res = backend->getAppForInstalledRef(installation, installedRef); + const auto name = QString::fromUtf8(flatpak_ref_get_name(ref)); + const auto refString = QString::fromUtf8(flatpak_ref_format_ref(ref)); + if (!name.endsWith(QLatin1String(".Locale"))) { + if (res) + toRemoveHash[res->name()] << refString; + else + toRemoveHash[refString] << refString; + } + toRemoveRefs << refString; + } + } + QStringList toRemove; + toRemove.reserve(toRemoveHash.count()); + for (auto it = toRemoveHash.constBegin(), itEnd = toRemoveHash.constEnd(); it != itEnd; ++it) { + if (it.value().count() > 1) + toRemove << QStringLiteral("%1 - %2").arg(it.key(), it.value().join(QLatin1String(", "))); + else + toRemove << it.key(); + } + toRemove.sort(); + + if (!toRemove.isEmpty()) { + m_proceedFunctions.push([this, toRemoveRefs, installation, id] { + g_autoptr(GError) localError = nullptr; + g_autoptr(GCancellable) cancellable = g_cancellable_new(); + g_autoptr(FlatpakTransaction) transaction = flatpak_transaction_new_for_installation(installation, cancellable, &localError); + for (const QString& instRef : qAsConst(toRemoveRefs)) { + const QByteArray refString = instRef.toUtf8(); + flatpak_transaction_add_uninstall(transaction, refString.constData(), &localError); + if (localError) + return; + } + + if (flatpak_transaction_run(transaction, cancellable, &localError)) { + removeSource(id); + } + }); + + + Q_EMIT proceedRequest(i18n("Removing '%1'", id), i18n("To remove this repository, the following applications must be uninstalled:
  • %1
", toRemove.join(QStringLiteral("
  • ")))); + return false; + } + } else { + qWarning() << "could not list refs in repo" << id << error->message; + } + + if (flatpak_installation_remove_remote(installation, id.toUtf8().constData(), cancellable, &error)) { + m_sources->removeRow(sourceItem->row()); + + if (m_sources->rowCount() == 0) { + m_sources->appendRow(m_noSourcesItem); + } + return true; + } else { + Q_EMIT passiveMessage(i18n("Failed to remove %1 remote repository: %2", id, QString::fromUtf8(error->message))); + return false; + } + } else { + Q_EMIT passiveMessage(i18n("Could not find %1", id)); + return false; + } + + return false; +} + +QVariantList FlatpakSourcesBackend::actions() const +{ + return { QVariant::fromValue(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 in" << flatpak_installation_get_path(m_preferredInstallation); + 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))); + + const auto theActions = actions(); + for(const QVariant& act: theActions) { + QAction* action = qobject_cast(act.value()); + if (action->toolTip() == id) { + action->setEnabled(false); + action->setVisible(false); + } + } + + FlatpakSourceItem *it = new FlatpakSourceItem(!title.isEmpty() ? title : id); + it->setData(remoteUrl.isLocalFile() ? remoteUrl.toLocalFile() : remoteUrl.host(), Qt::ToolTipRole); + it->setData(remoteUrl, Qt::StatusTipRole); + it->setData(id, IdRole); +#if FLATPAK_CHECK_VERSION(1,4,0) + it->setData(QString::fromUtf8(flatpak_remote_get_icon(remote)), IconUrlRole); +#endif + 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("Enter a 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; +} + +void FlatpakSourcesBackend::cancel() +{ + m_proceedFunctions.pop(); +} + +void FlatpakSourcesBackend::proceed() +{ + m_proceedFunctions.pop()(); +} diff --git a/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.h b/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.h new file mode 100644 index 0000000..b2a6c7c --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.h @@ -0,0 +1,60 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef FLATPAKSOURCESBACKEND_H +#define FLATPAKSOURCESBACKEND_H + +#include +#include +#include +#include + +extern "C" { +#include +} + +class FlatpakResource; +class FlatpakSourcesBackend : public AbstractSourcesBackend +{ +Q_OBJECT +public: + explicit FlatpakSourcesBackend(const QVector& installations, AbstractResourcesBackend *parent); + ~FlatpakSourcesBackend() override; + + enum Roles { IconUrlRole = LastRole + 1 }; + + QAbstractItemModel* sources() override; + bool addSource(const QString &id) override; + bool removeSource(const QString &id) override; + QString idDescription() override; + QVariantList 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; + QStandardItem* sourceByUrl(const QString & url) const; + QStandardItem* sourceById(const QString & sourceId) const; + + void cancel() override; + void proceed() override; + +private: + bool listRepositories(FlatpakInstallation *installation); + void addRemote(FlatpakRemote *remote, FlatpakInstallation *installation); + + FlatpakInstallation *m_preferredInstallation; + QStandardItemModel* m_sources; + QAction* const m_flathubAction; + QStandardItem* m_noSourcesItem; + QStack> m_proceedFunctions; +}; + +#endif // FLATPAKSOURCESBACKEND_H diff --git a/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp new file mode 100644 index 0000000..85dc58c --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp @@ -0,0 +1,222 @@ +/* + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "FlatpakTransactionThread.h" +#include "FlatpakResource.h" + +#include +#include + +static int FLATPAK_CLI_UPDATE_FREQUENCY = 150; + +gboolean +add_new_remote_cb(FlatpakTransaction */*object*/, + gint /*reason*/, + gchar *from_id, + gchar *suggested_remote_name, + gchar *url, + gpointer user_data) +{ + FlatpakTransactionThread *obj = (FlatpakTransactionThread*) user_data; + + //TODO ask instead + Q_EMIT obj->passiveMessage(i18n("Adding remote '%1' in %2 from %3", QString::fromUtf8(suggested_remote_name), QString::fromUtf8(url), QString::fromUtf8(from_id))); + return true; +} + +static void +progress_changed_cb (FlatpakTransactionProgress *progress, + gpointer user_data) +{ + FlatpakTransactionThread *obj = (FlatpakTransactionThread*) user_data; + + obj->setProgress(qMin(99, flatpak_transaction_progress_get_progress(progress))); + +#ifdef FLATPAK_VERBOSE_PROGRESS + guint64 start_time = flatpak_transaction_progress_get_start_time (progress); + guint64 elapsed_time = (g_get_monotonic_time () - start_time) / G_USEC_PER_SEC; + if (elapsed_time > 0) { + guint64 transferred = flatpak_transaction_progress_get_bytes_transferred (progress); + obj->setSpeed(transferred / elapsed_time); + } +#endif +} + +void +new_operation_cb(FlatpakTransaction */*object*/, + FlatpakTransactionOperation */*operation*/, + FlatpakTransactionProgress *progress, + gpointer user_data) +{ + FlatpakTransactionThread *obj = (FlatpakTransactionThread*) user_data; + + + g_signal_connect (progress, "changed", G_CALLBACK (progress_changed_cb), obj); + flatpak_transaction_progress_set_update_frequency (progress, FLATPAK_CLI_UPDATE_FREQUENCY); +} + +void +operation_error_cb(FlatpakTransaction */*object*/, + FlatpakTransactionOperation */*operation*/, + GError *error, + gint /*details*/, + gpointer user_data) +{ + FlatpakTransactionThread *obj = (FlatpakTransactionThread*) user_data; + obj->addErrorMessage(QString::fromUtf8(error->message)); +} + +FlatpakTransactionThread::FlatpakTransactionThread(FlatpakResource *app, Transaction::Role role) + : QThread() + , m_result(false) + , m_app(app) + , m_role(role) +{ + m_cancellable = g_cancellable_new(); + + g_autoptr(GError) localError = nullptr; + m_transaction = flatpak_transaction_new_for_installation(app->installation(), m_cancellable, &localError); + if (localError) { + addErrorMessage(QString::fromUtf8(localError->message)); + qWarning() << "Failed to create transaction" << m_errorMessage; + } else { + g_signal_connect (m_transaction, "add-new-remote", G_CALLBACK (add_new_remote_cb), this); + g_signal_connect (m_transaction, "new-operation", G_CALLBACK (new_operation_cb), this); + g_signal_connect (m_transaction, "operation-error", G_CALLBACK (operation_error_cb), this); + } +} + +FlatpakTransactionThread::~FlatpakTransactionThread() +{ + g_object_unref(m_transaction); + g_object_unref(m_cancellable); +} + +void FlatpakTransactionThread::cancel() +{ + g_cancellable_cancel(m_cancellable); +} + +void FlatpakTransactionThread::run() +{ + if (!m_transaction) + return; + g_autoptr(GError) localError = nullptr; + + const QString refName = m_app->ref(); + + if (m_role == Transaction::Role::InstallRole) { + bool correct = false; + if (m_app->state() == AbstractResource::Upgradeable && m_app->isInstalled()) { + correct = flatpak_transaction_add_update(m_transaction, + refName.toUtf8().constData(), + nullptr, nullptr, &localError); + } else { + if (m_app->flatpakFileType() == QLatin1String("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; + m_result = false; + return; + } + correct = flatpak_transaction_add_install_bundle(m_transaction, file, nullptr, &localError); + } else { + correct = flatpak_transaction_add_install(m_transaction, + m_app->origin().toUtf8().constData(), + refName.toUtf8().constData(), + nullptr, + &localError); + } + } + + if (!correct) { + 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_transaction_add_uninstall(m_transaction, + refName.toUtf8().constData(), + &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; + } + } + + m_result = flatpak_transaction_run(m_transaction, m_cancellable, &localError); + if (!m_result) { + m_errorMessage = QString::fromUtf8(localError->message); +#if defined(FLATPAK_LIST_UNUSED_REFS) + } else { + const auto installation = flatpak_transaction_get_installation(m_transaction); + g_autoptr(GPtrArray) refs = flatpak_installation_list_unused_refs(installation, nullptr, m_cancellable, nullptr); + if (refs->len > 0) { + g_autoptr(GError) localError = nullptr; + qDebug() << "found unused refs:" << refs->len; + auto transaction = flatpak_transaction_new_for_installation(installation, m_cancellable, &localError); + for (uint i = 0; i < refs->len; i++) { + FlatpakRef *ref = FLATPAK_REF(g_ptr_array_index(refs, i)); + g_autofree gchar *strRef = flatpak_ref_format_ref(ref); + qDebug() << "unused ref:" << strRef; + if (!flatpak_transaction_add_uninstall(transaction, + strRef, + &localError)) + { + qDebug() << "failed to uninstall unused ref" << refName << localError->message; + break; + } + } + if (!flatpak_transaction_run(transaction, m_cancellable, &localError)) { + qWarning() << "could not properly clean the elements" << refs->len << localError->message; + } + g_object_unref(m_transaction); + } +#endif + } + // We are done so we can set the progress to 100 + setProgress(100); +} + +void FlatpakTransactionThread::setProgress(int progress) +{ + Q_ASSERT(qBound(0, progress, 100) == progress); + if (m_progress != progress) { + m_progress = progress; + Q_EMIT progressChanged(m_progress); + } +} + +void FlatpakTransactionThread::setSpeed(quint64 speed) +{ + if (m_speed != speed) { + m_speed = speed; + Q_EMIT speedChanged(m_speed); + } +} + +QString FlatpakTransactionThread::errorMessage() const +{ + return m_errorMessage; +} + +bool FlatpakTransactionThread::result() const +{ + return m_result; +} + +void FlatpakTransactionThread::addErrorMessage(const QString &error) +{ + if (!m_errorMessage.isEmpty()) + m_errorMessage.append(QLatin1Char('\n')); + m_errorMessage.append(error); +} diff --git a/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h new file mode 100644 index 0000000..b8eef82 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h @@ -0,0 +1,57 @@ +/* + * SPDX-FileCopyrightText: 2017 Jan Grulich + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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, Transaction::Role role); + ~FlatpakTransactionThread() override; + + void cancel(); + void run() override; + + int progress() const { return m_progress; } + void setProgress(int progress); + void setSpeed(quint64 speed); + + QString errorMessage() const; + bool result() const; + + void addErrorMessage(const QString &error); + +Q_SIGNALS: + void progressChanged(int progress); + void speedChanged(quint64 speed); + void passiveMessage(const QString &msg); + +private: + FlatpakTransaction* m_transaction; + + bool m_result = false; + int m_progress = 0; + quint64 m_speed = 0; + QString m_errorMessage; + GCancellable *m_cancellable; + FlatpakResource * const m_app; + const 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..c3025d2 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml @@ -0,0 +1,551 @@ + + + + + Applications + applications-all + 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..af105f9 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/org.kde.discover-flatpak.desktop @@ -0,0 +1,55 @@ +[Desktop Entry] +Name=Discover +Name[ar]=استكشف +Name[ast]=Discover +Name[az]=Discover +Name[ca]=Discover +Name[ca@valencia]=Discover +Name[cs]=Discover +Name[da]=Discover +Name[de]=Discover +Name[el]=Discover +Name[en_GB]=Discover +Name[es]=Discover +Name[et]=Discover +Name[eu]=Discover +Name[fi]=Discover +Name[fr]=Discover +Name[gl]=Descubrir +Name[he]=מרכז התוכנות Discover +Name[hu]=Discover +Name[ia]=Discover (Discoperi) +Name[id]=Discover +Name[it]=Discover +Name[ko]=둘러보기 +Name[lt]=Discover +Name[ml]=കണ്ടെത്തുക +Name[nl]=Ontdekken +Name[nn]=Discover +Name[pa]=ਖੋਜ +Name[pl]=Odkrywca +Name[pt]=Discover +Name[pt_BR]=Discover +Name[ro]=Descoperă +Name[ru]=Discover +Name[sk]=Discover +Name[sl]=Discover +Name[sr]=Oткривач +Name[sr@ijekavian]=Oткривач +Name[sr@ijekavianlatin]=Otkrivač +Name[sr@latin]=Otkrivač +Name[sv]=Upptäck +Name[tg]=Кашфиёт +Name[tr]=Keşfet +Name[uk]=Discover +Name[x-test]=xxDiscoverxx +Name[zh_CN]=Discover +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..38d7df5 --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/org.kde.discover.flatpak.appdata.xml @@ -0,0 +1,128 @@ + + + org.kde.discover.flatpak + Flatpak backend + سَند فلاتپاك + Flatpak geri izləri + Dorsal del Flatpak + Dorsal de Flatpak + Podpůrná vrstva Flatpak + Flatpak-motor + Flatpak-Backend + Flatpak backend + Motor Flatpak + Flatpaki taustaprogramm + Flatpak bizkarraldeakoa + Flatpak-taustaosa + Moteur « Flatpak » + Infraestrutura de Flatpak + Flatpak backend + Retro-Administration de Flatpak + Backend Flatpak + Motore Flatpak + Flatpak 백엔드 + Flatpak vidinė pusė + ഫ്ലാറ്റ്പ്പാക്ക് ബാക്കെൻഡ് + Flatpak-motor + Flatpak-backend + Flatpak-motor + ਫਲੈਟਪੈਕ ਬੈਕਐਡ + Silnik Flatpak + Infra-estrutura do Flatpak + Infraestrutura Flatpak + Platformă Flatpak + Модуль для работы с форматом Flatpak + Podporný program pre Flatpak + Zaledje Flatpak + Gränssnitt för Flatpak + Коркардкунандаи Flatpak + Модуль Flatpak + xxFlatpak backendxx + Flatpak 后端 + Flatpak 後端 + Integrates Flatpak applications into Discover + يُكامل تطبيقات ”فلاتپاك“ في «استكشف» + Flatpak tətbiqlərini Discoveriyə daxil edir + Integra les aplicacions del Flatpak al Discover + Integra aplicacions de Flatpak a Discover + Integrerer Flatpak-programmer i Discover + Integriert Flatpak-Anwendungen in Discover + Integrates Flatpak applications into Discover + Integra aplicaciones Flatpak en Discover + Flatpaki rakenduste lõimimine Discoverisse + Flatpak aplikazioak Discover-ren integratzen ditu + Yhdistää Flatpak-sovellukset Discoveriin + Intègre les applications « Flatpak » au sein de Discover + Integra aplicacións de Flatpak con Discover + Flatpak alkalmazások integrálása a Discoverbe + Integra pplicationes de Flatpak in Discover + Aplikasi Flatpak terintegrasi ke dalam Discover + Integra le applicazioni Flatpak in Discover + Flatpak 프로그램을 둘러보기에 통합 + Integruoja Flatpak programas į Discover + ഡിസ്കവറിൽ ഫ്ലാറ്റ്പ്പാക്ക് ആപ്ലിക്കേഷൻ സംയോജിപ്പിക്കുന്നു + 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 + Integrează aplicații Flatpak în Descoperă + Добавление поддержки формата Flatpak в центр программ Discover + Integruje aplikácie Flatpad do aplikácie Discover + V Discover vgradi programe Flatpack + Integrerar Flatpak-program i Discover + Барномаҳои Flatpak-ро ба барномаи Кашфиёт дарунсохт мекунад + Інтеграція програм Flatpak з Discover + xxIntegrates Flatpak applications into Discoverxx + 将 Flatpak 应用程序集成到Discover中 + 將 Flatpak 應用程式整合進 Discover 商店 + org.kde.discover.desktop + CC0-1.0 + GPL-2.0+ + 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 + 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..2b8494e --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/sc-apps-flatpak-discover.svg @@ -0,0 +1,8 @@ + + + + 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..810b2af --- /dev/null +++ b/libdiscover/backends/FlatpakBackend/tests/FlatpakTest.cpp @@ -0,0 +1,157 @@ +/*************************************************************************** + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez * + * * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + ***************************************************************************/ + +#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) + { + QStandardPaths::setTestModeEnabled(true); + 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() + { + QDir(QStandardPaths::writableLocation(QStandardPaths::TempLocation) + QLatin1String("/discover-flatpak-test")).removeRecursively(); + + 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); + qobject_cast(bk->actions().constFirst().value())->trigger(); + QVERIFY(spy.count() || spy.wait(20000)); + } + QVERIFY(initializedSpy.count() || initializedSpy.wait(20000)); + 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); + QCOMPARE(waitTransaction(m_appBackend->installApplication(resRssguard)), Transaction::DoneStatus); + QCOMPARE(resRssguard->state(), AbstractResource::Installed); + QCOMPARE(waitTransaction(m_appBackend->removeApplication(resRssguard)), Transaction::DoneStatus); + 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: + Transaction::Status waitTransaction(Transaction* t) { + TransactionModel::global()->addTransaction(t); + QSignalSpy spyInstalled(TransactionModel::global(), &TransactionModel::transactionRemoved); + QSignalSpy destructionSpy(t, &QObject::destroyed); + + Transaction::Status ret = t->status(); + connect(TransactionModel::global(), &TransactionModel::transactionRemoved, this, [t, &ret] { ret = t->status(); }); + while (t && spyInstalled.count() == 0) { + qDebug() << "waiting, currently" << ret << spyInstalled.count() << destructionSpy.count(); + spyInstalled.wait(100); + } + Q_ASSERT(destructionSpy.count() || destructionSpy.wait()); + return ret; + } + + 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..291b0f5 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdBackend.cpp @@ -0,0 +1,566 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2018 Abhijeet Sharma + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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); + if (!m_threadPool.waitForDone(200)) + qWarning("Could not stop all fwupd threads"); + 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, m_cancellable, &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 && !g_cancellable_is_cancelled(m_cancellable); 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), m_cancellable, &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_NOT_SUPPORTED)) { + qWarning() << "fwupd: Device not supported:" << fwupd_device_get_name(device); + } 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); + } + } + + 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 (perror && !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::GenericCacheLocation)); + 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), m_cancellable, &error); + + if (error) { + if (g_error_matches(error, FWUPD_ERROR, FWUPD_ERROR_NOT_SUPPORTED)) { + qWarning() << "fwupd: Device not supported:" << fwupd_device_get_name(device) << error->message; + continue; + } + 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, &error); + handleError(error); + + g_autoptr(GPtrArray) remotes = fwupd_client_get_remotes(client, m_cancellable, &error); + handleError(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.isEmpty()) { + if (filter.resourceUrl.scheme() == QLatin1String("fwupd")) { + return findResourceByPackageName(filter.resourceUrl); + } else if (filter.resourceUrl.isLocalFile()) { + return resourceForFile(filter.resourceUrl); + } + return new ResultsStream(QStringLiteral("FwupdStream-empty"), {}); + } + + 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; +} + +ResultsStream* FwupdBackend::resourceForFile(const QUrl& path) +{ + if (!path.isLocalFile()) + return new ResultsStream(QStringLiteral("FwupdStream-void"), {}); + + g_autoptr(GError) error = nullptr; + + const QString fileName = path.fileName(); + QMimeDatabase db; + QMimeType type = db.mimeTypeForFile(fileName); + FwupdResource* app = nullptr; + + if (type.isValid() && type.inherits(QStringLiteral("application/vnd.ms-cab-compressed"))) + { + g_autofree gchar *filename = 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); + return new ResultsStream(QStringLiteral("FwupdStream-file"), {app}); + } + else + { + handleError(error); + } + } + return new ResultsStream(QStringLiteral("FwupdStream-void"), {}); +} + +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..e5cd709 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdBackend.h @@ -0,0 +1,95 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2018 Abhijeet Sharma + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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) +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; } + 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: + ResultsStream* resourceForFile(const QUrl & ); + 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..185b566 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdResource.cpp @@ -0,0 +1,194 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2018 Abhijeet Sharma + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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; +} + +QJsonArray FwupdResource::licenses() +{ + return { QJsonObject{ {QStringLiteral("name"), 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 whether given icon exists or not! + else + m_iconName = QStringLiteral("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..9be0685 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdResource.h @@ -0,0 +1,98 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2018 Abhijeet Sharma + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef FWUPDRESOURCE_H +#define FWUPDRESOURCE_H + +#include "FwupdBackend.h" + +#include +#include + +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; + QJsonArray licenses() 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; + AbstractResource::Type type() const override { return Technical; } + 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 {}; } + QString author() 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..acf941e --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp @@ -0,0 +1,136 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2018 Abhijeet Sharma + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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; + + FwupdRemote* remote = fwupd_client_get_remote_by_id(m_backend->backend->client, item->data(AbstractSourcesBackend::IdRole).toString().toUtf8().constData(), nullptr, nullptr); + switch(role) + { + case Qt::CheckStateRole: { + if(value == Qt::Checked) { + m_backend->m_currentItem = item; + if (fwupd_remote_get_approval_required(remote)) { + Q_EMIT m_backend->proceedRequest(i18n("Review EULA"), i18n("The remote %1 require that you accept their license:\n %2", + QString::fromUtf8(fwupd_remote_get_title(remote)), + QString::fromUtf8(fwupd_remote_get_agreement(remote)))); + } else { + m_backend->proceed(); + } + } else if(value.toInt() == Qt::Unchecked) { + g_autoptr(GError) error = nullptr; + if(fwupd_client_modify_remote(m_backend->backend->client, fwupd_remote_get_id(remote), "Enabled", "false", nullptr, &error)) + item->setCheckState(Qt::Unchecked); + else + qWarning() << "could not disable remote" << remote << error->message; + } + return true; + } + } + return false; + } + +private: + FwupdSourcesBackend* const m_backend; +}; + +FwupdSourcesBackend::FwupdSourcesBackend(AbstractResourcesBackend * parent) + : AbstractSourcesBackend(parent) + , backend(qobject_cast(parent)) + , m_sources(new FwupdSourcesModel(this)) +{ + populateSources(); +} + +void FwupdSourcesBackend::populateSources() +{ + g_autoptr(GError) error = nullptr; + g_autoptr(GPtrArray) remotes = fwupd_client_get_remotes(backend->client, nullptr, &error); + if(!remotes) { + qWarning() << "could not list fwupd remotes" << error->message; + return; + } + + 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; + + 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(fwupd_remote_get_enabled(remote) ? Qt::Checked : Qt::Unchecked); + m_sources->appendRow(it); + } +} + +QAbstractItemModel* FwupdSourcesBackend::sources() +{ + return m_sources; +} + +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; +} + +QVariantList FwupdSourcesBackend::actions() const +{ + return {}; +} + +void FwupdSourcesBackend::cancel() +{ + FwupdRemote* remote = fwupd_client_get_remote_by_id(backend->client, m_currentItem->data(AbstractSourcesBackend::IdRole).toString().toUtf8().constData(),nullptr,nullptr); + m_currentItem->setCheckState(fwupd_remote_get_enabled(remote) ? Qt::Checked : Qt::Unchecked); + + m_currentItem = nullptr; +} + +void FwupdSourcesBackend::proceed() +{ + FwupdRemote* remote = fwupd_client_get_remote_by_id(backend->client, m_currentItem->data(AbstractSourcesBackend::IdRole).toString().toUtf8().constData(),nullptr,nullptr); + g_autoptr(GError) error = nullptr; + if (fwupd_client_modify_remote(backend->client, fwupd_remote_get_id(remote), "Enabled", "true", nullptr, &error)) + m_currentItem->setData(Qt::Checked, Qt::CheckStateRole); + else + qWarning() << "could not enable remote" << remote << error->message; + + m_currentItem = nullptr; +} + +#include "FwupdSourcesBackend.moc" diff --git a/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.h b/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.h new file mode 100644 index 0000000..b11f52b --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdSourcesBackend.h @@ -0,0 +1,42 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2018 Abhijeet Sharma + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef FWUPDSOURCESBACKEND_H +#define FWUPDSOURCESBACKEND_H + +#include +#include "FwupdBackend.h" +#include + +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(); } + QVariantList actions() const override; + bool supportsAdding() const override { return false; } + void eulaRequired(const QString& remoteName, const QString& licenseAgreement); + void populateSources(); + + void proceed() override; + void cancel() override; + + QStandardItem* m_currentItem = nullptr; + +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..d8a19be --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdTransaction.cpp @@ -0,0 +1,125 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2018 Abhijeet Sharma + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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); + if (!file->open(QFile::WriteOnly)) { + qWarning() << "Fwupd Error: Could not open to write" << fileName << uri; + setStatus(DoneWithErrorStatus); + file->deleteLater(); + return; + } + + 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..b0e6d79 --- /dev/null +++ b/libdiscover/backends/FwupdBackend/FwupdTransaction.h @@ -0,0 +1,38 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2018 Abhijeet Sharma + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..aa1b3dd --- /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_KNSRCDIR}) diff --git a/libdiscover/backends/KNSBackend/KNSBackend.cpp b/libdiscover/backends/KNSBackend/KNSBackend.cpp new file mode 100644 index 0000000..e92f48a --- /dev/null +++ b/libdiscover/backends/KNSBackend/KNSBackend.cpp @@ -0,0 +1,633 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +// 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; + const QStringList locations = KNSCore::Engine::configSearchLocations(); + QSet files; + for (const QString &path: locations) { + QDirIterator dirIt(path, {QStringLiteral("*.knsrc")}, QDir::Files); + for(; dirIt.hasNext(); ) { + dirIt.next(); + + if (files.contains(dirIt.fileName())) + continue; + files << dirIt.fileName(); + + 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, KConfig::SimpleConfig); + 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); + + // 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(); + } + m_hasApplications = group.readEntry("X-Discover-HasApplications", false); + + const QStringList cats = group.readEntry("Categories", QStringList{}); + QVector categories; + if (cats.count() > 1) { + m_categories += cats; + for(const auto &cat: cats) { + if (m_hasApplications) + categories << new Category(cat, QStringLiteral("applications-other"), { {CategoryFilter, cat } }, backendName, {}, {}, true); + else + categories << new Category(cat, QStringLiteral("plasma"), { {CategoryFilter, cat } }, backendName, {}, {}, true); + } + } + + QVector topCategories{categories}; + for (const auto &cat: qAsConst(categories)) { + const QString catName = cat->name().append(QLatin1Char('/')); + for (const auto& potentialSubCat: qAsConst(categories)) { + if(potentialSubCat->name().startsWith(catName)) { + cat->addSubcategory(potentialSubCat); + topCategories.removeOne(potentialSubCat); + } + } + } + + m_engine = new KNSCore::Engine(this); + connect(m_engine, &KNSCore::Engine::signalErrorCode, this, &KNSBackend::signalErrorCode); + 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::detailsLoaded); + connect(m_engine, &KNSCore::Engine::signalProvidersLoaded, this, &KNSBackend::fetchInstalled); + connect(m_engine, &KNSCore::Engine::signalCategoriesMetadataLoded, this, [categories] (const QList& categoryMetadatas){ + for (const KNSCore::Provider::CategoryMetadata& category : categoryMetadatas) { + for (Category* cat : qAsConst(categories)) { + if (cat->orFilters().count() > 0 && cat->orFilters().constFirst().second == category.name) { + cat->setName(category.displayName); + break; + } + } + } + }); + m_engine->setPageSize(100); + m_engine->init(m_name); + + if(m_hasApplications) { + auto actualCategory = new Category(m_displayName, QStringLiteral("applications-other"), filters, backendName, topCategories, QUrl(), false); + auto applicationCategory = new Category(i18n("Applications"), QStringLiteral("applications-internet"), filters, backendName, { actualCategory }, QUrl(), false); + applicationCategory->setAndFilter({ {CategoryFilter, QLatin1String("Application")} }); + m_categories.append(applicationCategory->name()); + m_rootCategories = { applicationCategory }; + // Make sure we filter out any apps which won't run on the current system architecture + QStringList tagFilter = m_engine->tagFilter(); + if(QSysInfo::currentCpuArchitecture() == QLatin1String("arm")) { + tagFilter << QLatin1String("application##architecture==armhf"); + } else if(QSysInfo::currentCpuArchitecture() == QLatin1String("arm64")) { + tagFilter << QLatin1String("application##architecture==arm64"); + } else if(QSysInfo::currentCpuArchitecture() == QLatin1String("i386")) { + tagFilter << QLatin1String("application##architecture==x86"); + } else if(QSysInfo::currentCpuArchitecture() == QLatin1String("ia64")) { + tagFilter << QLatin1String("application##architecture==x86-64"); + } else if(QSysInfo::currentCpuArchitecture() == QLatin1String("x86_64")) { + tagFilter << QLatin1String("application##architecture==x86"); + tagFilter << QLatin1String("application##architecture==x86-64"); + } + m_engine->setTagFilter(tagFilter); + } else { + 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"), QStringLiteral("wallpaperplugin.knsrc"), + QStringLiteral("ksplash.knsrc"), QStringLiteral("window-decorations.knsrc") + }; + const auto iconName = knsrcPlasma.contains(fileName)? QStringLiteral("plasma") : QStringLiteral("applications-other"); + auto actualCategory = new Category(m_displayName, iconName, filters, backendName, categories, QUrl(), true); + + const auto topLevelName = knsrcPlasma.contains(fileName)? i18n("Plasma Addons") : i18n("Application Addons"); + auto addonsCategory = new Category(topLevelName, iconName, filters, backendName, {actualCategory}, QUrl(), true); + m_rootCategories = { addonsCategory }; + } + + connect(m_updater, &StandardBackendUpdater::updatesCountChanged, this, &KNSBackend::updatesCountChanged); +} + +KNSBackend::~KNSBackend() +{ + qDeleteAll(m_rootCategories); +} + +void KNSBackend::markInvalid(const QString &message) +{ + m_rootCategories.clear(); + qWarning() << "invalid kns backend!" << m_name << "because:" << message; + m_isValid = false; + setFetching(false); + Q_EMIT initialized(); +} + +void KNSBackend::fetchInstalled() +{ + auto search = new OneTimeAction([this]() { + // First we ensure we've got data loaded on what we've got installed already + Q_EMIT startingSearch(); + m_onePage = true; + m_responsePending = true; + m_engine->checkForInstalled(); + // And then we check for updates - we could do only one, if all we cared about was updates, + // but to have both a useful initial list, /and/ information on updates, we want to get both. + // The reason we are not doing a checkUpdates() overload for this is that the caching for this + // information is done by KNSEngine, and we want to actually load it every time we initialize. + auto updateChecker = new OneTimeAction([this]() { + Q_EMIT startingSearch(); + m_onePage = true; + m_responsePending = true; + m_engine->checkForUpdates(); + }, this); + connect(this, &KNSBackend::availableForQueries, updateChecker, &OneTimeAction::trigger, Qt::QueuedConnection); + }, this); + + if (m_responsePending) { + connect(this, &KNSBackend::availableForQueries, search, &OneTimeAction::trigger, Qt::QueuedConnection); + } else { + search->trigger(); + } +} + +void KNSBackend::checkForUpdates() +{ + // Since we load the updates during initialization already, don't overburden + // the machine with multiple of these, because that would just be silly. + if (m_initialized) { + auto updateChecker = new OneTimeAction([this]() { + Q_EMIT startingSearch(); + m_onePage = true; + m_responsePending = true; + m_engine->checkForUpdates(); + }, this); + + if (m_responsePending) { + connect(this, &KNSBackend::availableForQueries, updateChecker, &OneTimeAction::trigger, Qt::QueuedConnection); + } else { + updateChecker->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) { + QStringList categories{name(), m_rootCategories.first()->name()}; + const auto cats = m_engine->categoriesMetadata(); + const int catIndex = kIndexOf(cats, [&entry](const KNSCore::Provider::CategoryMetadata& cat){ return entry.category() == cat.id; }); + if (catIndex > -1) { + categories << cats.at(catIndex).name; + } + if(m_hasApplications) { + categories << QLatin1String("Application"); + } + r = new KNSResource(entry, 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 filtered = kFilter(entries, [](const KNSCore::EntryInternal& entry){ return entry.isValid(); }); + const auto resources = kTransform>(filtered, [this](const KNSCore::EntryInternal& entry){ return resourceForEntry(entry); }); + + if (!resources.isEmpty()) { + Q_EMIT receivedResources(resources); + } else { + Q_EMIT searchFinished(); + Q_EMIT availableForQueries(); + setFetching(false); + return; + } +// qDebug() << "received" << objectName() << this << m_resourcesByName.count(); + if (m_onePage) { + Q_EMIT availableForQueries(); + setFetching(false); + } +} + +void KNSBackend::fetchMore() +{ + if (m_responsePending) + return; + + // 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(); +} + +void KNSBackend::statusChanged(const KNSCore::EntryInternal& entry) +{ + resourceForEntry(entry); +} + +void KNSBackend::signalErrorCode(const KNSCore::ErrorCode& errorCode, const QString& message, const QVariant& metadata) +{ + QString error = message; + qDebug() << "KNS error in" << m_displayName << ":" << errorCode << message << metadata; + bool invalidFile = false; + switch(errorCode) { + case KNSCore::ErrorCode::UnknownError: + // This is not supposed to be hit, of course, but any error coming to this point should be non-critical and safely ignored. + break; + case KNSCore::ErrorCode::NetworkError: + // If we have a network error, we need to tell the user about it. This is almost always fatal, so mark invalid and tell the user. + error = i18n("Network error in backend %1: %2", m_displayName, metadata.toInt()); + markInvalid(error); + invalidFile = true; + break; + case KNSCore::ErrorCode::OcsError: + if(metadata.toInt() == 200) { + // Too many requests, try again in a couple of minutes - perhaps we can simply postpone it automatically, and give a message? + error = i18n("Too many requests sent to the server for backend %1. Please try again in a few minutes.", m_displayName); + } else { + // Unknown API error, usually something critical, mark as invalid and cry a lot + error = i18n("Invalid %1 backend, contact your distributor.", m_displayName); + markInvalid(error); + invalidFile = true; + } + break; + case KNSCore::ErrorCode::ConfigFileError: + error = i18n("Invalid %1 backend, contact your distributor.", m_displayName); + markInvalid(error); + invalidFile = true; + break; + case KNSCore::ErrorCode::ProviderError: + error = i18n("Invalid %1 backend, contact your distributor.", m_displayName); + markInvalid(error); + invalidFile = true; + break; + case KNSCore::ErrorCode::InstallationError: + // This error is handled already, by forwarding the KNS engine's installer error message. + break; + case KNSCore::ErrorCode::ImageError: + // Image fetching errors are not critical as such, but may lead to weird layout issues, might want handling... + error = i18n("Could not fetch screenshot for the entry %1 in backend %2", metadata.toList().at(0).toString(), m_displayName); + break; + default: + // Having handled all current error values, we should by all rights never arrive here, but for good order and future safety... + error = i18n("Unhandled error in %1 backend. Contact your distributor.", m_displayName); + break; + } + m_responsePending = false; + Q_EMIT searchFinished(); + Q_EMIT availableForQueries(); + // Setting setFetching to false when we get an error ensures we don't end up in an eternally-fetching state + this->setFetching(false); + qWarning() << "kns error" << objectName() << error; + if (!invalidFile) + Q_EMIT passiveMessage(i18n("%1: %2", name(), error)); +} + +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->entry().status() == KNS3::Entry::Updateable) + actionFunction = [res, engine]() { + engine->install(res->entry(), -1); + }; + else if (res->linkIds().isEmpty()) + actionFunction = [res]() { + qWarning() << "No installable candidates in the KNewStuff entry" << res->entry().name() << "with id" << res->entry().uniqueId() << "on the backend" << res->backend()->name() << "There should always be at least one downloadable item in an OCS entry, and if there isn't, we should consider it broken. OCS can technically show them, but if there is nothing to install, it cannot be installed."; + }; + else + actionFunction = [res, engine]() { + engine->install(res->entry()); + }; + 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()) // Accept global searches + // If there /is/ a category, make sure we actually are one of those requested before searching + || (filter.category && kContains(m_categories, [&filter](const QString& cat) { return filter.category->matchesCategoryName(cat); }))) { + auto r = new ResultsStream(QLatin1String("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(stream, &ResultsStream::fetchMore, this, &KNSBackend::fetchMore); + 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(); + +#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0) + const auto pathParts = search.path().split(QLatin1Char('/'), QString::SkipEmptyParts); +#else + const auto pathParts = search.path().split(QLatin1Char('/'), Qt::SkipEmptyParts); +#endif + 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(QLatin1String("KNS-byname-")+entryid); + auto start = [this, entryid, stream, providerid]() { + m_responsePending = true; + m_engine->fetchEntryById(entryid); + m_onePage = false; + + connect(m_engine, &KNSCore::Engine::signalErrorCode, 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"); +} + +void KNSBackend::detailsLoaded(const KNSCore::EntryInternal& entry) +{ + auto res = resourceForEntry(entry); + Q_EMIT res->longDescriptionChanged(); +} + +#include "KNSBackend.moc" diff --git a/libdiscover/backends/KNSBackend/KNSBackend.h b/libdiscover/backends/KNSBackend/KNSBackend.h new file mode 100644 index 0000000..c59912f --- /dev/null +++ b/libdiscover/backends/KNSBackend/KNSBackend.h @@ -0,0 +1,94 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef KNSBACKEND_H +#define KNSBACKEND_H + +#include +#include + +#include +#include "Transaction/AddonList.h" +#include "discovercommon_export.h" + +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 hasApplications() const override { return m_hasApplications; } + + 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); + void detailsLoaded(const KNSCore::EntryInternal& entry); + void signalErrorCode(const KNSCore::ErrorCode& errorCode, const QString& message, const QVariant& metadata); + +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); + void fetchMore(); + + 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; + bool m_hasApplications = false; +}; + +#endif // KNSBACKEND_H diff --git a/libdiscover/backends/KNSBackend/KNSResource.cpp b/libdiscover/backends/KNSBackend/KNSResource.cpp new file mode 100644 index 0000000..e43b2e4 --- /dev/null +++ b/libdiscover/backends/KNSBackend/KNSResource.cpp @@ -0,0 +1,270 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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.truncate(newLine); + } + ret.remove(QRegularExpression(QStringLiteral("\\[\\/?[a-z]*\\]"))); + 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.remove(QLatin1Char('\r')); + ret.replace(QStringLiteral("[li]"), QStringLiteral("\n* ")); + // Get rid of all BBCode markup we don't handle above + ret.remove(QRegularExpression(QStringLiteral("\\[\\/?[a-z]*\\]"))); + // Find anything that looks like a link (but which also is not some html + // tag value or another already) and make it a link + static const QRegularExpression urlRegExp(QStringLiteral("(^|\\s)([-a-zA-Z0-9@:%_\\+.~#?&//=]{2,256}\\.[a-z]{2,4}\\b(\\/[-a-zA-Z0-9@:;%_\\+.~#?&//=]*)?)"), QRegularExpression::CaseInsensitiveOption); + ret.replace(urlRegExp, QStringLiteral("\\2")); + 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; +} + +QJsonArray KNSResource::licenses() +{ + return { QJsonObject{ {QStringLiteral("name"), m_entry.license()}, {QStringLiteral("url"), QString()} } }; +} + +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().isEmpty() ? m_entry.version() + : releaseDate().toString(); +} + +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 +{ + if(knsBackend()->hasApplications()) { + return i18n("Launch"); + } + return i18n("Use"); +} + +QDate KNSResource::releaseDate() const +{ + return m_entry.updateReleaseDate().isNull() ? m_entry.releaseDate() : m_entry.updateReleaseDate(); +} + +QVector KNSResource::linkIds() const +{ + QVector ids; + const auto linkInfo = m_entry.downloadLinkInformationList(); + for(const auto &e : linkInfo) { + 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, + rating / 10 + ); + } + return m_rating; +} + +QString KNSResource::author() const +{ + return m_entry.author().name(); +} diff --git a/libdiscover/backends/KNSBackend/KNSResource.h b/libdiscover/backends/KNSBackend/KNSResource.h new file mode 100644 index 0000000..4413fde --- /dev/null +++ b/libdiscover/backends/KNSBackend/KNSResource.h @@ -0,0 +1,71 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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; + QJsonArray licenses() 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; + AbstractResource::Type type() const override { return Addon; } + QString author() 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..a6ce515 --- /dev/null +++ b/libdiscover/backends/KNSBackend/KNSReviews.cpp @@ -0,0 +1,177 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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 - 1, 10); + if (!job) { + emit reviewsReady(app, {}, false); + return; + } + job->setProperty("app", QVariant::fromValue(app)); + connect(job, &Attica::BaseJob::finished, this, &KNSReviews::commentsReceived); + job->start(); + m_fetching++; +} + +static QVector createReviewList(AbstractResource* app, Attica::Comment::List comments, int depth = 0) { + QVector reviews; + 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() + )); + r->addMetadata(QStringLiteral("NumberOfParents"), depth); + reviews += r; + if (comment.childCount() > 0) { + reviews += createReviewList(app, comment.children(), depth + 1); + } + } + return reviews; +} + +void KNSReviews::commentsReceived(Attica::BaseJob* j) +{ + m_fetching--; + Attica::ListJob* job = static_cast*>(j); + + AbstractResource* app = job->property("app").value(); + QVector reviews = createReviewList(app, job->itemList()); + + 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..e0db0d0 --- /dev/null +++ b/libdiscover/backends/KNSBackend/KNSReviews.h @@ -0,0 +1,52 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef KNSREVIEWS_H +#define KNSREVIEWS_H + +#include +#include + +class KNSBackend; +class QUrl; +namespace Attica { +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..cbe9ddf --- /dev/null +++ b/libdiscover/backends/KNSBackend/custom/discover_ktexteditor_codesnippets_core.knsrc @@ -0,0 +1,73 @@ +[KNewStuff3] +Name=Kate Snippets +Name[ar]=قصاصات كيت +Name[ast]=Snippets de Kate +Name[az]=Kate mətn hissələri +Name[ca]=Retalls del Kate +Name[ca@valencia]=Retalls de 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[et]=Kate koodijupid +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[ia]=Fragmentos de Kate +Name[id]=Kate Snippets +Name[it]=Frammenti di Kate +Name[ko]=Kate 스니펫 +Name[lt]=Kate ištraukos +Name[nl]=Kate-fragmenten +Name[nn]=Kate-tekstbitar +Name[pl]=Wstawki Kate +Name[pt]=Excertos do Kate +Name[pt_BR]=Trechos do Kate +Name[ro]=Fragmente Kate +Name[ru]=Фрагменты текста Kate +Name[sk]=Úryvky aplikácie 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[tg]=Порчаҳои Кейт +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=https://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..e64eb8c --- /dev/null +++ b/libdiscover/backends/KNSBackend/tests/CMakeLists.txt @@ -0,0 +1,3 @@ +include_directories(..) + +ecm_add_test(KNSBackendTest.cpp TEST_NAME knsbackendtest LINK_LIBRARIES Discover::Common Qt5::Core Qt5::Test KF5::Attica KF5::NewStuff) diff --git a/libdiscover/backends/KNSBackend/tests/KNSBackendTest.cpp b/libdiscover/backends/KNSBackend/tests/KNSBackendTest.cpp new file mode 100644 index 0000000..729ff81 --- /dev/null +++ b/libdiscover/backends/KNSBackend/tests/KNSBackendTest.cpp @@ -0,0 +1,155 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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(QStringLiteral("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, stream](const QVector& res) { + resources += res; + Q_EMIT stream->fetchMore(); + }); + 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(QLatin1String("kns://") + m_backend->name() + QLatin1String("/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..a4234e3 --- /dev/null +++ b/libdiscover/backends/KNSBackend/tests/KNSBackendTest.h @@ -0,0 +1,41 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef KNSBACKENDTEST_H +#define KNSBACKENDTEST_H + +#include +#include +#include "ReviewsBackend/ReviewsModel.h" + +class AbstractResourcesBackend; +class AbstractResource; +class ResultsStream; + +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..db52696 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp @@ -0,0 +1,258 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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 +{ + if (m_name.isEmpty()) { + if (!m_appdata.extends().isEmpty()) { + const 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 + m_name = components.constFirst().name() + QLatin1String(" - ") + m_appdata.name(); + } + + if (m_name.isEmpty()) + m_name = m_appdata.name(); + } + return m_name; +} + +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); +} + +QJsonArray AppPackageKitResource::licenses() +{ + return m_appdata.projectLicense().isEmpty() ? PackageKitResource::licenses() : AppStreamUtils::licenses(m_appdata); +} + +QStringList AppPackageKitResource::mimetypes() const +{ + return m_appdata.provided(AppStream::Provided::KindMimetype).items(); +} + +static constexpr auto s_addonKinds = {AppStream::Component::KindAddon, AppStream::Component::KindCodec}; + +QStringList AppPackageKitResource::categories() +{ + auto cats = m_appdata.categories(); + if (!kContainsValue(s_addonKinds, m_appdata.kind())) + 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(); +} + +QSet AppPackageKitResource::alternativeAppstreamIds() const +{ + const AppStream::Provided::Kind AppStream_Provided_KindId = (AppStream::Provided::Kind) 12; //Should be AppStream::Provided::KindId when released + const auto ret = m_appdata.provided(AppStream_Provided_KindId).items(); + return QSet(ret.begin(), ret.end()); +} + +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); +} + +AbstractResource::Type AppPackageKitResource::type() const +{ + static QString desktop = QString::fromUtf8(qgetenv("XDG_CURRENT_DESKTOP")); + const auto desktops = m_appdata.compulsoryForDesktops(); + return kContainsValue(s_addonKinds, m_appdata.kind()) ? Addon + : (desktops.isEmpty() || !desktops.contains(desktop)) ? Application + : Technical; +} + +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() +{ + const auto res = kFilter>(backend()->extendedBy(m_appdata.id()), [this](AppPackageKitResource* r){ return r->allPackageNames() != allPackageNames(); }); + return kTransform>(res, + [](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); +} + + +bool AppPackageKitResource::canExecute() const +{ + static QSet cannotExecute = { QStringLiteral("org.kde.development") }; + return !cannotExecute.contains(m_appdata.id()); +} + +void AppPackageKitResource::invokeApplication() const +{ + auto trans = PackageKit::Daemon::getFiles({installedPackageId()}); + connect(trans, &PackageKit::Transaction::errorCode, backend(), &PackageKitBackend::transactionError); + connect(trans, &PackageKit::Transaction::files, this, [this](const QString &/*packageID*/, const QStringList &_filenames) { + //This workarounds bug in zypper's backend (suse) https://github.com/hughsie/PackageKit/issues/351 + QStringList filenames = _filenames; + if (filenames.count() == 1 && !QFile::exists(filenames.constFirst())) { + filenames = filenames.constFirst().split(QLatin1Char(';')); + } + 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}); + return; + } else { + const QStringList exes = m_appdata.provided(AppStream::Provided::KindBinary).items(); + const auto packageExecutables = kFilter(exes, [filenames](const QString &exe) { return filenames.contains(QLatin1Char('/') + exe); }); + if (!packageExecutables.isEmpty()) { + QProcess::startDetached(exes.constFirst(), QStringList()); + return; + } 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 }); + return; + } + } + Q_EMIT backend()->passiveMessage(i18n("Cannot launch %1", name())); + } + }); +} + +QDate AppPackageKitResource::releaseDate() const +{ + if (!m_appdata.releases().isEmpty()) { + auto release = m_appdata.releases().constFirst(); + return release.timestamp().date(); + } + + return {}; +} + +QString AppPackageKitResource::author() const +{ + return m_appdata.developerName(); +} + +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..31ad712 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/AppPackageKitResource.h @@ -0,0 +1,51 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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; + + AbstractResource::Type type() 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; + QJsonArray licenses() override; + QStringList allPackageNames() const override; + QList addonsInformation() override; + QStringList extends() const override; + void fetchScreenshots() override; + void invokeApplication() const override; + bool canExecute() const override; + QDate releaseDate() const override; + QString changelog() const override; + QString author() const override; + + void fetchChangelog() override; + QSet alternativeAppstreamIds() const override; + + private: + const AppStream::Component m_appdata; + mutable QString m_name; +}; + +#endif // APPPACKAGEKITRESOURCE_H diff --git a/libdiscover/backends/PackageKitBackend/CMakeLists.txt b/libdiscover/backends/PackageKitBackend/CMakeLists.txt new file mode 100644 index 0000000..3f08f10 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/CMakeLists.txt @@ -0,0 +1,46 @@ +find_package(KF5 REQUIRED Notifications) + +add_subdirectory(runservice) + +#packagekit-backend +set (packagekit-backend_SRCS + PackageKitBackend.cpp + PackageKitResource.cpp + AppPackageKitResource.cpp + PKTransaction.cpp + PackageKitUpdater.cpp + PackageKitMessages.cpp + PackageKitSourcesBackend.cpp + LocalFilePKResource.cpp + PKResolveTransaction.cpp + pkui.qrc + ) +ecm_qt_declare_logging_category(packagekit-backend_SRCS HEADER libdiscover_backend_debug.h IDENTIFIER LIBDISCOVER_BACKEND_LOG CATEGORY_NAME org.kde.plasma.libdiscover.backend) + +add_library(packagekit-backend MODULE ${packagekit-backend_SRCS}) + +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) + +if(TARGET PkgConfig::Markdown) + target_compile_definitions(packagekit-backend PRIVATE -DWITH_MARKDOWN) + target_link_libraries(packagekit-backend PRIVATE PkgConfig::Markdown) +endif() + +#notifier +set (DiscoverPackageKitNotifier_SRCS + PackageKitNotifier.cpp +) +ecm_qt_declare_logging_category(DiscoverPackageKitNotifier_SRCS HEADER libdiscover_backend_debug.h IDENTIFIER LIBDISCOVER_BACKEND_LOG CATEGORY_NAME org.kde.plasma.libdiscover.backend) + +add_library(DiscoverPackageKitNotifier MODULE ${DiscoverPackageKitNotifier_SRCS}) + +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) + +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..dfdba64 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/LocalFilePKResource.cpp @@ -0,0 +1,82 @@ +/* + * SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "LocalFilePKResource.h" +#include +#include +#include +#include +#include +#include +#include "config-paths.h" +#include "libdiscover_backend_debug.h" + +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(); +} + +void LocalFilePKResource::fetchDetails() +{ + if (!m_details.isEmpty()) + return; + m_details.insert(QStringLiteral("fetching"), true);//we add an entry so it's not re-fetched. + + PackageKit::Transaction* transaction = PackageKit::Daemon::getDetailsLocal(m_path.toLocalFile()); + connect(transaction, &PackageKit::Transaction::details, this, &LocalFilePKResource::setDetails); + connect(transaction, &PackageKit::Transaction::errorCode, this, &PackageKitResource::failedFetchingDetails); + + PackageKit::Transaction* transaction2 = PackageKit::Daemon::getFilesLocal(m_path.toLocalFile()); + connect(transaction2, &PackageKit::Transaction::errorCode, this, &PackageKitResource::failedFetchingDetails); + connect(transaction2, &PackageKit::Transaction::files, this, [this] (const QString &/*pkgid*/, const QStringList & files) { + const auto execIdx = kIndexOf(files, [](const QString& file) { return file.endsWith(QLatin1String(".desktop")) && file.contains(QLatin1String("usr/share/applications")); }); + if (execIdx >= 0) + m_exec = files[execIdx]; + else + qWarning() << "could not find an executable desktop file for" << m_path << "among" << files; + }); + connect(transaction2, &PackageKit::Transaction::finished, this, [] {qCDebug(LIBDISCOVER_BACKEND_LOG) << "."; }); +} + +void LocalFilePKResource::setDetails(const PackageKit::Details& details) +{ + addPackageId(PackageKit::Transaction::InfoAvailable, details.packageId(), true); + PackageKitResource::setDetails(details); +} + +void LocalFilePKResource::invokeApplication() const +{ + QProcess::startDetached(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/discover/runservice"), {m_exec}); +} diff --git a/libdiscover/backends/PackageKitBackend/LocalFilePKResource.h b/libdiscover/backends/PackageKitBackend/LocalFilePKResource.h new file mode 100644 index 0000000..87109aa --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/LocalFilePKResource.h @@ -0,0 +1,38 @@ +/* + * SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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; + void fetchDetails() override; + bool canExecute() const override { return !m_exec.isEmpty(); } + void invokeApplication() const override; + QString displayOrigin() const override { return origin(); } + + void setDetails(const PackageKit::Details & details); + + private: + AbstractResource::State m_state = AbstractResource::None; + QUrl m_path; + QString m_exec; +}; + +#endif // LOCALFILEPKRESOURCE_H diff --git a/libdiscover/backends/PackageKitBackend/PKResolveTransaction.cpp b/libdiscover/backends/PackageKitBackend/PKResolveTransaction.cpp new file mode 100644 index 0000000..52a4991 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PKResolveTransaction.cpp @@ -0,0 +1,59 @@ +/* + * SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "PKResolveTransaction.h" +#include +#include "PackageKitBackend.h" + +#include + +PKResolveTransaction::PKResolveTransaction(PackageKitBackend* backend) + : m_backend(backend) +{ + m_floodTimer.setInterval(1000); + m_floodTimer.setSingleShot(true); + connect(&m_floodTimer, &QTimer::timeout, this, &PKResolveTransaction::start); +} + +void PKResolveTransaction::start() +{ + Q_EMIT started(); + + PackageKit::Transaction * tArch = PackageKit::Daemon::resolve(m_packageNames, PackageKit::Transaction::FilterArch); + connect(tArch, &PackageKit::Transaction::package, m_backend, &PackageKitBackend::addPackageArch); + connect(tArch, &PackageKit::Transaction::errorCode, m_backend, &PackageKitBackend::transactionError); + + PackageKit::Transaction * tNotArch = PackageKit::Daemon::resolve(m_packageNames, PackageKit::Transaction::FilterNotArch); + connect(tNotArch, &PackageKit::Transaction::package, m_backend, &PackageKitBackend::addPackageNotArch); + connect(tNotArch, &PackageKit::Transaction::errorCode, m_backend, &PackageKitBackend::transactionError); + + m_transactions = {tArch, tNotArch}; + + foreach(PackageKit::Transaction* t, m_transactions) { + connect(t, &PackageKit::Transaction::finished, this, &PKResolveTransaction::transactionFinished); + } +} + +void PKResolveTransaction::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(); + } +} + +void PKResolveTransaction::addPackageNames(const QStringList& packageNames) +{ + m_packageNames += packageNames; + m_packageNames.removeDuplicates(); + m_floodTimer.start(); +} diff --git a/libdiscover/backends/PackageKitBackend/PKResolveTransaction.h b/libdiscover/backends/PackageKitBackend/PKResolveTransaction.h new file mode 100644 index 0000000..4df371f --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PKResolveTransaction.h @@ -0,0 +1,39 @@ +/* + * SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef PKRESOLVETRANSACTION_H +#define PKRESOLVETRANSACTION_H + +#include +#include +#include +#include + +class PackageKitBackend; + +class PKResolveTransaction : public QObject +{ + Q_OBJECT + public: + PKResolveTransaction(PackageKitBackend* backend); + + void start(); + void addPackageNames(const QStringList &packageNames); + + Q_SIGNALS: + void allFinished(); + void started(); + + private: + void transactionFinished(PackageKit::Transaction::Exit exit); + + QTimer m_floodTimer; + QStringList m_packageNames; + QVector m_transactions; + PackageKitBackend* const m_backend; +}; + +#endif diff --git a/libdiscover/backends/PackageKitBackend/PKTransaction.cpp b/libdiscover/backends/PackageKitBackend/PKTransaction.cpp new file mode 100644 index 0000000..c8df874 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PKTransaction.cpp @@ -0,0 +1,299 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "PKTransaction.h" +#include "PackageKitBackend.h" +#include "PackageKitResource.h" +#include "PackageKitMessages.h" +#include "utils.h" +#include "LocalFilePKResource.h" +#include "libdiscover_backend_debug.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(kToSet(res->allPackageNames())); + } + + 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: { + const QStringList ids = packageIds(m_apps, [](PackageKitResource* r){return r->availablePackageId(); }); + if (ids.isEmpty()) { + //FIXME this state shouldn't exist + qWarning() << "Installing no packages found!"; + for(auto app : m_apps) { + qCDebug(LIBDISCOVER_BACKEND_LOG) << "app" << app << app->state() << static_cast(app)->packages(); + } + + setStatus(Transaction::DoneWithErrorStatus); + return; + } + m_trans = PackageKit::Daemon::installPackages(ids, 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]() { qCDebug(LIBDISCOVER_BACKEND_LOG) << "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(kToSet(m_apps)); + + if (!packagesToRemove.isEmpty() || !removedResources.isEmpty()) { + QString msg = QLatin1String("
    • ") + PackageKitResource::joinPackages(packagesToRemove, QLatin1String("
    • "), {}); + if (!removedResources.isEmpty()) { + const QStringList removedResourcesStr = kTransform(removedResources, [](AbstractResource* a) { return a->name(); }); + msg += QLatin1Char('\n'); + msg += removedResourcesStr.join(QLatin1String("
    • ")); + } + 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; + } + + 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 { + if (m_apps.size() == 1 && qobject_cast(m_apps.at(0))) { + trigger(PackageKit::Transaction::TransactionFlagNone); + } else { + trigger(PackageKit::Transaction::TransactionFlagOnlyTrusted); + } + } +} + +void PKTransaction::packageResolved(PackageKit::Transaction::Info info, const QString& packageId) +{ + m_newPackageStates[info].append(packageId); +} + +void PKTransaction::submitResolve() +{ + const auto backend = qobject_cast(resource()->backend()); + QStringList needResolving; + for(auto it = m_newPackageStates.constBegin(), itEnd = m_newPackageStates.constEnd(); it != itEnd; ++it) { + auto state = it.key(); + if (state == PackageKit::Transaction::InfoInstalling) + state = PackageKit::Transaction::InfoInstalled; + if (state == PackageKit::Transaction::InfoRemoving) + state = PackageKit::Transaction::InfoAvailable; + if (state != PackageKit::Transaction::InfoInstalled && state != PackageKit::Transaction::InfoAvailable) + continue; + + foreach(const auto &pkgid, it.value()) { + const auto resources = backend->resourcesByPackageName(PackageKit::Daemon::packageName(pkgid)); + for(auto res: resources) { + auto r = qobject_cast(res); + r->clearPackageIds(); + r->addPackageId(state, pkgid, true); + } + } + } +} + +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 || err == PackageKit::Transaction::ErrorTransactionCancelled) + 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..c6a01a6 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PKTransaction.h @@ -0,0 +1,59 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..ef58d25 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp @@ -0,0 +1,796 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2013 Lukas Appelhans + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "PackageKitBackend.h" +#include "PackageKitSourcesBackend.h" +#include "PackageKitResource.h" +#include "PackageKitUpdater.h" +#include "AppPackageKitResource.h" +#include "PKTransaction.h" +#include "LocalFilePKResource.h" +#include "PKResolveTransaction.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 "utils.h" +#include "config-paths.h" +#include "libdiscover_backend_debug.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::restartScheduled, m_updater, &PackageKitUpdater::enableNeedsReboot); + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::isRunningChanged, this, &PackageKitBackend::checkDaemonRunning); + connect(m_reviews.data(), &OdrsReviewsBackend::ratingsReady, this, [this] { + m_reviews->emitRatingFetched(this, kTransform>(m_packages.packages.values(), [] (AbstractResource* r) { return r; })); + }); + + auto proxyWatch = new QFileSystemWatcher(this); + proxyWatch->addPath(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + QLatin1String("/kioslaverc")); + connect(proxyWatch, &QFileSystemWatcher::fileChanged, this, [this](){ + KProtocolManager::reparseConfiguration(); + updateProxy(); + }); + + SourcesModel::global()->addSourcesBackend(new PackageKitSourcesBackend(this)); + + reloadPackageList(); + + acquireFetching(true); + setWhenAvailable(PackageKit::Daemon::getTimeSinceAction(PackageKit::Transaction::RoleRefreshCache), [this](uint timeSince) { + if (timeSince > 3600) + checkForUpdates(); + else + fetchUpdates(); + acquireFetching(false); + }, this); + + PackageKit::Daemon::global()->setHints(QStringLiteral("locale=%1").arg(qEnvironmentVariable("LANG"))); +} + +PackageKitBackend::~PackageKitBackend() +{ + m_threadPool.waitForDone(200); + m_threadPool.clear(); +} + +void PackageKitBackend::updateProxy() +{ + + if (PackageKit::Daemon::isRunning()) { + static bool everHad = KProtocolManager::useProxy(); + if (!everHad && !KProtocolManager::useProxy()) + return; + + everHad = KProtocolManager::useProxy(); + PackageKit::Daemon::global()->setProxy(KProtocolManager::proxyFor(QStringLiteral("http")), + KProtocolManager::proxyFor(QStringLiteral("https")), + KProtocolManager::proxyFor(QStringLiteral("ftp")), + KProtocolManager::proxyFor(QStringLiteral("socks")), + {}, + {}); + } +} + +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(); + if (m_isFetching==0) + emit available(); + } + Q_ASSERT(m_isFetching>=0); +} + +struct DelayedAppStreamLoad { + QVector components; + QHash missingComponents; + bool correct = true; +}; + +static DelayedAppStreamLoad loadAppStream(AppStream::Pool* appdata) +{ + DelayedAppStreamLoad ret; + + ret.correct = appdata->load(); + if (!ret.correct) { + qWarning() << "Could not open the AppStream metadata pool" << appdata->lastError(); + } + + const auto components = appdata->components(); + ret.components.reserve(components.size()); + foreach(const AppStream::Component& component, components) { + if (component.kind() == AppStream::Component::KindFirmware) + continue; + + const auto pkgNames = component.packageNames(); + if (pkgNames.isEmpty()) { + const auto entries = component.launchable(AppStream::Launchable::KindDesktopId).entries(); + if (component.kind() == AppStream::Component::KindDesktopApp && !entries.isEmpty()) { + const QString file = PackageKitBackend::locateService(entries.first()); + if (!file.isEmpty()) { + ret.missingComponents[file] = component; + } + } + } else { + ret.components << component; + } + } + return ret; +} + +void PackageKitBackend::reloadPackageList() +{ + acquireFetching(true); + if (m_refresher) { + disconnect(m_refresher.data(), &PackageKit::Transaction::finished, this, &PackageKitBackend::reloadPackageList); + } + + m_appdata.reset(new AppStream::Pool); + + auto fw = new QFutureWatcher(this); + connect(fw, &QFutureWatcher::finished, this, [this, fw]() { + const auto data = fw->result(); + fw->deleteLater(); + + if (!data.correct && m_packages.packages.isEmpty()) { + QTimer::singleShot(0, this, [this]() { + Q_EMIT passiveMessage(i18n("Please make sure that Appstream is properly set up on your system")); + }); + } + for (const auto &component: data.components) { + const auto pkgNames = component.packageNames(); + addComponent(component, pkgNames); + } + + if (data.components.isEmpty()) { + qCDebug(LIBDISCOVER_BACKEND_LOG) << "empty appstream db"; + if (PackageKit::Daemon::backendName() == QLatin1String("aptcc") || PackageKit::Daemon::backendName().isEmpty()) { + checkForUpdates(); + } + } + if (!m_appstreamInitialized) { + m_appstreamInitialized = true; + Q_EMIT loadedAppStream(); + } + acquireFetching(false); + }); + fw->setFuture(QtConcurrent::run(&m_threadPool, &loadAppStream, m_appdata.get())); +} + +AppPackageKitResource* PackageKitBackend::addComponent(const AppStream::Component& component, const QStringList& pkgNames) +{ + Q_ASSERT(isFetching()); + Q_ASSERT(!pkgNames.isEmpty()); + + auto& resPos = m_packages.packages[component.id()]; + AppPackageKitResource* res = qobject_cast(resPos); + if (!res) { + res = new AppPackageKitResource(component, pkgNames.at(0), this); + resPos = 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::resolvePackages(const QStringList &packageNames) +{ + if (!m_resolveTransaction) { + m_resolveTransaction = new PKResolveTransaction(this); + connect(m_resolveTransaction, &PKResolveTransaction::allFinished, this, &PackageKitBackend::getPackagesFinished); + connect(m_resolveTransaction, &PKResolveTransaction::started, this, [this] { + m_resolveTransaction = nullptr; + }); + } + + m_resolveTransaction->addPackageNames(packageNames); +} + +void PackageKitBackend::fetchUpdates() +{ + if (m_updater->isProgressing()) + return; + + m_getUpdatesTransaction = PackageKit::Daemon::getUpdates(); + connect(m_getUpdatesTransaction, &PackageKit::Transaction::finished, this, &PackageKitBackend::getUpdatesFinished); + connect(m_getUpdatesTransaction, &PackageKit::Transaction::package, this, &PackageKitBackend::addPackageToUpdate); + connect(m_getUpdatesTransaction, &PackageKit::Transaction::errorCode, this, &PackageKitBackend::transactionError); + connect(m_getUpdatesTransaction, &PackageKit::Transaction::percentageChanged, this, &PackageKitBackend::fetchingUpdatesProgressChanged); + m_updatesPackageId.clear(); + m_hasSecurityUpdates = false; + + m_updater->setProgressing(true); + + Q_EMIT fetchingUpdatesProgressChanged(); +} + +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) +{ + if(PackageKit::Daemon::packageArch(packageId) == QLatin1String("source")) { + // We do not add source packages, they make little sense here. If source is needed, + // we are going to have to consider that in some other way, some other time + // If we do not ignore them here, e.g. openSuse entirely fails at installing applications + return; + } + 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() +{ + 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)) { + const auto extends = res->extends(); + for(const auto &ext: 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 (PackageKit::Daemon::global()->offline()->updateTriggered()) { + qCDebug(LIBDISCOVER_BACKEND_LOG) << "Won't be checking for updates again, the system needs a reboot to apply the fetched offline updates."; + return; + } + + 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; + fetchUpdates(); + acquireFetching(false); + }); + } else { + qWarning() << "already resetting"; + } +} + +QList PackageKitBackend::componentsById(const QString& id) const +{ + Q_ASSERT(m_appstreamInitialized); + return m_appdata->componentsById(id); +} + +static const auto needsResolveFilter = [] (AbstractResource* res) { return res->state() == AbstractResource::Broken; }; +static const auto installedFilter = [] (AbstractResource* res) { return res->state() >= AbstractResource::Installed; }; + +class PKResultsStream : public ResultsStream +{ +public: + PKResultsStream(PackageKitBackend* backend, const QString &name) + : ResultsStream(name) + , backend(backend) + {} + + PKResultsStream(PackageKitBackend* backend, const QString &name, const QVector &resources) + : ResultsStream(name) + , backend(backend) + { + QTimer::singleShot(0, this, [resources, this] () { + if (!resources.isEmpty()) + setResources(resources); + finish(); + }); + } + + void setResources(const QVector &res) + { + const auto toResolve = kFilter>(res, needsResolveFilter); + if (!toResolve.isEmpty()) + backend->resolvePackages(kTransform(toResolve, [] (AbstractResource* res) { return res->packageName(); })); + Q_EMIT resourcesFound(res); + } +private: + PackageKitBackend* const backend; +}; + +ResultsStream* PackageKitBackend::search(const AbstractResourcesBackend::Filters& filter) +{ + if (!filter.resourceUrl.isEmpty()) { + return findResourceByPackageName(filter.resourceUrl); + } else if (!filter.extends.isEmpty()) { + auto stream = new PKResultsStream(this, QStringLiteral("PackageKitStream-extends")); + auto f = [this, filter, stream] { + const auto resources = kTransform>(m_packages.extendedBy.value(filter.extends), [](AppPackageKitResource* a){ return a; }); + if (!resources.isEmpty()) { + stream->setResources(resources); + } + }; + runWhenInitialized(f, stream); + return stream; + } else if (filter.state == AbstractResource::Upgradeable) { + return new ResultsStream(QStringLiteral("PackageKitStream-upgradeable"), kTransform>(upgradeablePackages())); //No need for it to be a PKResultsStream + } else if (filter.state == AbstractResource::Installed) { + auto stream = new PKResultsStream(this, QStringLiteral("PackageKitStream-installed")); + auto f = [this, stream] { + const auto toResolve = kFilter>(m_packages.packages, needsResolveFilter); + + if (!toResolve.isEmpty()) { + resolvePackages(kTransform(toResolve, [] (AbstractResource* res) { return res->packageName(); })); + connect(m_resolveTransaction, &PKResolveTransaction::allFinished, this, [stream, toResolve] { + const auto resolved = kFilter>(toResolve, installedFilter); + if (!resolved.isEmpty()) + Q_EMIT stream->resourcesFound(resolved); + stream->finish(); + }); + } + + const auto resolved = kFilter>(m_packages.packages, installedFilter); + if (!resolved.isEmpty()) { + QTimer::singleShot(0, this, [resolved, toResolve, stream] () { + if (!resolved.isEmpty()) + Q_EMIT stream->resourcesFound(resolved); + + if (toResolve.isEmpty()) + stream->finish(); + }); + } + }; + runWhenInitialized(f, stream); + return stream; + } else if (filter.search.isEmpty()) { + auto stream = new PKResultsStream(this, QStringLiteral("PackageKitStream-all")); + auto f = [this, filter, stream] { + auto resources = kFilter>(m_packages.packages, [](AbstractResource* res) { return res->type() != AbstractResource::Technical && !qobject_cast(res)->extendsItself(); }); + if (!resources.isEmpty()) { + stream->setResources(resources); + } + }; + runWhenInitialized(f, stream); + return stream; + } else { + auto stream = new PKResultsStream(this, QStringLiteral("PackageKitStream-search")); + const auto f = [this, stream, filter] () { + const QList components = m_appdata->search(filter.search); + const QStringList ids = kTransform(components, [](const AppStream::Component& comp) { return comp.id(); }); + if (!ids.isEmpty()) { + const auto resources = kFilter>(resourcesByPackageNames>(ids), [](AbstractResource* res){ return !qobject_cast(res)->extendsItself(); }); + stream->setResources(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())}); + stream->setResources(kFilter>(res, [ids](AbstractResource* res){ return !ids.contains(res->appstreamId()); })); + } + } + stream->finish(); + }, Qt::QueuedConnection); + }; + runWhenInitialized(f, stream); + return stream; + } +} + +void PackageKitBackend::runWhenInitialized(const std::function& f, QObject* stream) +{ + if (!m_appstreamInitialized) { + connect(this, &PackageKitBackend::loadedAppStream, stream, f); + } else { + QTimer::singleShot(0, this, f); + } +} + +PKResultsStream * PackageKitBackend::findResourceByPackageName(const QUrl& url) +{ + if (url.isLocalFile()) { + QMimeDatabase db; + const auto mime = db.mimeTypeForUrl(url); + if ( mime.inherits(QStringLiteral("application/vnd.debian.binary-package")) + || mime.inherits(QStringLiteral("application/x-rpm")) + || mime.inherits(QStringLiteral("application/x-tar")) + || mime.inherits(QStringLiteral("application/x-zstd-compressed-tar")) + || mime.inherits(QStringLiteral("application/x-xz-compressed-tar")) + ) { + return new PKResultsStream(this, QStringLiteral("PackageKitStream-localpkg"), { new LocalFilePKResource(url, this)}); + } + } 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 appstreamIds = AppStreamUtils::appstreamIds(url); + if (appstreamIds.isEmpty()) + Q_EMIT passiveMessage(i18n("Malformed appstream url '%1'", url.toDisplayString())); + else { + auto stream = new PKResultsStream(this, QStringLiteral("PackageKitStream-appstream-url")); + const auto f = [this, appstreamIds, stream] () { + AbstractResource* pkg = nullptr; + + QStringList allAppStreamIds = appstreamIds; + { + auto it = deprecatedAppstreamIds.constFind(appstreamIds.first()); + if (it != deprecatedAppstreamIds.constEnd()) { + allAppStreamIds << *it; + } + } + + for (auto it = m_packages.packages.constBegin(), itEnd = m_packages.packages.constEnd(); it != itEnd; ++it) { + const bool matches = kContains(allAppStreamIds, [&it] (const QString& id) { + static const QLatin1String desktopPostfix(".desktop"); + return it.key().compare(id, Qt::CaseInsensitive) == 0 || + //doing (id == id.key()+".desktop") without allocating + (id.size() == (desktopPostfix.size() + it.key().size()) && id.endsWith(desktopPostfix) && id.startsWith(it.key(), Qt::CaseInsensitive)); + }); + if (matches) { + pkg = it.value(); + break; + } + } + if (pkg) + stream->setResources({pkg}); + stream->finish(); + // if (!pkg) + // qCDebug(LIBDISCOVER_BACKEND_LOG) << "could not find" << host << deprecatedHost; + }; + runWhenInitialized(f, stream); + return stream; + } + } + return new PKResultsStream(this, QStringLiteral("PackageKitStream-unknown-url"), {}); +} + +bool PackageKitBackend::hasSecurityUpdates() const +{ + return m_hasSecurityUpdates; +} + +int PackageKitBackend::updatesCount() const +{ + if (PackageKit::Daemon::global()->offline()->updateTriggered()) + return 0; + + int ret = 0; + QSet packages; + const auto toUpgrade = upgradeablePackages(); + for(auto res: toUpgrade) { + 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 = resourcesByPackageNames>(addons.addonsToInstall()); + if(!app->isInstalled()) + appsToInstall << app; + t = new PKTransaction(appsToInstall, Transaction::ChangeAddonsRole); + } else if (!app->isInstalled()) + t = installApplication(app); + + if (!addons.addonsToRemove().isEmpty()) { + const auto appsToRemove = resourcesByPackageNames>(addons.addonsToRemove()); + t = new PKTransaction(appsToRemove, Transaction::RemoveRole); + } + + 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 kFilter>(ret, [] (AbstractResource* res) { return !static_cast(res)->extendsItself(); }); +} + +void PackageKitBackend::addPackageToUpdate(PackageKit::Transaction::Info info, const QString& packageId, const QString& summary) +{ + if (info == PackageKit::Transaction::InfoBlocked) { + return; + } + + if (info == PackageKit::Transaction::InfoRemoving || info == PackageKit::Transaction::InfoObsoleting) { + // Don't try updating packages which need to be removed + 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()) { + resolvePackages(kTransform(m_updatesPackageId, [](const QString &pkgid) { return PackageKit::Daemon::packageName(pkgid); })); + fetchDetails(m_updatesPackageId); + } + + m_updater->setProgressing(false); + + includePackagesToAdd(); + if (isFetching()) { + auto a = new OneTimeAction([this] { + emit updatesCountChanged(); + }, this); + connect(this, &PackageKitBackend::available, a, &OneTimeAction::trigger); + } else + 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.values(); + + 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!"; + } else + updateProxy(); +} + +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(); +} + +QString PackageKitBackend::displayName() const +{ + return AppStreamIntegration::global()->osRelease()->prettyName(); +} + +int PackageKitBackend::fetchingUpdatesProgress() const +{ + if (!m_getUpdatesTransaction) + return 0; + + if (m_getUpdatesTransaction->status() == PackageKit::Transaction::StatusWait || m_getUpdatesTransaction->status() == PackageKit::Transaction::StatusUnknown) { + return m_getUpdatesTransaction->property("lastPercentage").toInt(); + } + int percentage = percentageWithStatus(m_getUpdatesTransaction->status(), m_getUpdatesTransaction->percentage()); + m_getUpdatesTransaction->setProperty("lastPercentage", percentage); + return percentage; +} + +#include "PackageKitBackend.moc" diff --git a/libdiscover/backends/PackageKitBackend/PackageKitBackend.h b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h new file mode 100644 index 0000000..eba5271 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitBackend.h @@ -0,0 +1,125 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef PACKAGEKITBACKEND_H +#define PACKAGEKITBACKEND_H + +#include "PackageKitResource.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class AppPackageKitResource; +class PackageKitUpdater; +class OdrsReviewsBackend; +class PKResultsStream; +class PKResolveTransaction; + +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; + PKResultsStream* 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 resolvePackages(const QStringList &packageNames); + void fetchDetails(const QString& pkgid) { fetchDetails(QSet{pkgid}); } + void fetchDetails(const QSet& pkgid); + + 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(); + int fetchingUpdatesProgress() const override; + + void addPackageArch(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary); + void addPackageNotArch(PackageKit::Transaction::Info info, const QString &packageId, const QString &summary); + + 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 packageDetails(const PackageKit::Details& details); + void addPackageToUpdate(PackageKit::Transaction::Info, const QString& pkgid, const QString& summary); + void getUpdatesFinished(PackageKit::Transaction::Exit,uint); + + Q_SIGNALS: + void loadedAppStream(); + void available(); + + private: + friend class PackageKitResource; + template + T resourcesByPackageNames(const QStringList& names) const; + + void runWhenInitialized(const std::function &f, QObject* stream); + + void checkDaemonRunning(); + void acquireFetching(bool f); + void includePackagesToAdd(); + void performDetailsFetch(); + AppPackageKitResource* addComponent(const AppStream::Component& component, const QStringList& pkgNames); + void updateProxy(); + + 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; + bool m_appstreamInitialized = false; + + struct { + QHash packages; + QHash packageToApp; + QHash> extendedBy; + } m_packages; + + QTimer m_delayedDetailsFetch; + QSet m_packageNamesToFetchDetails; + QSharedPointer m_reviews; + QPointer m_getUpdatesTransaction; + QThreadPool m_threadPool; + QPointer m_resolveTransaction; +}; + +#endif // PACKAGEKITBACKEND_H diff --git a/libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp b/libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp new file mode 100644 index 0000000..d557c4a --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp @@ -0,0 +1,319 @@ +/* + * SPDX-FileCopyrightText: 2012-2014 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2013 Lukas Appelhans + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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 i18nc("Failed to sync your Linux distro repositories or other sources of packages", "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 restarted.", 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 restarted."); + 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..5a0a5d5 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitMessages.h @@ -0,0 +1,22 @@ +/* + * SPDX-FileCopyrightText: 2012-2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..972ab15 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp @@ -0,0 +1,305 @@ +/* + * SPDX-FileCopyrightText: 2013 Lukas Appelhans + * SPDX-FileCopyrightText: 2015 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "PackageKitNotifier.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "pk-offline-private.h" +#include "libdiscover_backend_debug.h" + +PackageKitNotifier::PackageKitNotifier(QObject* parent) + : BackendNotifierModule(parent) + , m_securityUpdates(0) + , m_normalUpdates(0) +{ + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::updatesChanged, this, &PackageKitNotifier::recheckSystemUpdateNeeded); + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::transactionListChanged, this, &PackageKitNotifier::transactionListChanged); + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::restartScheduled, this, &PackageKitNotifier::nowNeedsReboot); + connect(PackageKit::Daemon::global()->offline(), &PackageKit::Offline::changed, this, [this]{ + if (PackageKit::Daemon::global()->offline()->updateTriggered()) + nowNeedsReboot(); + }); + + //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(); + if (!value.isEmpty()) + 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; + } + qCDebug(LIBDISCOVER_BACKEND_LOG) << "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(QStringLiteral("offlineupdate-failed"), KNotification::Persistent | KNotification::DefaultEvent); + notification->setIconName(QStringLiteral("error")); + notification->setText(i18n("Offline Updates")); + notification->setText(i18np("Failed to update %1 package\n%2", "Failed to update %1 packages\n%2", + packages.count(), errorDetails)); + notification->setActions(QStringList{i18nc("@action:button", "Open Discover"), i18nc("@action:button", "Repair System")}); + + connect(notification, &KNotification::action1Activated, this, [] () { + QProcess::startDetached(QStringLiteral("plasma-discover"), QStringList()); + }); + connect(notification, &KNotification::action2Activated, this, [this] () { + auto trans = PackageKit::Daemon::global()->repairSystem(); + connect(trans, &PackageKit::Transaction::errorCode, this, [](PackageKit::Transaction::Error /*error*/, const QString &details){ + KNotification::event(QStringLiteral("offlineupdate-repair-failed"), i18n("Repair Failed"), i18n("Please report to your distribution: %1", details), {}, KNotification::Persistent, QStringLiteral("org.kde.discovernotifier")); + }); + }); + + notification->sendEvent(); + } else { + KNotification *notification = new KNotification(QStringLiteral("offlineupdate-successful")); + notification->setIconName(QStringLiteral("system-software-update")); + notification->setTitle(i18n("Offline Updates")); + notification->setText(i18np("Successfully updated %1 package", "Successfully updated %1 packages", packages.count())); + notification->setActions(QStringList{i18nc("@action:button", "Open Discover")}); + + connect(notification, &KNotification::action1Activated, this, [] () { + QProcess::startDetached(QStringLiteral("plasma-discover"), QStringList()); + }); + + notification->sendEvent(); + } +} + +void PackageKitNotifier::recheckSystemUpdateNeeded() +{ + static bool first = true; + if (first) { + //PKQt will emit these signals when it starts (bug?) and would trigger the system recheck before we've ever checked at all + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::networkStateChanged, this, &PackageKitNotifier::recheckSystemUpdateNeeded); + connect(PackageKit::Daemon::global(), &PackageKit::Daemon::isRunningChanged, this, &PackageKitNotifier::recheckSystemUpdateNeeded); + first = false; + } + + if (PackageKit::Daemon::global()->offline()->updateTriggered()) + return; + + m_recheckTimer->start(); +} + +void PackageKitNotifier::recheckSystemUpdate() +{ + if (PackageKit::Daemon::global()->isRunning()) { + PackageKit::Daemon::getUpdates(); + } +} + +void PackageKitNotifier::setupGetUpdatesTransaction(PackageKit::Transaction* trans) +{ + qCDebug(LIBDISCOVER_BACKEND_LOG) << "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(); + } +} + +bool PackageKitNotifier::hasUpdates() +{ + return m_normalUpdates > 0; +} + +bool PackageKitNotifier::hasSecurityUpdates() +{ + return m_securityUpdates > 0; +} + + +void PackageKitNotifier::onDistroUpgrade(PackageKit::Transaction::DistroUpgrade /*type*/, const QString& name, const QString& description) +{ + auto a = new UpgradeAction(name, description, this); + connect(a, &UpgradeAction::triggered, this, [] (const QString &name) { + PackageKit::Daemon::upgradeSystem(name, PackageKit::Transaction::UpgradeKindDefault); + }); + Q_EMIT foundUpgradeAction(a); +} + +void PackageKitNotifier::refreshDatabase() +{ + if (!m_refresher) { + m_refresher = PackageKit::Daemon::refreshCache(false); + connect(m_refresher.data(), &PackageKit::Transaction::finished, this, &PackageKitNotifier::recheckSystemUpdateNeeded); + } + + if (!m_distUpgrades && (PackageKit::Daemon::roles() & PackageKit::Transaction::RoleUpgradeSystem)) { + m_distUpgrades = PackageKit::Daemon::getDistroUpgrades(); + connect(m_distUpgrades, &PackageKit::Transaction::distroUpgrade, this, &PackageKitNotifier::onDistroUpgrade); + } +} + +QProcess* PackageKitNotifier::checkAptVariable(const QString &aptconfig, const QLatin1String& varname, const 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(" \"(.*?)\";?$"), QRegularExpression::CaseInsensitiveOption); + 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) +{ + if (PackageKit::Daemon::global()->offline()->updateTriggered()) + return; + + 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)); + qCDebug(LIBDISCOVER_BACKEND_LOG) << "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..3509705 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitNotifier.h @@ -0,0 +1,57 @@ +/* + * SPDX-FileCopyrightText: 2013 Lukas Appelhans + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ +#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; + + bool hasUpdates() override; + bool hasSecurityUpdates() 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, const 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..817b205 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitResource.cpp @@ -0,0 +1,347 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * SPDX-FileCopyrightText: 2013 Lukas Appelhans + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "PackageKitResource.h" +#include "PackageKitBackend.h" +#include "PackageKitMessages.h" +#include +#include +#include +#include +#include +#include + +#if defined(WITH_MARKDOWN) +extern "C" { +#include +} +#endif + +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"); +} + +QJsonArray PackageKitResource::licenses() +{ + fetchDetails(); + + if (!m_details.license().isEmpty()) { + return { QJsonObject {{ QStringLiteral("name"), m_details.license() }} }; + } + + return { QJsonObject {{ QStringLiteral("name"), {} }} }; +} + +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) +{ + auto oldState = state(); + if (arch) + m_packages[info].append(packageId); + else + m_packages[info].prepend(packageId); + + if (oldState != state()) + emit stateChanged(); +} + +QStringList PackageKitResource::categories() +{ + return { QStringLiteral("Unknown") }; +} + +AbstractResource::Type PackageKitResource::type() const +{ + return Technical; +} + +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 error, const QString& msg) +{ + qWarning() << "error fetching details" << error << 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) { + const auto oldState = state(); + m_details = details; + + if (oldState != state()) + 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()) { + auto a = new OneTimeAction([this] { fetchUpdateDetails(); }, this); + connect(this, &PackageKitResource::stateChanged, a, &OneTimeAction::trigger); + 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 += QLatin1String("

    ") + title + QLatin1String(" ") + QString(content).replace(QLatin1Char('\n'), QLatin1String("
    ")) + QLatin1String("

    "); +} + +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*/) +{ +#if defined(WITH_MARKDOWN) + const QByteArray xx = _updateText.toUtf8(); + MMIOT *markdownHandle = mkd_string(xx.constData(), _updateText.size(), 0); + + QString updateText; + if ( !mkd_compile( markdownHandle, MKD_FENCEDCODE | MKD_GITHUBTAGS | MKD_AUTOLINK ) ) { + updateText = _updateText; + } else { + char *htmlDocument; + const int size = mkd_document( markdownHandle, &htmlDocument ); + + updateText = QString::fromUtf8( htmlDocument, size ); + } + mkd_cleanup( markdownHandle ); + +#else + const auto& updateText = _updateText; +#endif + + const auto name = PackageKit::Daemon::packageName(packageID); + + QString info; + addIfNotEmpty(i18n("Obsoletes:"), joinPackages(obsoletes, {}, name), info); + addIfNotEmpty(i18n("Release Notes:"), 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(QLatin1String(", ")), 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-x-generic"); +} + +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); + }); +} + +bool PackageKitResource::extendsItself() const +{ + const auto extendsResources = backend()->resourcesByPackageNames>(extends()); + if (extendsResources.isEmpty()) + return false; + + const auto ourPackageNames = allPackageNames(); + for (auto r : extendsResources) { + PackageKitResource* pkres = qobject_cast(r); + if (pkres->allPackageNames() != ourPackageNames) + return false; + } + return true; +} diff --git a/libdiscover/backends/PackageKitBackend/PackageKitResource.h b/libdiscover/backends/PackageKitBackend/PackageKitResource.h new file mode 100644 index 0000000..a1da59a --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitResource.h @@ -0,0 +1,106 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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; + QJsonArray licenses() override; + QString origin() const override; + QString section() override; + AbstractResource::Type type() 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; + QString author() const override { return {}; } + 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 {}; } + + bool extendsItself() const; + + 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); + + void failedFetchingDetails(PackageKit::Transaction::Error, const QString& msg); + + protected: + PackageKit::Details m_details; + + private: + void fetchDependencies(); + /** fetches details individually, it's better if done in batch, like for updates */ + virtual void fetchDetails(); + + QMap m_packages; + const QString m_summary; + const QString m_name; + 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..52c1ae8 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp @@ -0,0 +1,163 @@ +/* + * SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "PackageKitSourcesBackend.h" +#include +#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); + connect(SourcesModel::global(), &SourcesModel::showingNow, this, &PackageKitSourcesBackend::resetSources); + + // Kubuntu-based + auto addNativeSourcesManager = [this](const QString &file){ + auto service = PackageKitBackend::locateService(file); + if (!service.isEmpty()) + m_actions += QVariant::fromValue(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; +} + +QVariantList PackageKitSourcesBackend::actions() const +{ + return m_actions; +} + +void PackageKitSourcesBackend::resetSources() +{ + disconnect(SourcesModel::global(), &SourcesModel::showingNow, this, &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..0391786 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.h @@ -0,0 +1,42 @@ +/* + * SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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; + QVariantList 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; + QVariantList 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..19ceee4 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp @@ -0,0 +1,445 @@ +/* + * SPDX-FileCopyrightText: 2013 Lukas Appelhans + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ +#include "PackageKitUpdater.h" +#include "PackageKitMessages.h" + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "libdiscover_backend_debug.h" +#include "utils.h" + +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::StatusLoadingCache, 1}, + { PackageKit::Transaction::Status::StatusUpdate, 1} + }; + const auto idx = statuses.value(status, -1); + if (idx < 0) { + qCDebug(LIBDISCOVER_BACKEND_LOG) << "Status not present" << status << "among" << statuses .keys() << percentage; + return -1; + } + percentage = (idx * 100 + percentage) / 2 /*the maximum in statuses*/; + } + qCDebug(LIBDISCOVER_BACKEND_LOG) << "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() +{ + if (PackageKit::Daemon::global()->offline()->updateTriggered()) { + m_toUpgrade.clear(); + m_allUpgradeable.clear(); + enableNeedsReboot(); + return; + } + + 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).values(); + pkgs.sort(); + m_transaction = PackageKit::Daemon::updatePackages(pkgs, flags); + m_isCancelable = m_transaction->allowCancel(); + cancellableChanged(); + + 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(kToSet(pres->allPackageNames()))) { + 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(); + else if (useOfflineUpdates()) + setupTransaction(PackageKit::Transaction::TransactionFlagOnlyTrusted | PackageKit::Transaction::TransactionFlagOnlyDownload); + else + setupTransaction(PackageKit::Transaction::TransactionFlagOnlyTrusted); +} + +bool PackageKitUpdater::useOfflineUpdates() const +{ + if (qEnvironmentVariableIsSet("PK_OFFLINE_UPDATE")) + return true; + KConfigGroup group(KSharedConfig::openConfig(), "Software"); + return group.readEntry("UseOfflineUpdates", false); +} + +void PackageKitUpdater::setUseOfflineUpdates(bool use) +{ +// To enable from command line use: +// kwriteconfig5 --file discoverrc --group Software --key UseOfflineUpdates true + + KConfigGroup group(KSharedConfig::openConfig(), "Software"); + group.writeEntry("UseOfflineUpdates", use); +} + +void PackageKitUpdater::start() +{ + Q_ASSERT(!isProgressing()); + + setupTransaction(PackageKit::Transaction::TransactionFlagSimulate); + setProgressing(true); +} + +void PackageKitUpdater::finished(PackageKit::Transaction::Exit exit, uint /*time*/) +{ +// qCDebug(LIBDISCOVER_BACKEND_LOG) << "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:
    • %1

    in order to install:
    • %2
    ", + PackageKitResource::joinPackages(toremove, QStringLiteral("
  • "), {}), + PackageKitResource::joinPackages(toinstall, QStringLiteral("
  • "), {}) + )); + } else { + proceed(); + } + return; + } + + setProgressing(false); + m_backend->fetchUpdates(); + fetchLastUpdateTime(); + + if (useOfflineUpdates() && exit == PackageKit::Transaction::ExitSuccess) { + PackageKit::Daemon::global()->offline()->trigger(PackageKit::Offline::ActionReboot); + Q_EMIT passiveMessage(i18n("Please restart the computer to finish the update")); + } +} + +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(kToSet(apps)); + m_toUpgrade.subtract(packagesForPackageId(pkgs)); +} + +void PackageKitUpdater::addResources(const QList& apps) +{ + QSet pkgs = involvedPackages(kToSet(apps)); + m_toUpgrade.unite(packagesForPackageId(pkgs)); +} + +QList PackageKitUpdater::toUpdate() const +{ + return m_toUpgrade +#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) + .values(); +#else + .toList(); +#endif +} + +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(); +} + +AbstractBackendUpdater::State toUpdateState(PackageKit::Transaction::Status t) +{ + switch(t) { + case PackageKit::Transaction::StatusUnknown: + case PackageKit::Transaction::StatusDownload: + return AbstractBackendUpdater::Downloading; + case PackageKit::Transaction::StatusDepResolve: + case PackageKit::Transaction::StatusSigCheck: + case PackageKit::Transaction::StatusTestCommit: + case PackageKit::Transaction::StatusInstall: + case PackageKit::Transaction::StatusCommit: + return AbstractBackendUpdater::Installing; + case PackageKit::Transaction::StatusFinished: + case PackageKit::Transaction::StatusCancel: + return AbstractBackendUpdater::Done; + default: + qCDebug(LIBDISCOVER_BACKEND_LOG) << "unknown packagekit status" << t; + return AbstractBackendUpdater::None; + } + Q_UNREACHABLE(); +} + +void PackageKitUpdater::itemProgress(const QString& itemID, PackageKit::Transaction::Status status, uint percentage) +{ + const auto res = packagesForPackageId({itemID}); + + foreach(auto r, res) { + Q_EMIT resourceProgressed(r, percentage, toUpdateState(status)); + } +} + +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..690b5e7 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/PackageKitUpdater.h @@ -0,0 +1,93 @@ +/* + * SPDX-FileCopyrightText: 2013 Lukas Appelhans + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ +#ifndef PACKAGEKITUPDATER_H +#define PACKAGEKITUPDATER_H + +#include +#include "PackageKitBackend.h" +#include + +int percentageWithStatus(PackageKit::Transaction::Status status, uint percentage); + +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); + bool useOfflineUpdates() const; + void setUseOfflineUpdates(bool use); + + 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/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/org.kde.discover.packagekit.appdata.xml b/libdiscover/backends/PackageKitBackend/org.kde.discover.packagekit.appdata.xml new file mode 100644 index 0000000..cb41ae1 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/org.kde.discover.packagekit.appdata.xml @@ -0,0 +1,130 @@ + + + org.kde.discover.packagekit + PackageKit backend + سَند عدّة الحزم + PackageKit modulu + Dorsal del PackageKit + Dorsal de PackageKit + Podpůrná vrstva PackageKit + PackageKit-motor + PackageKit-Backend + PackageKit backend + Motor PackageKit + PackageKiti taustaprogramm + PackageKit bizkarraldekoa + PackageKit-taustaosa + Moteur « PackageKit » + Infraestrutura de PackageKit + PackageKit backend + Retro administration de PackageKit (equipamento de pacchetto) + Backend PackageKit + Motore PackageKit + PackageKit 백엔드 + PackageKit vidinė pusė + PackageKit ബാക്കെൻഡ് + PackageKit-motor + PackageKit-backend + PackageKit-motor + ਪੈਕੇਜਕਿਟ ਬੈਕਐਂਡ + Silnik PackageKit + Infra-estrutura do PackageKit + Infraestrutura PackageKit + Platformă PackageKit + Модуль поддержки PackageKit + Podporný program pre PackageKit + Zaledje PackageKit + Gränssnitt för PackageKit + Коркардкунандаи PackageKit + Модуль PackageKit + xxPackageKit backendxx + PackageKit 后端 + PackageKit 後端 + Integrates distribution applications into Discover + يُكامل تطبيقات ”عُدّة الحزم“ في «استكشف» + Distribütor tətbiqlərini Discover-ə inteqrasiya edir + Integra les aplicacions de la distribució al Discover + Integra aplicacions de distribució a Discover + Integrerer distributionsprogrammer i Discover + Integriert Distributions-Anwendungen in Discover + Integrates distribution applications into Discover + Integra aplicaciones de la distribución en Discover + Distributsiooni rakenduste lõimimine Discoverisse + Banaketaren aplikazioak Dicover-ren integratzen ditu + Yhdistää jakelun sovellukset Discoveriin + Intègre les applications de distribution au sein de Discover + Integra aplicacións da distribución con Discover + A disztribúció alkalmazásainak integrálása a Discoverbe + Integrate appicationes de distribution in Discover + Aplikasi distribusi terintegrasi ke dalam Discover + Integra le applicazioni della distribuzione in Discover + 배포판 프로그램을 발견에 통합 + Integruoja platinimo programas į 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 + Integrează aplicațiile distribuției în Descoperă + Добавление поддержки приложений из дистрибутива ОС в центр программ Discover + Integruje aplikácie z distribúcie do aplikácie Discover + V Discover vgradi programe distribucije + Integrerar distributionsprogram i Discover + Барномаҳои низоми амалкунандаро ба барномаи Кашфиёт дарунсохт мекунад. + Інтегрує програми зі сховищ дистрибутива до Discover + xxIntegrates distribution applications into Discoverxx + 将发行版应用程序集成到Discover中 + 將發行版的應用程式整合進 Discover 商店 + org.kde.discover.desktop + CC0-1.0 + GPL-2.0+ + 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 + 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..b8f7a1e --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml @@ -0,0 +1,587 @@ + + + + + Applications + applications-all + 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..c680ba6 --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/pk-offline-private.h @@ -0,0 +1,35 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * SPDX-FileCopyrightText: 2014 Richard Hughes + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#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..394e04c --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/qml/DependenciesButton.qml @@ -0,0 +1,47 @@ +/* + * SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQuick 2.8 +import QtQuick.Controls 2.1 +import org.kde.kirigami 2.6 as Kirigami + +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..1e5d320 --- /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::KIOGui) +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..8bcae4f --- /dev/null +++ b/libdiscover/backends/PackageKitBackend/runservice/main.cpp @@ -0,0 +1,31 @@ +/* + * SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + QGuiApplication app(argc, argv); + if (app.arguments().size() != 2) + return 1; + + KService::Ptr service(new KService(app.arguments().constLast())); + if (!service->isValid()) + return 2; + + KIO::ApplicationLauncherJob *job = new KIO::ApplicationLauncherJob(service); + job->start(); + QObject::connect(job, &KIO::ApplicationLauncherJob::finished, &app, [job] { + QCoreApplication::instance()->exit(job->error()); + }); + return app.exec(); +} diff --git a/libdiscover/backends/SnapBackend/CMakeLists.txt b/libdiscover/backends/SnapBackend/CMakeLists.txt new file mode 100644 index 0000000..57e5453 --- /dev/null +++ b/libdiscover/backends/SnapBackend/CMakeLists.txt @@ -0,0 +1,21 @@ +add_subdirectory(libsnapclient) + +add_library(snap-backend MODULE SnapResource.cpp SnapBackend.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() +if ("${Snapd_VERSION}" VERSION_GREATER 1.42) + target_compile_definitions(snap-backend PRIVATE -DSNAP_PUBLISHER) +endif() +if ("${Snapd_VERSION}" VERSION_GREATER 1.45) + target_compile_definitions(snap-backend PRIVATE -DSNAP_MEDIA) +endif() +if ("${Snapd_VERSION}" VERSION_GREATER 1.48) + target_compile_definitions(snap-backend PRIVATE -DSNAP_FIND_COMMON_ID -DSNAP_MARKDOWN) +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..6575dae --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapBackend.cpp @@ -0,0 +1,235 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "SnapBackend.h" +#include "SnapTransaction.h" +#include "SnapResource.h" +#include "appstream/AppStreamIntegration.h" +#include +#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"); } + QVariantList 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(AppStreamIntegration::global()->reviews()) +{ + connect(m_reviews.data(), &OdrsReviewsBackend::ratingsReady, this, [this] { + m_reviews->emitRatingFetched(this, kTransform>(m_resources.values(), [] (AbstractResource* r) { return r; })); + }); + + //make sure we populate the installed resources first + refreshStates(); + + SourcesModel::global()->addSourcesBackend(new SnapSourcesBackend(this)); +} + +SnapBackend::~SnapBackend() = default; + +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")) { + std::function&)> f = [filters](const QSharedPointer& s) { return filters.search.isEmpty() || s->name().contains(filters.search, Qt::CaseInsensitive) || s->description().contains(filters.search, Qt::CaseInsensitive); }; + return populateWithFilter(m_client.getSnaps(), f); + } else if (!filters.search.isEmpty()) { + return populate(m_client.find(QSnapdClient::FindFlag::None, filters.search)); + } + return voidStream(); +} + +ResultsStream * SnapBackend::findResourceByPackageName(const QUrl& search) +{ + Q_ASSERT(!search.host().isEmpty() || !AppStreamUtils::appstreamIds(search).isEmpty()); + return search.scheme() == QLatin1String("snap") ? populate(m_client.find(QSnapdClient::MatchName, search.host())) : +#ifdef SNAP_FIND_COMMON_ID + search.scheme() == QLatin1String("appstream") ? populate(kTransform>(AppStreamUtils::appstreamIds(search), + [this] (const QString &id) {return m_client.find(QSnapdClient::MatchCommonId, id); })) : +#endif + voidStream(); +} + +template +ResultsStream* SnapBackend::populate(T* job) +{ + return populate(QVector{job}); +} + +template +ResultsStream* SnapBackend::populate(const QVector& jobs) +{ + std::function&)> acceptAll = [](const QSharedPointer&){ return true; }; + return populateJobsWithFilter(jobs, acceptAll); +} + +template +ResultsStream* SnapBackend::populateWithFilter(T* job, std::function& s)>& filter) +{ + return populateJobsWithFilter({job}, filter); +} + +template +ResultsStream* SnapBackend::populateJobsWithFilter(const QVector& jobs, std::function& s)>& filter) +{ + auto stream = new ResultsStream(QStringLiteral("Snap-populate")); + stream->setProperty("remaining", jobs.count()); + for(auto job : jobs) { + connect(job, &T::complete, stream, [stream, this, job, filter]() { + const int remaining = stream->property("remaining").toInt() - 1; + stream->setProperty("remaining", remaining); + + if (job->error()) { + qDebug() << "error:" << job->error() << job->errorString(); + if (remaining == 0) + stream->finish(); + return; + } + + QVector ret; + QVector resources; + ret.reserve(job->snapCount()); + resources.reserve(job->snapCount()); + for (int i=0, c=job->snapCount(); i snap(job->snap(i)); + + if (!filter(snap)) + continue; + + 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); + + if (remaining == 0) + 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.data(); +} + +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.getSnaps())}); + connect(ret, &StoredResultsStream::finishedResources, this, [this] (const QVector& resources){ + for (auto res: qAsConst(m_resources)) { + if (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..33f32ed --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapBackend.h @@ -0,0 +1,69 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef SNAPBACKEND_H +#define SNAPBACKEND_H + +#include +#include +#include +#include +#include +#include + +class OdrsReviewsBackend; +class StandardBackendUpdater; +class SnapResource; +class SnapBackend : public AbstractResourcesBackend +{ +Q_OBJECT +public: + explicit SnapBackend(QObject* parent = nullptr); + ~SnapBackend() override; + + 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* populateWithFilter(T* snaps, std::function&)>& filter); + + template + ResultsStream* populateJobsWithFilter(const QVector& snaps, std::function&)>& filter); + + template + ResultsStream* populate(T* snaps); + + template + ResultsStream* populate(const QVector& snaps); + + QHash m_resources; + StandardBackendUpdater* m_updater; + QSharedPointer 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..5ccafd4 --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapResource.cpp @@ -0,0 +1,529 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "SnapResource.h" +#include "SnapBackend.h" +#include +#include +#include +#include +#include +#include + +#ifdef SNAP_MARKDOWN +#include +#endif + +#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.connectionSlotCount(); + 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.connectionSlotCount(); + 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; + Q_EMIT iconChanged(); + } +} + +QString SnapResource::installedVersion() const +{ + return m_snap->version(); +} + +QJsonArray SnapResource::licenses() +{ + return { QJsonObject{ {QStringLiteral("name"), m_snap->license()} } }; +} + +#ifdef SNAP_MARKDOWN +static QString serialize_node (QSnapdMarkdownNode &node); + +static QString +serialize_children (QSnapdMarkdownNode &node) +{ + QString result; + for (int i = 0; i < node.childCount (); i++) { + QScopedPointer child (node.child (i)); + result += serialize_node (*child); + } + return result; +} + +static QString +serialize_node (QSnapdMarkdownNode &node) +{ + switch (node.type ()) { + case QSnapdMarkdownNode::NodeTypeText: + return node.text().toHtmlEscaped(); + + case QSnapdMarkdownNode::NodeTypeParagraph: + return QLatin1String("

    ") + serialize_children (node) + QLatin1String("

    \n"); + + case QSnapdMarkdownNode::NodeTypeUnorderedList: + return QLatin1String("
      \n") + serialize_children (node) + QLatin1String("
    \n"); + + case QSnapdMarkdownNode::NodeTypeListItem: + if (node.childCount () == 0) + return QLatin1String("
  • \n"); + if (node.childCount () == 1) { + QScopedPointer child (node.child (0)); + if (child->type () == QSnapdMarkdownNode::NodeTypeParagraph) + return QLatin1String("
  • ") + serialize_children (*child) + QLatin1String("
  • \n"); + } + return QLatin1String("
  • \n") + serialize_children (node) + QLatin1String("
  • \n"); + + case QSnapdMarkdownNode::NodeTypeCodeBlock: + return QLatin1String("
    ") + serialize_children (node) + QLatin1String("
    \n"); + + case QSnapdMarkdownNode::NodeTypeCodeSpan: + return QLatin1String("") + serialize_children (node) + QLatin1String(""); + + case QSnapdMarkdownNode::NodeTypeEmphasis: + return QLatin1String("") + serialize_children (node) + QLatin1String(""); + + case QSnapdMarkdownNode::NodeTypeStrongEmphasis: + return QLatin1String("") + serialize_children (node) + QLatin1String(""); + + case QSnapdMarkdownNode::NodeTypeUrl: + return serialize_children (node); + + default: + return QString(); + } +} +#endif + +QString SnapResource::longDescription() +{ +#ifdef SNAP_MARKDOWN + QSnapdMarkdownParser parser (QSnapdMarkdownParser::MarkdownVersion0); + QList nodes = parser.parse (m_snap->description()); + QString result; + for (int i = 0; i < nodes.size (); i++) + result += serialize_node (nodes[i]); + return result; +#else + return m_snap->description(); +#endif +} + +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; +#ifdef SNAP_MEDIA + for(int i = 0, c = m_snap->mediaCount(); i media(m_snap->media(i)); + if (media->type() == QLatin1String("screenshot")) + screenshots << QUrl(media->url()); + } +#else + for(int i = 0, c = m_snap->screenshotCount(); i screenshot(m_snap->screenshot(i)); + screenshots << QUrl(screenshot->url()); + } +#endif + Q_EMIT screenshotsFetched(screenshots, screenshots); +} + +void SnapResource::invokeApplication() const +{ + QProcess::startDetached(QStringLiteral("snap"), {QStringLiteral("run"), packageName()}); +} + +AbstractResource::Type SnapResource::type() const +{ + return m_snap->snapType() != QLatin1String("app") ? Application : Technical; +} + +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) + { + auto roles = roleNames(); + roles.insert(Qt::CheckStateRole, "checked"); + setItemRoleNames(roles); + + 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; + + const auto theSlots = slotsForInterface.value(plug->interface()); + for (auto slot: theSlots) { + 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(); + Q_EMIT 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("io.snapcraft.") + m_snap->name() + QLatin1Char('-') + m_snap->id() : ids.first(); +} + +QString SnapResource::channel() const +{ +#ifdef SNAP_PUBLISHER + auto req = client()->getSnap(packageName()); +#else + auto req = client()->listOne(packageName()); +#endif + req->runSync(); + return req->error() ? QString() : req->snap()->trackingChannel(); +} + +QString SnapResource::author() const +{ +#ifdef SNAP_PUBLISHER + QString author = m_snap->publisherDisplayName(); + if (m_snap->publisherValidation() == QSnapdEnums::PublisherValidationVerified) { + author += QStringLiteral(" ✅"); + } +#else + QString author; +#endif + + return author; +} + +void SnapResource::setChannel(const QString& channelName) +{ +#ifdef SNAP_CHANNELS + Q_ASSERT(isInstalled()); + auto request = client()->switchChannel(m_snap->name(), channelName); + + const auto currentChannel = channel(); + request->runAsync(); + connect(request, &QSnapdRequest::complete, this, [this, currentChannel]() { + const auto newChannel = channel(); + if (newChannel != currentChannel) { + Q_EMIT channelChanged(newChannel); + } + }); +#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..1ec8faa --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapResource.h @@ -0,0 +1,79 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef SNAPRESOURCE_H +#define SNAPRESOURCE_H + +#include +#include +#include +#include + +class SnapBackend; +class QAbstractItemModel; +class QSnapdClient; + +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; + QJsonArray licenses() 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; + AbstractResource::Type type() const override; + bool canExecute() const override { return true; } + void invokeApplication() const override; + void fetchChangelog() override; + void fetchScreenshots() override; + QString author() const 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/SnapTransaction.cpp b/libdiscover/backends/SnapBackend/SnapTransaction.cpp new file mode 100644 index 0000000..a4b93e0 --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapTransaction.cpp @@ -0,0 +1,118 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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(); + setStatus(CancelledStatus); +} + +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, QProcess::ExitStatus status) { + p->deleteLater(); + if (code != 0) { + qWarning() << "login failed... code:" << code << status << 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(true); + connect(m_request.data(), &QSnapdRequest::progress, this, &SnapTransaction::progressed); + connect(m_request.data(), &QSnapdRequest::complete, this, &SnapTransaction::finishTransaction); + + setStatus(CommittingStatus); + 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)); + setStatus(status); +} diff --git a/libdiscover/backends/SnapBackend/SnapTransaction.h b/libdiscover/backends/SnapBackend/SnapTransaction.h new file mode 100644 index 0000000..6bc0eda --- /dev/null +++ b/libdiscover/backends/SnapBackend/SnapTransaction.h @@ -0,0 +1,40 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..7e10642 --- /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::AuthCore KF5::I18n) +install(TARGETS SnapMacaroonDialog DESTINATION ${KDE_INSTALL_LIBEXECDIR}/discover) + +add_executable(libsnap_helper SnapAuthHelper.cpp) +target_link_libraries(libsnap_helper Qt5::Network KF5::AuthCore 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..ee2f764 --- /dev/null +++ b/libdiscover/backends/SnapBackend/libsnapclient/SnapAuthHelper.cpp @@ -0,0 +1,66 @@ +/* + * SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace KAuth; + +class SnapAuthHelper : public QObject +{ + Q_OBJECT + QSnapdClient m_client; +public: + SnapAuthHelper() {} + +public Q_SLOTS: + KAuth::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..444cb3f --- /dev/null +++ b/libdiscover/backends/SnapBackend/libsnapclient/SnapMacaroonDialog.cpp @@ -0,0 +1,90 @@ +/* + * SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..1ce6695 --- /dev/null +++ b/libdiscover/backends/SnapBackend/libsnapclient/org.kde.discover.libsnapclient.actions @@ -0,0 +1,85 @@ +[org.kde.discover.libsnapclient.login] +Name=Snap login action +Name[ar]=إجراء ولوج سناپ +Name[az]=Snap giriş fəaliyyəti +Name[ca]=Accions de connexió de l'Snap +Name[ca@valencia]=Accions de connexió de 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[et]=Snapi sisselogimine +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[ia]=Action de accesso de Snap +Name[id]=Tindakan login snap +Name[it]=Azione di accesso Snap +Name[ko]=Snap 로그인 동작 +Name[lt]=Snap prisijungimo veiksmas +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[ro]=Acțiune de autentificare Snap +Name[ru]=Вход в систему приложений из snap-пакетов +Name[sk]=Akcia prihlásenia Snap +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[tg]=Часпондани амали воридшавӣ +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[az]=Snap paket proqramlarına, sistemə daxil olmağa icazə verir +Description[ca]=Permet que els frontals de l'Snap es connectin +Description[ca@valencia]=Permet que els frontals de 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[et]=Võimaldab Snapi kasutajaliidestel sisse logida +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[ia]=Permitte interfacies de snap per authenticar se +Description[id]=Izinkan front-end snap untuk login +Description[it]=Consenti alle interfacce snap di accedere +Description[ko]=Snap 프론트엔드 로그인 허용 +Description[lt]=Leidžia snap naudotojo sąsajoms prisijungti +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[ro]=Permite interfețelor Snap să se autentifice +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[tg]=Ба воситаҳои корбарии часпон барои воридшавӣ иҷозат медиҳад +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..dded130 --- /dev/null +++ b/libdiscover/backends/SnapBackend/org.kde.discover.snap.appdata.xml @@ -0,0 +1,126 @@ + + + org.kde.discover.snap + Snap backend + سَند سناپ + Snap modulları + Dorsal de l'Snap + Dorsal de Snap + Podpůrná vrstva Snap + Snap-motor + Snap-Backend + Snap backend + Motor Snap + Snapi taustaprogramm + Snap bizkarraldekoa + Snap-taustaosa + Moteur « Snap » + Infraestrutura de Snap + Snap backend + Retro-Administration de Snap + Backend Snap + Motore Snap + Snap 백엔드 + Snap vidinė pusė + സ്നാപ്പ് ബാക്കെൻഡ് + Snap-motor + Snap-backend + Snap-motor + Silnik Snap + Infra-estrutura do Snap + Infraestrutura Snap + Platformă Snap + Модуль поддержки формата Snap + Podporný program pre Snap + Zaledje Snap + Gränssnitt för Snap + Коркардкунандаи Часпиш + Модуль Snap + xxSnap backendxx + Snap 后端 + Snap 後端 + Integrates Snap applications into Discover + يُكامل تطبيقات ”سناپ“ في «استكشف» + Snap tətbiqlərini Discover-ə inteqrasiya edir + Integra les aplicacions de l'Snap al Discover + Integra aplicacions de Snap a Discover + Integrerer Snap-programmer i Discover + Integriert Snap-Anwendungen in Discover + Integrates Snap applications into Discover + Integra aplicaciones Snap en Discover + Snapi rakenduste lõimimine Discoverisse + Snap aplikazioak Discover-ren integratzen ditu + Yhdistää Snap-sovellukset Discoveriin + Intègre les applications « Snap » au sein de Discover + Integra aplicacións de Snap con Discover + Snap alkalmazások integrálása a Discoverbe + Integra pplicationes de Snap in Discover + Aplikasi Snap terintegrasi ke dalam Discover + Integra le applicazioni Snap in Discover + Snap 프로그램을 발견에 통합 + Integruoja Snap programas į Discover + സ്നാപ്പ് ആപ്ലിക്കേഷനുകൾ ഡിസ്കവറിലേക്ക് സംയോജിപ്പിക്കുന്നു + 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 + Integrează aplicații Snap în Descoperă + Добавление поддержки формата Snap в центр программ Discover + Integruje aplikácie Snap do aplikácie Discover + V Discover vgradi programe Snap + Integrerar Snap-program i Discover + Барномаҳои Часпишро ба барномаи Кашфиёт дарунсохт мекунад + Інтегрує програми Snap до Discover + xxIntegrates Snap applications into Discoverxx + 将 Snap 应用程序集成到Discover中 + 將 Snap 應用程式整合進 Discover 商店 + org.kde.discover.desktop + CC0-1.0 + GPL-2.0+ + 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 + 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..83e5289 --- /dev/null +++ b/libdiscover/backends/SnapBackend/qml/ChannelsButton.qml @@ -0,0 +1,45 @@ +/* + * SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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..6ab170c --- /dev/null +++ b/libdiscover/backends/SnapBackend/qml/PermissionsButton.qml @@ -0,0 +1,40 @@ +/* + * SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +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..692ff0a --- /dev/null +++ b/libdiscover/backends/SnapBackend/snap-backend-categories.xml @@ -0,0 +1,15 @@ + + + + + Applications + applications-all + 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/config-paths.h.cmake b/libdiscover/config-paths.h.cmake new file mode 100644 index 0000000..92f4926 --- /dev/null +++ b/libdiscover/config-paths.h.cmake @@ -0,0 +1 @@ +#define CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "@CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@" diff --git a/libdiscover/notifiers/BackendNotifierModule.cpp b/libdiscover/notifiers/BackendNotifierModule.cpp new file mode 100644 index 0000000..6f319b4 --- /dev/null +++ b/libdiscover/notifiers/BackendNotifierModule.cpp @@ -0,0 +1,13 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..8878fa9 --- /dev/null +++ b/libdiscover/notifiers/BackendNotifierModule.h @@ -0,0 +1,73 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef BACKENDNOTIFIERMODULE_H +#define BACKENDNOTIFIERMODULE_H + +#include +#include "discovernotifiers_export.h" + +class DISCOVERNOTIFIERS_EXPORT UpgradeAction : public QObject +{ +Q_OBJECT +Q_PROPERTY(QString name READ name CONSTANT) +Q_PROPERTY(QString description READ description CONSTANT) +public: + UpgradeAction(const QString& name, const QString& description, QObject* parent) + : QObject(parent) + , m_name(name) + , m_description(description) + {} + + QString name() const { return m_name; } + QString description() const { return m_description; } + + void trigger() { Q_EMIT triggered(m_name); } + +Q_SIGNALS: + void triggered(const QString & name); + +private: + const QString m_name; + const QString m_description; +}; + +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 bool hasUpdates() = 0; + + /*** @returns count of security updates only. **/ + virtual bool hasSecurityUpdates() = 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(); + + /** notifies about an available upgrade */ + void foundUpgradeAction(UpgradeAction* action); +}; + +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..5be2e8e --- /dev/null +++ b/libdiscover/resources/AbstractBackendUpdater.cpp @@ -0,0 +1,39 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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(); + } +} + +void AbstractBackendUpdater::enableNeedsReboot() +{ + if (m_needsReboot) + return; + + m_needsReboot = true; + Q_EMIT needsRebootChanged(); +} + +bool AbstractBackendUpdater::needsReboot() const +{ + return m_needsReboot; +} diff --git a/libdiscover/resources/AbstractBackendUpdater.h b/libdiscover/resources/AbstractBackendUpdater.h new file mode 100644 index 0000000..680e24c --- /dev/null +++ b/libdiscover/resources/AbstractBackendUpdater.h @@ -0,0 +1,208 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef ABSTRACTBACKENDUPDATER_H +#define ABSTRACTBACKENDUPDATER_H + +#include +#include "discovercommon_export.h" + +class QDateTime; +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(bool needsReboot READ needsReboot NOTIFY needsRebootChanged) + Q_PROPERTY(quint64 downloadSpeed READ downloadSpeed NOTIFY downloadSpeedChanged) + public: + enum State { None, Downloading, Installing, Done }; + Q_ENUM(State); + + /** + * 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; + + void enableNeedsReboot(); + + bool needsReboot() const; + + 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, AbstractBackendUpdater::State state); + + 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); + + /** + * emitted when the updater decides it needs to reboot + */ + void needsRebootChanged(); + + private: + bool m_needsReboot = false; +}; + +#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..17d3a07 --- /dev/null +++ b/libdiscover/resources/AbstractResource.cpp @@ -0,0 +1,234 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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(); +} + +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(QLatin1String(", ")); +} + +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..f9af67f --- /dev/null +++ b/libdiscover/resources/AbstractResource.h @@ -0,0 +1,234 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef ABSTRACTRESOURCE_H +#define ABSTRACTRESOURCE_H + +#include +#include +#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(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(QJsonArray licenses READ licenses CONSTANT) + Q_PROPERTY(QString longDescription READ longDescription NOTIFY longDescriptionChanged) + 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(QString author READ author 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(); + + enum Type { Application, Addon, Technical }; + Q_ENUM(Type); + virtual Type type() const = 0; + + virtual int size() = 0; + virtual QString sizeDescription(); + + ///@returns a list of pairs with the name of the license and a URL pointing at it + virtual QJsonArray licenses() = 0; + + virtual QString installedVersion() const = 0; + virtual QString availableVersion() const = 0; + virtual QString longDescription() = 0; + + virtual QString origin() const = 0; + virtual QString displayOrigin() const; + virtual QString section() = 0; + virtual QString author() const = 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 explanation 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; + + virtual QSet alternativeAppstreamIds() const { return {}; } + + public Q_SLOTS: + virtual void fetchScreenshots(); + virtual void fetchChangelog() = 0; + virtual void fetchUpdateDetails() { fetchChangelog(); } + + Q_SIGNALS: + void iconChanged(); + void sizeChanged(); + void stateChanged(); + void ratingFetched(); + void longDescriptionChanged(); + + ///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..53ce71c --- /dev/null +++ b/libdiscover/resources/AbstractResourcesBackend.cpp @@ -0,0 +1,141 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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) +{ + QTimer* fetchingChangedTimer = new QTimer(this); + fetchingChangedTimer->setInterval(3000); + fetchingChangedTimer->setSingleShot(true); + connect(fetchingChangedTimer, &QTimer::timeout, this, [this]{ qDebug() << "took really long to fetch" << this; }); + + connect(this, &AbstractResourcesBackend::fetchingChanged, this, [this, fetchingChangedTimer]{ +// Q_ASSERT(isFetching() != fetchingChangedTimer->isActive()); + if (isFetching()) + fetchingChangedTimer->start(); + else + fetchingChangedTimer->stop(); + + Q_EMIT fetchingUpdatesProgressChanged(); + }); +} + +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 {}; +} + +int AbstractResourcesBackend::fetchingUpdatesProgress() const +{ + return isFetching() ? 42 : 100; +} diff --git a/libdiscover/resources/AbstractResourcesBackend.h b/libdiscover/resources/AbstractResourcesBackend.h new file mode 100644 index 0000000..ce611e4 --- /dev/null +++ b/libdiscover/resources/AbstractResourcesBackend.h @@ -0,0 +1,245 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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); + void fetchMore(); +}; + +/** + * \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 + * process. + */ +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(); + + /** + * @returns the root category tree + */ + virtual QVector category() const { return {}; } + + virtual bool hasApplications() const { return false; } + + virtual int fetchingUpdatesProgress() const; + + 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); + void fetchingUpdatesProgressChanged(); + + 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..d2c879a --- /dev/null +++ b/libdiscover/resources/AbstractSourcesBackend.cpp @@ -0,0 +1,40 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..12d3d92 --- /dev/null +++ b/libdiscover/resources/AbstractSourcesBackend.h @@ -0,0 +1,69 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef ABSTRACTSOURCESBACKEND_H +#define ABSTRACTSOURCESBACKEND_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(QVariantList actions READ actions CONSTANT) //TODO Make it a QVector again when we depend on newer than Qt 5.12 + 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 QVariantList 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..3a85eaa --- /dev/null +++ b/libdiscover/resources/PackageState.cpp @@ -0,0 +1,54 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "PackageState.h" +#include "libdiscover_debug.h" + +PackageState::PackageState(const QString &name, const 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..aa3bd13 --- /dev/null +++ b/libdiscover/resources/PackageState.h @@ -0,0 +1,40 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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(const QString &name, const 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..4629d1f --- /dev/null +++ b/libdiscover/resources/ResourcesModel.cpp @@ -0,0 +1,409 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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 +#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) + , m_allInitializedEmitter(new QTimer(this)) + , m_updatesCount(0, [this] { + { + int ret = 0; + foreach(AbstractResourcesBackend* backend, m_backends) { + ret += backend->updatesCount(); + } + return ret; + } + }, [this](int count){ Q_EMIT updatesCountChanged(count); }) + , m_fetchingUpdatesProgress(0, [this] { + { + if (m_backends.isEmpty()) + return 0; + + int sum = 0; + for(auto backend: qAsConst(m_backends)) { + sum += backend->fetchingUpdatesProgress(); + } + return sum / m_backends.count(); + } + }, [this](int progress){ Q_EMIT fetchingUpdatesProgressChanged(progress); }) +{ + 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()); + + m_allInitializedEmitter->setSingleShot(true); + m_allInitializedEmitter->setInterval(0); + connect(m_allInitializedEmitter, &QTimer::timeout, this, [this](){ + if (m_initializingBackends == 0) + emit allInitialized(); + }); + + 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); + m_fetchingUpdatesProgress.reevaluate(); + }); + 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()) { + m_updatesCount.reevaluate(); + } 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, [this] { m_updatesCount.reevaluate(); }); + connect(backend, &AbstractResourcesBackend::fetchingUpdatesProgressChanged, this, [this] { m_fetchingUpdatesProgress.reevaluate(); }); + connect(backend, &AbstractResourcesBackend::resourceRemoved, this, &ResourcesModel::resourceRemoved); + connect(backend, &AbstractResourcesBackend::passiveMessage, this, &ResourcesModel::passiveMessage); + connect(backend->reviewsBackend(), &AbstractReviewsBackend::error, this, &ResourcesModel::passiveMessage, Qt::UniqueConnection); + connect(backend->backendUpdater(), &AbstractBackendUpdater::progressingChanged, this, &ResourcesModel::slotFetching); + + // In case this is in fact the first backend to be added, and also happens to be + // pre-filled, we still need for the rest of the backends to be added before trying + // to send out the initialized signal. To ensure this happens, schedule it for the + // start of the next run of the event loop. + if(m_initializingBackends==0) { + m_allInitializedEmitter->start(); + } 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) + m_allInitializedEmitter->start(); + 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; +} + +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"; + m_allInitializedEmitter->start(); + } 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::streamDestruction); + connect(this, &ResultsStream::fetchMore, stream, &ResultsStream::fetchMore); + 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, &AggregatedResultsStream::resourceDestruction); + + 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::resourceDestruction(QObject* obj) +{ + m_results.removeAll(qobject_cast(obj)); +} + +void AggregatedResultsStream::streamDestruction(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); +} + +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() +{ + const auto name = applicationSourceName(); + + 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); +} + +QString ResourcesModel::applicationSourceName() const +{ + KConfigGroup settings(KSharedConfig::openConfig(), "ResourcesModel"); + return settings.readEntry("currentApplicationBackend", QStringLiteral("packagekit-backend")); +} diff --git a/libdiscover/resources/ResourcesModel.h b/libdiscover/resources/ResourcesModel.h new file mode 100644 index 0000000..f549d2f --- /dev/null +++ b/libdiscover/resources/ResourcesModel.h @@ -0,0 +1,149 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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 streamDestruction(QObject* obj); + void resourceDestruction(QObject* obj); + void clear(); + + QSet m_streams; + QVector m_results; + QTimer m_delayedEmission; +}; + +template +class EmitWhenChanged +{ +public: + EmitWhenChanged(T initial, const std::function &get, const std::function &emitChanged) + : m_get(get) + , m_emitChanged(emitChanged) + , m_value(initial) + {} + + void reevaluate() { + auto newValue = m_get(); + if (newValue != m_value) { + m_value = newValue; + m_emitChanged(m_value); + } + } + + std::function const m_get; + std::function const m_emitChanged; + T m_value; +}; + +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) + Q_PROPERTY(int fetchingUpdatesProgress READ fetchingUpdatesProgress NOTIFY fetchingUpdatesProgressChanged) + Q_PROPERTY(QString applicationSourceName READ applicationSourceName NOTIFY currentApplicationBackendChanged) + 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 { return m_updatesCount.m_value; } + bool hasSecurityUpdates() const; + + bool isBusy() const; + bool isFetching() const; + + Q_SCRIPTABLE bool isExtended(const QString &id); + + AggregatedResultsStream* search(const AbstractResourcesBackend::Filters &search); + void checkForUpdates(); + + QString applicationSourceName() const; + + QVariantList applicationBackendsVariant() const; + QVector applicationBackends() const; + void setCurrentApplicationBackend(AbstractResourcesBackend* backend, bool writeConfig = true); + AbstractResourcesBackend* currentApplicationBackend() const; + + QAction* updateAction() const { return m_updateAction; } + int fetchingUpdatesProgress() const { return m_fetchingUpdatesProgress.m_value; } + + 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(int updatesCount); + 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); + void fetchingUpdatesProgressChanged(int fetchingUpdatesProgress); + + 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; + QTimer* m_allInitializedEmitter; + + EmitWhenChanged m_updatesCount; + EmitWhenChanged m_fetchingUpdatesProgress; + + 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..d67788c --- /dev/null +++ b/libdiscover/resources/ResourcesProxyModel.cpp @@ -0,0 +1,640 @@ +/* + * SPDX-FileCopyrightText: 2010 Jonathan Thomas + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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" }, + { CategoryRole, "category" }, + { CategoryDisplayRole, "categoryDisplay" }, + { SectionRole, "section" }, + { MimeTypes, "mimetypes" }, + { LongDescriptionRole, "longDescription" }, + { SourceIconRole, "sourceIcon" }, + { SizeRole, "size" }, + { ReleaseDateRole, "releaseDate" } + }) + , m_currentStream(nullptr) +{ +// new QAbstractItemModelTester(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 sortOrderChanged(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 aliases; + 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(); + } + + const auto alts = (*it)->alternativeAppstreamIds(); + for (const auto &alias : alts) { + aliases[alias] = appstreamid; + } + } + + 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 aliased = aliases.constFind(appstreamid); + if (aliased != aliases.constEnd()) { + at = storedIds.find(aliased.value()); + } + } + + if (at == storedIds.end()) { + const auto alts = (*it)->alternativeAppstreamIds(); + for (const auto &alt : alts) { + at = storedIds.find(alt); + if (at == storedIds.end()) + break; + + auto aliased = aliases.constFind(alt); + if (aliased != aliases.constEnd()) { + at = storedIds.find(aliased.value()); + if (at != storedIds.end()) + break; + } + } + } + if (at == storedIds.end()) { + auto at = ids.find(appstreamid); + if (at == ids.end()) { + auto aliased = aliases.constFind(appstreamid); + if (aliased != aliases.constEnd()) { + at = ids.find(aliased.value()); + } + } + if (at == ids.end()) { + const auto alts = (*it)->alternativeAppstreamIds(); + for (const auto &alt : alts) { + at = ids.find(alt); + if (at != ids.end()) + break; + + auto aliased = aliases.constFind(appstreamid); + if (aliased != aliases.constEnd()) { + at = ids.find(aliased.value()); + if (at != ids.end()) + break; + } + } + } + if (at == ids.end()) { + ids[appstreamid] = it; + const auto alts = (*it)->alternativeAppstreamIds(); + for (const auto &alias : alts) { + aliases[alias] = appstreamid; + } + ++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) + std::sort(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(); + std::sort(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 = kToSet(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 QVariant::fromValue(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::canFetchMore(const QModelIndex& parent) const +{ + Q_ASSERT(!parent.isValid()); + return m_currentStream; +} + +void ResourcesProxyModel::fetchMore(const QModelIndex& parent) +{ + Q_ASSERT(!parent.isValid()); + if (!m_currentStream) + return; + Q_EMIT m_currentStream->fetchMore(); +} + +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..1f6ea18 --- /dev/null +++ b/libdiscover/resources/ResourcesProxyModel.h @@ -0,0 +1,163 @@ +/* + * SPDX-FileCopyrightText: 2010 Jonathan Thomas + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef RESOURCESPROXYMODEL_H +#define RESOURCESPROXYMODEL_H + +#include +#include +#include +#include + +#include + +#include "discovercommon_export.h" +#include "AbstractResource.h" +#include "AbstractResourcesBackend.h" + +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, + 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 canFetchMore(const QModelIndex & parent) const override; + void fetchMore(const QModelIndex & parent) override; + 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..fe179ec --- /dev/null +++ b/libdiscover/resources/ResourcesUpdatesModel.cpp @@ -0,0 +1,280 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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){ setCancellable(kContains(m_allUpdaters, [] (AbstractBackendUpdater* updater) { return updater->isCancelable() && updater->isProgressing(); })); }); + 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("View Updates"); } + +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::needsRebootChanged, this, &ResourcesUpdatesModel::needsRebootChanged); + 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(); +} + +bool ResourcesUpdatesModel::needsReboot() const +{ + for(auto upd: m_updaters) { + if (upd->needsReboot()) + return true; + } + return false; +} + +#include "ResourcesUpdatesModel.moc" diff --git a/libdiscover/resources/ResourcesUpdatesModel.h b/libdiscover/resources/ResourcesUpdatesModel.h new file mode 100644 index 0000000..97018c5 --- /dev/null +++ b/libdiscover/resources/ResourcesUpdatesModel.h @@ -0,0 +1,70 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef RESOURCESUPDATESMODEL_H +#define RESOURCESUPDATESMODEL_H + +#include +#include +#include +#include "discovercommon_export.h" +#include "resources/AbstractBackendUpdater.h" + +class AbstractResource; +class UpdateTransaction; +class Transaction; + +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) + Q_PROPERTY(bool needsReboot READ needsReboot NOTIFY needsRebootChanged) + public: + explicit ResourcesUpdatesModel(QObject* parent = nullptr); + + 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; + bool needsReboot() const; + + Q_SIGNALS: + void downloadSpeedChanged(); + void progressingChanged(); + void finished(); + void resourceProgressed(AbstractResource* resource, qreal progress, AbstractBackendUpdater::State state); + void passiveMessage(const QString &message); + void needsRebootChanged(); + void fetchingUpdatesProgressChanged(int percent); + + public Q_SLOTS: + void updateAll(); + + private Q_SLOTS: + void updaterDestroyed(QObject* obj); + void message(const QString& msg); + + private: + void init(); + 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..8d1f985 --- /dev/null +++ b/libdiscover/resources/SourcesModel.cpp @@ -0,0 +1,86 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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(Qt::DisplayRole, "display"); + roles.insert(Qt::ToolTipRole, "toolTip"); + 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, QVariant::fromValue(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..fcb322a --- /dev/null +++ b/libdiscover/resources/SourcesModel.h @@ -0,0 +1,46 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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; + + Q_SIGNALS: + void showingNow(); + + 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..2abb88c --- /dev/null +++ b/libdiscover/resources/StandardBackendUpdater.cpp @@ -0,0 +1,283 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#include +#include +#include +#include "ResourcesModel.h" +#include +#include +#include +#include +#include "libdiscover_debug.h" +#include "utils.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.values(); + std::sort(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); + connect(newTransaction, &Transaction::statusChanged, this, &StandardBackendUpdater::transactionProgressChanged); +} + +AbstractBackendUpdater::State toUpdateState(Transaction* t) +{ + switch(t->status()) { + case Transaction::SetupStatus: + case Transaction::QueuedStatus: + return AbstractBackendUpdater::None; + case Transaction::DownloadingStatus: + return AbstractBackendUpdater::Downloading; + case Transaction::CommittingStatus: + return AbstractBackendUpdater::Installing; + case Transaction::DoneStatus: + case Transaction::DoneWithErrorStatus: + case Transaction::CancelledStatus: + return AbstractBackendUpdater::Done; + } + Q_UNREACHABLE(); +} + +void StandardBackendUpdater::transactionProgressChanged() +{ + Transaction* t = qobject_cast(sender()); + Q_EMIT resourceProgressed(t->resource(), t->progress(), toUpdateState(t)); + + refreshProgress(); +} + +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) { + refreshProgress(); + if(m_pendingResources.isEmpty()) { + cleanup(); + } + } + refreshUpdateable(); +} + +void StandardBackendUpdater::refreshProgress() +{ + if (m_toUpgrade.isEmpty()) { + return; + } + + int allProgresses = (m_toUpgrade.size() - m_pendingResources.size()) * 100; + const auto allTransactions = transactions(); + for (auto t: allTransactions) { + allProgresses += t->progress(); + } + setProgress(allProgresses / m_toUpgrade.size()); +} + +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) +{ + const QSet upgradeableApps = kToSet(apps); + Q_ASSERT(m_upgradeable.contains(upgradeableApps)); + m_toUpgrade += upgradeableApps; +} + +void StandardBackendUpdater::removeResources(const QList< AbstractResource* >& apps) +{ + const QSet upgradeableApps = kToSet(apps); + Q_ASSERT(m_upgradeable.contains(upgradeableApps)); + Q_ASSERT(m_toUpgrade.contains(upgradeableApps)); + m_toUpgrade -= upgradeableApps; +} + +void StandardBackendUpdater::cleanup() +{ + m_lastUpdate = QDateTime::currentDateTime(); + m_toUpgrade.clear(); + + refreshUpdateable(); + emit progressingChanged(false); +} + +QList StandardBackendUpdater::toUpdate() const +{ + return m_toUpgrade.values(); +} + +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; +} + +QVector StandardBackendUpdater::transactions() const +{ + const auto trans = TransactionModel::global()->transactions(); + return kFilter>(trans, [this](Transaction* t) { return t->property("updater").value() == this; }); +} + +quint64 StandardBackendUpdater::downloadSpeed() const +{ + quint64 ret = 0; + const auto trans = transactions(); + for(Transaction* t: trans) { + ret += t->downloadSpeed(); + } + return ret; + +} diff --git a/libdiscover/resources/StandardBackendUpdater.h b/libdiscover/resources/StandardBackendUpdater.h new file mode 100644 index 0000000..50600f4 --- /dev/null +++ b/libdiscover/resources/StandardBackendUpdater.h @@ -0,0 +1,72 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#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(); + void refreshProgress(); + QVector transactions() const; + + 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..c6667c3 --- /dev/null +++ b/libdiscover/resources/StoredResultsStream.cpp @@ -0,0 +1,28 @@ +/* + * SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..47dde0c --- /dev/null +++ b/libdiscover/resources/StoredResultsStream.h @@ -0,0 +1,27 @@ +/* + * SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..61e1bc3 --- /dev/null +++ b/libdiscover/resources/discoverabstractnotifier.notifyrc @@ -0,0 +1,149 @@ +[Global] +IconName=plasmadiscover +DesktopEntry=org.kde.discover +Comment=Discover +Comment[ar]=استكشف +Comment[ast]=Discover +Comment[az]=Discover - Proqram Təminatı Mərkəzi +Comment[ca]=Discover +Comment[ca@valencia]=Discover +Comment[cs]=Discover +Comment[da]=Discover +Comment[de]=Discover +Comment[el]=Discover +Comment[en_GB]=Discover +Comment[es]=Discover +Comment[et]=Discover +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[lt]=Discover +Comment[ml]=കണ്ടെത്തുക +Comment[nl]=Ontdekken +Comment[nn]=Discover +Comment[pa]=ਖੋਜ +Comment[pl]=Odkryj +Comment[pt]=Discover +Comment[pt_BR]=Discover +Comment[ro]=Descoperă +Comment[ru]=Центр программ Discover +Comment[sk]=Discover +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[tg]=Кашфиёт +Comment[tr]=Keşfet +Comment[uk]=Discover +Comment[x-test]=xxDiscoverxx +Comment[zh_CN]=Discover +Comment[zh_TW]=探詢 + +[Event/Update] +Name=Updates Are Available +Name[ar]=تتوفّر تحديثات +Name[ast]=Hai anovamientos disponibles +Name[az]=Yenilənmələr mövcuddur +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]=Pembaruan Telah Tersedia +Name[it]=Sono disponibili aggiornamenti +Name[ja]=更新が利用可能です +Name[ko]=업데이트 사용 가능 +Name[lt]=Yra prieinami atnaujinimai +Name[ml]=അപ്ഡേറ്റുകൾ ലഭ്യമാണ് +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[ro]=Sunt disponibile actualizări +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[tg]=Навсозиҳо дастрасанд +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[ast]=Anovamientos disponibles +Comment[az]=Yenilənmələr mövcuddur +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]=Tersedia Pembaruan +Comment[it]=Aggiornamenti disponibili +Comment[ja]=更新が利用可能 +Comment[ko]=업데이트 사용 가능 +Comment[lt]=Prieinami atnaujinimai +Comment[ml]=അപ്ഡേറ്റുകൾ ലഭ്യമാണ് +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[ro]=Actualizări disponibile +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[tg]=Навсозиҳо дастрасанд +Comment[tr]=Güncellemeler Mevcut +Comment[uk]=Доступні оновлення +Comment[x-test]=xxUpdates Availablexx +Comment[zh_CN]=可用更新 +Comment[zh_TW]=有可用的更新 +Urgency=Low +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..ffd5cfe --- /dev/null +++ b/libdiscover/tests/CategoriesTest.cpp @@ -0,0 +1,56 @@ +/* + * SPDX-FileCopyrightText: 2015 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#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); + } + } + std::sort(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/utils.h b/libdiscover/utils.h new file mode 100644 index 0000000..c20fc67 --- /dev/null +++ b/libdiscover/utils.h @@ -0,0 +1,137 @@ +/* + * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef UTILS_H +#define UTILS_H + +#include +#include +#include +#include + +class OneTimeAction : public QObject +{ +public: + OneTimeAction(const 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 kTransform(const Q &input) +{ + T ret; + ret.reserve(input.size()); + for(const auto& v : input) { + ret += v; + } + return ret; +} + +template +static T kAppend(const Q &input, _UnaryOperation op) +{ + T ret; + ret.reserve(input.size()); + for(const auto& v : input) { + ret.append(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 std::any_of(list.begin(), list.end(), func); } + +template +static bool kContainsValue(const Q& list, W value) +{ return std::find(list.begin(), list.end(), value) != list.end(); } + +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 kToSet(const QVector & set) +{ +#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) + return QSet(set.begin(), set.end()); +#else + QSet ret; + ret.reserve(set.size()); + for(auto &x: set) + ret.insert(x); + return ret; +#endif +} + +template +static QSet kToSet(const QList & set) +{ +#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) + return QSet(set.begin(), set.end()); +#else + return set.toSet(); +#endif +} + +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; +}; + +#endif diff --git a/logo.png b/logo.png new file mode 100644 index 0000000..8834649 Binary files /dev/null and b/logo.png differ diff --git a/notifier/BackendNotifierFactory.cpp b/notifier/BackendNotifierFactory.cpp new file mode 100644 index 0000000..541e990 --- /dev/null +++ b/notifier/BackendNotifierFactory.cpp @@ -0,0 +1,37 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..2b1c8c1 --- /dev/null +++ b/notifier/BackendNotifierFactory.h @@ -0,0 +1,23 @@ +/* + * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#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..3482bd6 --- /dev/null +++ b/notifier/CMakeLists.txt @@ -0,0 +1,19 @@ +add_definitions(-DTRANSLATION_DOMAIN=\"plasma-discover-notifier\") + +add_executable(DiscoverNotifier BackendNotifierFactory.cpp DiscoverNotifier.cpp NotifierItem.cpp main.cpp) +target_link_libraries(DiscoverNotifier + KF5::Notifications + KF5::I18n + KF5::KIOGui + KF5::Crash + KF5::DBusAddons + + Discover::Notifiers +) +set_target_properties(DiscoverNotifier PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/plasma-discover) +install(TARGETS DiscoverNotifier DESTINATION ${KDE_INSTALL_LIBEXECDIR}) + +set(DesktopExec "${KDE_INSTALL_FULL_LIBEXECDIR}/DiscoverNotifier") +configure_file(org.kde.discover.notifier.desktop.cmake ${CMAKE_CURRENT_BINARY_DIR}/org.kde.discover.notifier.desktop) +install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.discover.notifier.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.discover.notifier.desktop DESTINATION ${KDE_INSTALL_AUTOSTARTDIR}) diff --git a/notifier/DiscoverNotifier.cpp b/notifier/DiscoverNotifier.cpp new file mode 100644 index 0000000..8cd7d4d --- /dev/null +++ b/notifier/DiscoverNotifier.cpp @@ -0,0 +1,217 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "DiscoverNotifier.h" +#include "BackendNotifierFactory.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "../libdiscover/utils.h" + +DiscoverNotifier::DiscoverNotifier(QObject * parent) + : QObject(parent) +{ + 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 stateChanged(); + Q_EMIT needsRebootChanged(true); + } + }); + + connect(module, &BackendNotifierModule::foundUpgradeAction, this, &DiscoverNotifier::foundUpgradeAction); + } + connect(&m_timer, &QTimer::timeout, this, &DiscoverNotifier::showUpdatesNotification); + m_timer.setSingleShot(true); + m_timer.setInterval(1000); + updateStatusNotifier(); + + //Only fetch updates after the system is comfortably booted + QTimer::singleShot(20000, this, &DiscoverNotifier::recheckSystemUpdateNeeded); +} + +DiscoverNotifier::~DiscoverNotifier() = default; + +void DiscoverNotifier::showDiscover() +{ + auto *job = new KIO::ApplicationLauncherJob(KService::serviceByDesktopName(QStringLiteral("org.kde.discover"))); + job->setUiDelegate(new KNotificationJobUiDelegate(KJobUiDelegate::AutoErrorHandlingEnabled)); + job->start(); + + if (m_updatesAvailableNotification) { + m_updatesAvailableNotification->close(); + } +} + +void DiscoverNotifier::showDiscoverUpdates() +{ + auto *job = new KIO::CommandLauncherJob(QStringLiteral("plasma-discover"), { + QStringLiteral("--mode"), + QStringLiteral("update") + }); + job->setUiDelegate(new KNotificationJobUiDelegate(KJobUiDelegate::AutoErrorHandlingEnabled)); + job->setDesktopName(QStringLiteral("org.kde.discover")); + job->start(); + + if (m_updatesAvailableNotification) { + m_updatesAvailableNotification->close(); + } +} + +void DiscoverNotifier::showUpdatesNotification() +{ + if (m_updatesAvailableNotification) { m_updatesAvailableNotification->close(); } + if (state() != NormalUpdates && state() != SecurityUpdates) { + //it's not very helpful to notify that everything is in order + return; + } + + m_updatesAvailableNotification = KNotification::event(QStringLiteral("Update"), message(), {}, iconName(), nullptr, KNotification::CloseOnTimeout, QStringLiteral("discoverabstractnotifier")); + const QString name = i18n("View Updates"); + m_updatesAvailableNotification->setDefaultAction(name); + m_updatesAvailableNotification->setActions({name}); + connect(m_updatesAvailableNotification, QOverload::of(&KNotification::activated), this, &DiscoverNotifier::showDiscoverUpdates); +} + +void DiscoverNotifier::updateStatusNotifier() +{ + const bool hasSecurityUpdates = kContains(m_backends, [](BackendNotifierModule* module) { return module->hasSecurityUpdates(); }); + const bool hasUpdates = hasSecurityUpdates || kContains(m_backends, [](BackendNotifierModule* module) { return module->hasUpdates(); }); + + if (m_hasUpdates == hasUpdates && m_hasSecurityUpdates == hasSecurityUpdates ) + return; + + m_hasSecurityUpdates = hasSecurityUpdates; + m_hasUpdates = hasUpdates; + + if (state() != NoUpdates) { + m_timer.start(); + } + + emit stateChanged(); +} + +DiscoverNotifier::State DiscoverNotifier::state() const +{ + if (m_needsReboot) + return RebootRequired; + else if (m_manager && !m_manager->isOnline()) + return Offline; + else if (m_hasSecurityUpdates) + return SecurityUpdates; + else if (m_hasUpdates) + 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"); + case Offline: + return QStringLiteral("offline"); + } + 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"); + case Offline: + return i18n("Offline"); + } + return QString(); +} + +void DiscoverNotifier::recheckSystemUpdateNeeded() +{ + if (!m_manager) { + m_manager = new QNetworkConfigurationManager(this); + connect(m_manager, &QNetworkConfigurationManager::onlineStateChanged, this, &DiscoverNotifier::stateChanged); + if (!m_manager->isOnline()) { + emit stateChanged(); + } + } + + foreach(BackendNotifierModule* module, m_backends) + module->recheckSystemUpdateNeeded(); +} + +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(QStringLiteral("notification"), KNotification::Persistent | KNotification::DefaultEvent); + notification->setIconName(QStringLiteral("system-software-update")); + notification->setActions(QStringList{i18nc("@action:button", "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, &DiscoverNotifier::reboot); + + notification->sendEvent(); +} + +void DiscoverNotifier::reboot() +{ + QDBusConnection::sessionBus().asyncCall( + QDBusMessage::createMethodCall(QStringLiteral("org.kde.LogoutPrompt"), + QStringLiteral("/LogoutPrompt"), + QStringLiteral("org.kde.LogoutPrompt"), + QStringLiteral("promptReboot")) + ); +} + +void DiscoverNotifier::foundUpgradeAction(UpgradeAction* action) +{ + KNotification *notification = new KNotification(QStringLiteral("distupgrade-notification"), KNotification::Persistent | KNotification::DefaultEvent); + notification->setIconName(QStringLiteral("system-software-update")); + notification->setActions(QStringList{i18nc("@action:button", "Upgrade")}); + notification->setTitle(i18n("Upgrade available")); + notification->setText(i18n("New version: %1", action->description())); + + connect(notification, &KNotification::action1Activated, this, [action] () { + action->trigger(); + }); + + notification->sendEvent(); +} diff --git a/notifier/DiscoverNotifier.h b/notifier/DiscoverNotifier.h new file mode 100644 index 0000000..994af83 --- /dev/null +++ b/notifier/DiscoverNotifier.h @@ -0,0 +1,76 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef DISCOVERNOTIFIERMODULE_H +#define DISCOVERNOTIFIERMODULE_H + +#include +#include +#include +#include + +#include + +class QNetworkConfigurationManager; +class KNotification; + +class DiscoverNotifier : public QObject +{ +Q_OBJECT +Q_PROPERTY(QStringList modules READ loadedModules CONSTANT) +Q_PROPERTY(QString iconName READ iconName NOTIFY stateChanged) +Q_PROPERTY(QString message READ message NOTIFY stateChanged) +Q_PROPERTY(State state READ state NOTIFY stateChanged) +Q_PROPERTY(bool needsReboot READ needsReboot NOTIFY needsRebootChanged) +public: + enum State { + NoUpdates, + NormalUpdates, + SecurityUpdates, + RebootRequired, + Offline, + }; + Q_ENUM(State) + + explicit DiscoverNotifier(QObject* parent = nullptr); + ~DiscoverNotifier() override; + + State state() const; + QString iconName() const; + QString message() const; + bool hasUpdates() const { return m_hasUpdates; } + bool hasSecurityUpdates() const { return m_hasSecurityUpdates; } + + QStringList loadedModules() const; + bool needsReboot() const { return m_needsReboot; } + +public Q_SLOTS: + void recheckSystemUpdateNeeded(); + void showDiscover(); + void showDiscoverUpdates(); + void showUpdatesNotification(); + void reboot(); + void foundUpgradeAction(UpgradeAction* action); + +Q_SIGNALS: + void stateChanged(); + bool needsRebootChanged(bool needsReboot); + void newUpgradeAction(UpgradeAction* action); + +private: + void showRebootNotification(); + void updateStatusNotifier(); + + QList m_backends; + QTimer m_timer; + bool m_hasSecurityUpdates = false; + bool m_hasUpdates = false; + bool m_needsReboot = false; + QNetworkConfigurationManager* m_manager = nullptr; + QPointer m_updatesAvailableNotification; +}; + +#endif //ABSTRACTKDEDMODULE_H diff --git a/notifier/NotifierItem.cpp b/notifier/NotifierItem.cpp new file mode 100644 index 0000000..7134d54 --- /dev/null +++ b/notifier/NotifierItem.cpp @@ -0,0 +1,99 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#include "NotifierItem.h" +#include +#include +#include +#include + +KStatusNotifierItem::ItemStatus sniStatus(DiscoverNotifier::State state) +{ + switch (state) { + case DiscoverNotifier::Offline: + case DiscoverNotifier::NoUpdates: + return KStatusNotifierItem::Passive; + case DiscoverNotifier::NormalUpdates: + case DiscoverNotifier::SecurityUpdates: + case DiscoverNotifier::RebootRequired: + return KStatusNotifierItem::Active; + } + return KStatusNotifierItem::Active; +} + + +NotifierItem::NotifierItem() +{ +} + +void NotifierItem::setupNotifierItem() +{ + Q_ASSERT(!m_item); + m_item = new KStatusNotifierItem(QStringLiteral("org.kde.DiscoverNotifier"), this); + m_item->setTitle(i18n("Updates")); + m_item->setToolTipTitle(i18n("Updates")); + + connect(&m_notifier, &DiscoverNotifier::stateChanged, this, &NotifierItem::refresh); + + connect(m_item, &KStatusNotifierItem::activateRequested, &m_notifier, [this]() { + if (m_notifier.needsReboot()) { + m_notifier.reboot(); + } else { + m_notifier.showDiscoverUpdates(); + } + }); + + QMenu* menu = new QMenu; + connect(m_item, &QObject::destroyed, menu, &QObject::deleteLater); + auto discoverAction = menu->addAction(QIcon::fromTheme(QStringLiteral("plasma-discover")), i18n("Open Discover...")); + connect(discoverAction, &QAction::triggered, &m_notifier, &DiscoverNotifier::showDiscover); + + auto updatesAction = menu->addAction(QIcon::fromTheme(QStringLiteral("system-software-update")), i18n("See Updates...")); + connect(updatesAction, &QAction::triggered, &m_notifier, &DiscoverNotifier::showDiscoverUpdates); + + auto refreshAction = menu->addAction(QIcon::fromTheme(QStringLiteral("view-refresh")), i18n("Refresh...")); + connect(refreshAction, &QAction::triggered, &m_notifier, &DiscoverNotifier::recheckSystemUpdateNeeded); + + auto f = [menu, this]() { + m_item->setTitle(i18n("Restart to apply installed updates")); + m_item->setToolTipTitle(i18n("Click to restart the computer")); + m_item->setIconByName(QStringLiteral("view-refresh")); + auto refreshAction = menu->addAction(QIcon::fromTheme(QStringLiteral("view-refresh")), i18n("Restart...")); + connect(refreshAction, &QAction::triggered, &m_notifier, &DiscoverNotifier::recheckSystemUpdateNeeded); + }; + if (m_notifier.needsReboot()) + f(); + else + connect(&m_notifier, &DiscoverNotifier::needsRebootChanged, menu, f); + + connect(&m_notifier, &DiscoverNotifier::newUpgradeAction, menu, [menu](UpgradeAction* a) { + QAction* action = new QAction(a->description(), menu); + connect(action, &QAction::triggered, a, &UpgradeAction::trigger); + menu->addAction(action); + }); + m_item->setContextMenu(menu); + refresh(); +} + +void NotifierItem::refresh() +{ + Q_ASSERT(m_item); + m_item->setStatus(sniStatus(m_notifier.state())); + m_item->setIconByName(m_notifier.iconName()); + m_item->setToolTipSubTitle(m_notifier.message()); +} + +void NotifierItem::setVisible(bool visible) +{ + if (visible == m_visible) + return; + m_visible = visible; + + if (m_visible) + setupNotifierItem(); + else + delete m_item; +} diff --git a/notifier/NotifierItem.h b/notifier/NotifierItem.h new file mode 100644 index 0000000..d1cc3e4 --- /dev/null +++ b/notifier/NotifierItem.h @@ -0,0 +1,32 @@ +/* + * SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + */ + +#ifndef NOTIFIERITEM_H +#define NOTIFIERITEM_H + +#include +#include +#include "DiscoverNotifier.h" + +class NotifierItem : public QObject +{ + Q_OBJECT + public: + NotifierItem(); + + void setupNotifierItem(); + void refresh(); + + bool isVisible() const { return m_visible; } + void setVisible(bool visible); + + private: + bool m_visible = false; + DiscoverNotifier m_notifier; + QPointer m_item; +}; + +#endif // NOTIFIERITEM_H diff --git a/notifier/main.cpp b/notifier/main.cpp new file mode 100644 index 0000000..6bcc305 --- /dev/null +++ b/notifier/main.cpp @@ -0,0 +1,79 @@ +/* + * SPDX-FileCopyrightText: 2019 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "DiscoverNotifier.h" +#include "../DiscoverVersion.h" + +#include "NotifierItem.h" + +int main(int argc, char** argv) +{ + QApplication app(argc, argv); + app.setOrganizationDomain(QStringLiteral("kde.org")); + + KCrash::setFlags(KCrash::AutoRestart); + + NotifierItem notifier; + bool hide = false; + KDBusService::StartupOptions startup = {}; + { + KAboutData about(QStringLiteral("DiscoverNotifier"), i18n("Discover Notifier"), version, i18n("System update status notifier"), + KAboutLicense::GPL, i18n("© 2010-2019 Plasma Development Team")); + about.addAuthor(QStringLiteral("Aleix Pol Gonzalez"), {}, QStringLiteral("aleixpol@kde.org")); + about.setProductName("discover/discover"); + about.setProgramLogo(app.windowIcon()); + about.setTranslator( + i18ndc(nullptr, "NAME OF TRANSLATORS", "Your names"), + i18ndc(nullptr, "EMAIL OF TRANSLATORS", "Your emails")); + + KAboutData::setApplicationData(about); + + QCommandLineParser parser; + QCommandLineOption replaceOption({QStringLiteral("replace")}, + i18n("Replace an existing instance")); + parser.addOption(replaceOption); + QCommandLineOption hideOption({QStringLiteral("hide")}, i18n("Do not show the notifier"), i18n("hidden"), QStringLiteral("false")); + parser.addOption(hideOption); + about.setupCommandLine(&parser); + parser.process(app); + about.processCommandLine(&parser); + + if (parser.isSet(replaceOption)) { + startup |= KDBusService::Replace; + } + + const auto config = KSharedConfig::openConfig(); + KConfigGroup group(config, "Behavior"); + + if (parser.isSet(hideOption)) { + hide = parser.value(hideOption) == QLatin1String("true"); + group.writeEntry("Hide", hide); + config->sync(); + } else { + hide = group.readEntry("Hide", false); + } + } + + KDBusService service(KDBusService::Unique | startup); + notifier.setVisible(!hide); + + return app.exec(); +} diff --git a/notifier/org.kde.discover.notifier.desktop.cmake b/notifier/org.kde.discover.notifier.desktop.cmake new file mode 100644 index 0000000..1000ccd --- /dev/null +++ b/notifier/org.kde.discover.notifier.desktop.cmake @@ -0,0 +1,53 @@ +[Desktop Entry] +Name=Discover +Name[ar]=استكشف +Name[ast]=Discover +Name[az]=Discover +Name[ca]=Discover +Name[ca@valencia]=Discover +Name[cs]=Discover +Name[da]=Discover +Name[de]=Discover +Name[el]=Discover +Name[en_GB]=Discover +Name[es]=Discover +Name[et]=Discover +Name[eu]=Discover +Name[fi]=Discover +Name[fr]=Discover +Name[gl]=Descubrir +Name[he]=מרכז התוכנות Discover +Name[hu]=Discover +Name[ia]=Discover (Discoperi) +Name[id]=Discover +Name[it]=Discover +Name[ko]=둘러보기 +Name[lt]=Discover +Name[ml]=കണ്ടെത്തുക +Name[nl]=Ontdekken +Name[nn]=Discover +Name[pa]=ਖੋਜ +Name[pl]=Odkrywca +Name[pt]=Discover +Name[pt_BR]=Discover +Name[ro]=Descoperă +Name[ru]=Discover +Name[sk]=Discover +Name[sl]=Discover +Name[sr]=Oткривач +Name[sr@ijekavian]=Oткривач +Name[sr@ijekavianlatin]=Otkrivač +Name[sr@latin]=Otkrivač +Name[sv]=Upptäck +Name[tg]=Кашфиёт +Name[tr]=Keşfet +Name[uk]=Discover +Name[x-test]=xxDiscoverxx +Name[zh_CN]=Discover +Name[zh_TW]=Discover +Exec=@DesktopExec@ +Icon=system-software-update +Type=Application +NoDisplay=true +X-KDE-autostart-phase=1 +OnlyShowIn=KDE diff --git a/po/ar/libdiscover.po b/po/ar/libdiscover.po new file mode 100644 index 0000000..3ac8ced --- /dev/null +++ b/po/ar/libdiscover.po @@ -0,0 +1,2823 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ألعاب الألواح" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Proprietary" +msgid "Proprietary" +msgstr "مملوك" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "فئة دمية" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "دمية" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "إضافات دمية" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "دمية ١" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "دمية بها أشياء" + +#: 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 "دمية ٢٫١" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "دمية ببعض الأشياء" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "دمية ٣" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "دمية ٤" + +#: 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 "التّطبيقات" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "الإكسسوارات" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "الإتاحة" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "أدوات المطوّر" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "التّنقيح" + +#: 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 "تصميم الواجهات الرّسوميّة" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "بيئات التّطوير المتكاملة" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "التّوطين" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "التّحليل البرمجيّ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "تطوير الوِبّ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "التّعليم" + +#: 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 "الهندسة والعلوم" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "الفلك" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "الأحياء" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "الكيمياء" + +#: 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 "علم الحاسوب والرّوبوتات" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "الإلكترونيّات" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "الهندسة" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "الجغرافيا" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "الطّبيعة" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "الرّياضيّات" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "الفيزياء" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "الألعاب" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "الممرّات" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "ألعاب الألواح" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "ألعاب الورق" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "الأحاجي" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "ألعاب تقمّص الأدوار" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "المحاكاة" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "الرياضة" + +#: 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 "التّطبيقات" + +#: 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 "المحاكاة" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "الرّسوميّات" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "ثلاثيّات الأبعاد" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "الرّسم" + +#: 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 "التّلوين والتّحرير" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "التّصوير الفوتوغرافيّ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "النّشر" + +#: 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 "المسح الضّوئيّ والتّعرّف على الكتابة" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "العارضات" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "الشّابكة" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "المحادثة" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "مشاركة الملفّات" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "البريد" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "متصفّحات الوِبّ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "الوسائط المتعدّدة" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "المكتب" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "إعدادات النّظام" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "حزمة محليّة" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "مسار appstream ‏’%1‘ مشوّه" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "مجهول" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "‏%1 ‏(%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "يجلب معلومات الحجم" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "الحجم مجهول" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 للتّنزيل، %2 على القرص" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 على القرص" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "أضف فلات‌هَب" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "تعذّرت إضافة المصدر %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "يزيل" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
    • %1
    " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, fuzzy, kde-format +#| msgid "Could not add the source %1" +msgid "Could not find %1" +msgstr "تعذّرت إضافة المصدر %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, fuzzy, kde-format +#| msgid "Flatpak repository URI (*.flatpakrepo)" +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "معرّف مستودع فلاتپاك (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgid "Applications" +msgstr "التّطبيقات" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "إضافات بلازما" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "إضافات التّطبيقات" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "سَند %1 غير صالح، راجع توزيعتك." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, fuzzy, kde-format +#| msgid "Invalid %1 backend, contact your distributor." +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "سَند %1 غير صالح، راجع توزيعتك." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "معرّف «أشياء جديدة» خطأ: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "معلومات ولوج %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "إضافات بلازما" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "ودجات بلازما" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "الخطوط" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "تحقّق من أنّ Appstream مضبوط كما ينبغي في النّظام" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "نفذت الذّاكرة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "لا اتّصال شبكة متوفّر" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "العمليّة غير مدعومة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "خطأ داخليّ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "فشل GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "معرّف الحزمة غير صالح" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "الحزمة غير مثبّتة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "لم يُعثر على الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "الحزمة مثبّتة بالفعل" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "فشل تنزيل الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "لم يُعثر على مجموعة الحزم" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "قائمة مجموعة الحزم غير صالحة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "فشل حلّ الاعتماديّات" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "المرشّح غير صالح" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "فشل أثناء إنشاء خيط" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "فشلت العمليّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "أُلغيت العمليّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "لا خبيئة متوفّرة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "تعذّر العثور على المستودع" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "لا يمكن إزالة حزمة نظام" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "انهار عفريت عُدّة الحزم PackageKit" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "خطأ تمهيد" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "فشل تمهيد العمليّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "فشل تحليل الضّبط" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "تعذّر إلغاء العمليّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "تعذّر الحصول على القفل" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "لا حزم لتحديثها" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "تعذّرت كتابة ضبط المستودع" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "فشل التّثبيت المحلّيّ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "عُثر على توقيع GPG سيّئ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "لم يُعثر على توقيع GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "تعذّر تثبيت الحزمة المصدر" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "خطأ في ضبط المستودع" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "لا اتّفاقيّة ترخيص" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "عُثر على تضارب ملفّات" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "عُثر على تضارب حزم" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "المستودع غير متوفّر" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "ملفّ الحزمة غير صالح" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "مُنع تثبيت الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "عُثر على حزمة معطوبة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "كلّ الحزم مثبّتة بالفعل" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "لم يُعثر على الملفّ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "لا مرايا أكثر متوفّرة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "لا بيانات لترقية التّوزيعة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "معماريّة غير متوافقة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "لم تبقَ مساحة على الجهاز" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "تغيير الوسيط مطلوب" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "لا استيثاق لديك لتنفيذ هذه العمليّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "لم يُعثر على التّحديث" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "لا يمكن التّثبيت من مستودع غير موقّع" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "لا يمكن التّحديث من مستودع غير موقّع" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "تعذّر الحصول على قائمة الملفّات" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "تعذّر الحصول على المطلوبات" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "تعذّر تعطيل المستودع" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "اكتُشف تقييد التّنزيل" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "فشل ضبط الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "فشل بناء الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "فشل تثبيت الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "فشلت إزالة الحزمة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "فشل التّحديث بسبب عمليّة تعمل" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "تغيّرت قاعدة بيانات الحزم" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "النّوع الموفّر غير مدعوم" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "جذر التّثبيت غير صالح" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, fuzzy, kde-format +#| msgid "Cannot fetch sources" +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "تعذّر جلب المصادر" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "أُلغيت الأولويّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "عمليّة لم تنته" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "القفل مطلوب" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "الخطأ %1 مجهول." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "تغيّر '%1' وهو يقترح إعادة تشغيله." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "يقترح تغيير لِـ'%1' إعادة تشغيل الجلسة." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "حُدّث '%1' لأسباب أمنيّة، لذا إعادة تشغيل الجلسة مستحسن." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "حُدّث '%1' لأسباب أمنيّة، لذا إعادة تشغيل النّظام مستحسن." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, fuzzy, kde-format +#| msgid "A change by '%1' suggests your system to be rebooted." +msgid "A change by '%1' suggests your system to be restarted." +msgstr "يقترح تغيير لِـ'%1' إعادة إقلاع النّظام." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "يجب أن يُعاد تشغيل التّطبيق." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "يجب أن يُعاد تشغيل الجلسة." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, fuzzy, kde-format +#| msgid "The system will have to be rebooted." +msgid "The system will have to be restarted." +msgstr "يجب أن يُعاد إقلاع النّظام." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "للأمان، يجب أن يُعاد تشغيل الجلسة." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "للأمان، يجب أن يُعاد تشغيل النّظام." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "ينتظر..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "يحدّث الخبيئة..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "يعدّ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "يعالج..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "يزيل..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "ينزّل..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "يثبّت..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "يحدّث..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "ينظّف..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "يحلّ الاعتماديّات..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "يتأكّد من التّواقيع..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "يختبر الإيداع..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "يودع..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "انتهى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "أُلغي" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "ينتظر القفل..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "ينتظر الاستيثاق..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "ينسخ ملفّات..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "حالة مجهولة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "نحن ننتظر شيئًا." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "يعدّ العمليّة..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "العمليّة تعمل حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "العمليّة تزيل الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "العمليّة تنزّل الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "العمليّات تثبّت الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "العمليّة تحدّث الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "العمليّة تنظّف حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "العمليّة تحلّ اعتماديّات الحزم التي ستثبّتها حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "العمليّة تفحص تواقيع الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "العمليّة تفحص إيداع مجموعة الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "العمليّة تودع مجموعة الحزم حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "انتهت العمليّة!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "أُلغيت العمليّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "العمليّة تعمل حاليًّا للقفل..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "ينتظر المستخدم لاستيثاق العمليّة..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "العمليّة تنسخ الملفّات حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "ينعش خبيئة المستودع حاليًّا..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "الحالة %1 مجهولة." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "مستقرّ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "غير مستقرّ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "اختباريّ" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "التّحديثات غير الشّبكيّة" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, fuzzy, kde-format +#| msgid "" +#| "Failed to update %1 packages\n" +#| "%2" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"تعذّر تحديث %1 من الحزم\n" +"%2" +msgstr[1] "" +"تعذّر تحديث %1 من الحزم\n" +"%2" +msgstr[2] "" +"تعذّر تحديث %1 من الحزم\n" +"%2" +msgstr[3] "" +"تعذّر تحديث %1 من الحزم\n" +"%2" +msgstr[4] "" +"تعذّر تحديث %1 من الحزم\n" +"%2" +msgstr[5] "" +"تعذّر تحديث %1 من الحزم\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Open File" +msgctxt "@action:button" +msgid "Open Discover" +msgstr "افتح ملفًّا" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"base" +#| "\"" +#| msgid "Base System" +msgctxt "@action:button" +msgid "Repair System" +msgstr "أساس النّظام" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Failed" +msgid "Repair Failed" +msgstr "فشلت" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, fuzzy, kde-format +#| msgid "Successfully updated %1 packages" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "حُدّثت %1 من الحزم بنجاح" +msgstr[1] "حُدّثت %1 من الحزم بنجاح" +msgstr[2] "حُدّثت %1 من الحزم بنجاح" +msgstr[3] "حُدّثت %1 من الحزم بنجاح" +msgstr[4] "حُدّثت %1 من الحزم بنجاح" +msgstr[5] "حُدّثت %1 من الحزم بنجاح" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "، و" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "البائدة:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "حالة التّحديث:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "إعادة التّشغيل" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "البائع:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "مسار المستودع:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "الحزم لإزالتها" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, 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:
    • %1

    in order to install:
    • %2
    " +msgstr "" +"سيُزيل التّحديث الحزم الآتية:\n" +"
    • %1
    " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"تغيير الوسيط من نوع ’%1‘ مطلوب.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "اقبل اتّفاقيّة المستخدم النّهائي" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "توقيع %1 ناقص في %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "اسرد كلّ الأسناد التي تريد تحميلها، فاصلًا بينها بفاصلة ’,‘." + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "معطوبة" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "متوفّرة" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "مثبّتة" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "قابلة للتّرقية" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "‏%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "التمس التّحديثات" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Offline Updates" +msgid "View Updates" +msgstr "التّحديثات غير الشّبكيّة" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "يبدأ" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "ينتظر" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "ينزّل" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "يثبّت" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "يزيل" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "يغيّر الإضافات" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "تمّت" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "فشلت" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "أُلغيت" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "تحديثات التّطبيقات" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "تحديثات النّظام" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, fuzzy, kde-format +#| msgid "Plasma Addons" +msgctxt "@item:inlistbox" +msgid "Addons" +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..d02b680 --- /dev/null +++ b/po/ar/plasma-discover-notifier.po @@ -0,0 +1,163 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+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:87 +#, fuzzy, kde-format +#| msgid "Update" +msgid "View Updates" +msgstr "حدّث" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "تتوفّر تحديثات أمنيّة" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "تتوفّر تحديثات" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "النّظام محدّث" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:209 +#, fuzzy, kde-format +#| msgid "Updates available" +msgid "Upgrade available" +msgstr "تتوفّر تحديثات" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:38 +#, fuzzy, kde-format +#| msgid "System update available" +msgid "System update status notifier" +msgstr "يتوفّر تحديث للنّظام" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "حدّث" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:54 +#, fuzzy, kde-format +#| msgid "Update" +msgid "See Updates..." +msgstr "حدّث" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..aa28554 --- /dev/null +++ b/po/ar/plasma-discover.po @@ -0,0 +1,1022 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "تعذّر العثور على الفئة ’%1‘" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "تعذّر فتح %1" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "افتح التّطبيق المحدّد مباشرة باسم حزمته." + +#: discover/main.cpp:34 +#, fuzzy, kde-format +#| msgid "Open with a program that can deal with the given mimetype." +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "افتح ببرنامج يمكن أن يتعامل مع نوع MIME المُعطى." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "اعرض قائمة من المدخلات حسب الفئة." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "افتح «استكشف» بالوضع المُعطى. تقابل الأوضاع أزرار شريط الأدوات." + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "اسرد كلّ الأوضاع المتوفّرة." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "الوضع المتضامّ (auto/compact/full)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "ملفّ الحزمة المحليّة لتثبيتها" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "اسرد كل الأسناد المتوفّرة." + +#: discover/main.cpp:41 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search string." +msgstr "ابحث في ’%1‘..." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "يدعم مخطّط مسارات appstream:‎" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "استكشف" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "متصفّح للتّطبيقات" + +#: discover/main.cpp:93 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2020 Plasma Development Team" +msgstr "© ٢٠١٠-٢٠١٦ لفريق تطوير بلازما" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "الأسناد المتوفّرة:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "الأوضاع المتوفّرة:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "الإضافات" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "أكثر..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "طبّق التّغييرات" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "الإضافات" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "ألغِ" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, 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:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "المصدر:" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:210 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "قيّم" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review" +msgstr "أودِع" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Install to Write a Review" +msgstr "أودِع" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "الفئة:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "الإصدارة:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "الحجم:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "المصدر:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "الرّخصة:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "ابحث عن %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "ابحث عن %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "الاسم" + +#: discover/qml/ApplicationsListPage.qml:76 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "التّقييم:" + +#: discover/qml/ApplicationsListPage.qml:85 +#, fuzzy, kde-format +#| msgid "Size:" +msgid "Size" +msgstr "الحجم:" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, fuzzy, kde-format +#| msgid "Sorry, nothing found..." +msgid "Sorry, nothing found" +msgstr "نأسف، لم نجد شيئًا..." + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "ما زلنا نبحث..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "مُختارة" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "يحمّل..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "التّشغيل بمستخدم الجذر غير مستحسن ولا حاجة له." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "ابحث" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "المثبّت" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgid "Fetching updates..." +msgstr "يجلب التّحديثات" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Up to date" +msgstr "حدّث" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "حدّث (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "إعدادات" + +#: discover/qml/DiscoverWindow.qml:129 +#, fuzzy, kde-format +#| msgid "Short summary..." +msgid "Sorry..." +msgstr "ملخّص قصير..." + +#: discover/qml/DiscoverWindow.qml:133 +#, fuzzy, kde-format +#| msgid "" +#| "Could not close the application, there are tasks that need to be done." +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "تعذّر إغلاق التّطبيق، هناك مهام يجب أداءها." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "تعذّر العثور على المورد: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "تابِع" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, fuzzy, kde-format +#| msgid "More Information..." +msgid "Submitting usage information..." +msgstr "معلومات أخرى..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Contribute..." +msgstr "أكثر..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "ثبّت" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "أزل" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "موارد ’%1‘" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "الامتدادات..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "المهام (%1٪)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "المهامّ" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, fuzzy, kde-format +#| msgid "Version:" +msgid "Version: %1" +msgstr "الإصدارة:" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "مقيّم مجهول" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "‏%1 كتبه %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, fuzzy, kde-format +#| msgid "Comment too long" +msgid "Comment by %1" +msgstr "التّعليق طويل جديًّا" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Reviewing '%1'" +msgid "Reviewing %1" +msgstr "تقييم ’%1‘" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "التّقييم:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "الاسم" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the title" +msgstr "أودِع" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the review" +msgstr "أودِع" + +#: discover/qml/ReviewDialog.qml:69 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "يحدّث..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "أودِع" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Ratings for %1" +msgid "Reviews for %1" +msgstr "تقييم %1" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review..." +msgstr "أودِع" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "ابحث عن..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "ابحث في ’%1‘..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "‏%1 (المبدئيّ)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "أضف مصدرًا..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "اجعله المبدئيّ" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "احذف الأصل" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "التّحديثات" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Update Issue" +msgstr "التّحديثات" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "حسنًا" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "حدّث المحدّد" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "حدّث الكلّ" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "All updates selected (%1)" +msgstr "تحديثات محدّدة" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "تحديثات محدّدة" +msgstr[1] "تحديثات محدّدة" +msgstr[2] "تحديثات محدّدة" +msgstr[3] "تحديثات محدّدة" +msgstr[4] "تحديثات محدّدة" +msgstr[5] "تحديثات محدّدة" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "ثبّت" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "معلومات أخرى..." + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "يجلب التّحديثات" + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "التّحديثات" + +#: discover/qml/UpdatesPage.qml:379 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "The system is up to date" +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "النّظام محدّث" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Up to date" +msgstr "حدّث" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "يجب التماس التّحديثات" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "لا يُعرف متى كان آخر التماس للتّحديثات" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# %1 الملخص... %2 الشخص +# %3 التعليق +# %4 من أُعجِب بهذا التعليق \ 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..7d36691 --- /dev/null +++ b/po/ast/plasma-discover-notifier.po @@ -0,0 +1,157 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the discover package. +# +# enolp , 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-02-05 16:26+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 19.12.1\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "El sistema ta anováu" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Versión nueva: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Avisador de Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Avisador del estáu de los anovamientos del sistema" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 L'equipu de desendolcu de Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Ver anovamientos…" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Refrescar…" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..2cffbdf --- /dev/null +++ b/po/ast/plasma-discover.po @@ -0,0 +1,812 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the discover package. +# +# enolp , 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-03-14 18:52+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 19.12.3\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Nun pudo alcontrase la estaya «%1»" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Nun pudo abrise %1" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" +"Abre direutamente les aplicaciones especificaes pol so nome de paquete." + +#: discover/main.cpp:34 +#, fuzzy, kde-format +#| msgid "Open with a program that can deal with the given mimetype." +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Abre con un programa que puea remanar la triba MIME apurrida." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Amuesa una llista d'entraes con una estaya." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "Llista tolos moos disponibles." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Mou compautu (auto/compact/full)" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Llista tolos backends disponibles." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Gueta cadenes." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Un esplorador d'aplicaciones" + +#: discover/main.cpp:93 +#, fuzzy, kde-format +#| msgid "© 2010-2019 Plasma Development Team" +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2019 L'equipu de desendolcu de Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Backends disponibles:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Moos disponibles:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Complementos" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Más…" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Amestar" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Encaboxar" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 valoración" +msgstr[1] "%1 valoraciones" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Entá nun hai valoraciones" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Qué hai nuevo" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Reseñes" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "" +msgstr[1] "" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write a Review" +msgstr "¡Escribi una reseña!" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Install to write a review!" +msgid "Install to Write a Review" +msgstr "¡Instala pa escribir una reseña!" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Estaya:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, llanzóse'l %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versión:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Tamañu:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Orixe:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Llicencia:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Gueta: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Orde: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Valoración" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Tamañu" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Data de llanzamientu" + +#: discover/qml/ApplicationsListPage.qml:138 +#, fuzzy, kde-format +#| msgid "Sorry, nothing found..." +msgid "Sorry, nothing found" +msgstr "Perdona pero nun s'alcontró nada…" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Guetando entá…" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Destácase" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Cargando…" + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "Nun puen cargase les aplicaciones.Verifica la conexón a internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Volver a la páxina Destácase" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "La execución como root ta desaconseyada y ye imprecisa." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Instalóse" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Diendo en cata de los anovamientos…" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Tocante a" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Axustes" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Perdona…" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Nun pue zarrase Discover, hai xeres que precisen finar." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Nun pue alcontrase'l recursu: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Unviar la información d'usu" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Unviando la información d'usu…" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Pues ayudanos a ameyorar esta aplicación compartiendo estadístiques y " +"participando nes encuestes." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Collaborar…" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalar" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Desaniciar" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Estensiones" + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Xeres (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Xeres" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versión: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 por %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Votos: %1 de %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Sí" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Non" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Valoración:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nome:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Títulu:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Introduz una valoración" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Sigui escribiendo…" + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "La reseña ye pergrande" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Unviar" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Reviews" +msgid "Reviews for %1" +msgstr "Reseñes" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Guetar en «%1»…" + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Por defeutu)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Amestar un orixe…" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Predeterminar" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Desaniciar l'orixe" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Amosar el conteníu" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Backends que falten" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Anovamientos" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Update Issue" +msgstr "Anovamientos" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Anovar too" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Esbilláronse tolos anovamientos (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 anovamientu esbilláu (%3)" +msgstr[1] "%1/%2 anovamientos esbillaos (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Más información…" + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Diendo en cata de los anovamientos…" + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Anovamientos" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "El sistema rique un reaniciu p'aplicar los anovamientos" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Desconozse cuando foi la última comprobación d'anovamientos" \ No newline at end of file diff --git a/po/az/libdiscover.po b/po/az/libdiscover.po new file mode 100644 index 0000000..5b464e5 --- /dev/null +++ b/po/az/libdiscover.po @@ -0,0 +1,1629 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the discover package. +# +# Xəyyam Qocayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-12 16:12+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\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 20.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Özəl (bağlı kod)" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Rəylərin alınmasında xəta: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Faydaları haqqında məlumat təqdim edərkən xəta: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Rəy göndərmə zamanı xəta: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Test edilən kateqoriya" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "kateqoriya" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "test edilən əlavələr" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "test 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "Tərkibi ilə test etmək" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "tərkibi daha çox olanları test etmək" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "test 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "test 4" + +#: 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 "Tətbiqlər" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Alətlər" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Xüsusi imkanlar" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Tərtibatçı alətləri" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Sazlama" + +#: 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 "Qrafik interfeys dizaynı" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "İDE-lər" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokallaşma" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilləmə" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Veb Tərtibatı" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Təhsil" + +#: 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 "Elm və Mühəndislik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomiya" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologiya" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kimiya" + +#: 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 "İnformasiya Texnologiyaları" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Mühəndislik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Coğrafiya" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologiya" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Riyaziyyat" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Oyunlar" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkada" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Stolüstü oyunlar" + +#: 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ı" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Bilməcələr" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simuliyasiya" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategiya" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "İdman" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Hekayə oyunları" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulyatorlar" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Qrafik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Rəsm və Rəsmxətt" + +#: 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 "Rəsm və Redaktə etmə" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotoqrafiya" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Nəşriyyat" + +#: 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 "Skan və OCR (mətn tanıması)" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Baxış" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "İnternet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Söhbət" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Fayl paylaşımı" + +#: 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çt" + +#: 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 bələdçiləri" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimediya" + +#: 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 "Səs və Video redaktorları" + +#: 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 oynadıcılar" + +#: 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 oynadıcılar" + +#: 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 və DVD" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Ofis" + +#: 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ı" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Yerli paketlər" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Pozulmuş appstream ünvanı '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Naməlum" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Ölçülərin təyin edilməsi" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Naməlum ölçü" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "Yükləmək üçün: %1, diskdə tutacağı yer: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "Diskdə %1 yer tutacaq" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Flathub mənbəyi əlavə etmək" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "%1 mənbəsi əlavə edilmədi" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "'%1' silinir" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
    • %1
    " +msgstr "" +"Bu mənbəni silmək üçün aşağıdakı tətbiqlər silinməlidir:
    • %1
    " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "%1 mənbəsini silmək mümkün olmadı: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "%1 tapılmadı" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Flatpack mənbəyi ünvanını daxil edin (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "%2 -də '%1' -in %3-dən əlavə edilməsi" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "EULA İcmalı" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"%1 paketinin təhcizatçısı bu müqaviləni qəbul etmənizi tələb edir:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "%1 mexanizminin işlənməsi çox vaxt aparır" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Tətbiqlər" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma Əlavələri" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Tətbiq Əlavələri" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "%1 alt sistemində şəbəkə xətası: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"%1 server sisteminə həddindən çox sorğu göndərildi. Lütfən bir neşə " +"dəqiqədən sonra yenidən cəhd edin." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" +"Xətalı dəstək modulu %1, distribütorunuzun tərtibatçısı ilə əlaqə yaradın." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "%2 -dən %1 üçün ekran şəklini əldə etmək mümkün olmadı" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"%1 dəstək mexanizmi modulunda xəta. Distribütorunuzun tərtibatçısı ilə əlaqə " +"yaradın." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Səhv KNewStuff ünvanı: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Başlatmaq" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "İstifadə etmək" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "%1 məlumatlarına giriş" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "%1 başladıla bilmədi" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma Əlavələri" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma Vidjetləri" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Şriftlər" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Appstream-in komputerinizdə düzgün quraşdırdığını yoxlayın" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "Yaddaş çatışmamazlığı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Şəbəkə əlaqəsi yoxdur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Əməliyyat dəstəklənmədi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Daxili xəta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG xətası" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Pozulmuş PackageID" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Paket quraşdırılmadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Paket tapılmadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Paket artıq quraşdırılıb" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Paketi yükləmək mümkün olmadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Paketlər qrupu tapılmadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Səhv paketlər qrupu siyahısı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Asılılıqların həlli uğursuz oldu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Səhv filtrləmə" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Əmrlərin icra olunması ardıcıllığını yaratmaq uğursuz oldu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Əməliyyat uğursuz oldu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Əməliyyatdan imtina edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Keş haqqında məlumat əlçatan deyil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Mənbə tapılmadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Sistem paketi silinə bilmədi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit xidməti qəzaya uğradı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Başladılma xətası" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Əməliyyatın başa çatması uğursuz oldu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Konfiqurasiya faylının işlınməsi zaman xəta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Əməliyyat ləğv edilə bilmir" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kilidləmək mümkün deyil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Yeniləmək üçün paketlər yoxdur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Mənbə konfiqurasiya faylı yazıla bilmir" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Yerli quraşdırma mümkün olmadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Pozulmuş GPG imzası tapıldı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "GPG imzası tapılmadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Mənbə faylı quraşdırıla bilmədi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Mənbə tənzimləmələri xətası" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Lisenziya müqaviləsi yoxdur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Fayl ziddiyyətləri aşkar edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Paket ziddiyyətləri aşkar edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Mənbə əlçatan deyil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Pozulmuş paket faylı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Paket quraşdırılması bloklanıb" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Zədələnmiş paket aşkar edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Bütün paketlər artıq quraşdırılıb" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Fayl tapılmadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Mövcud güzgülər siyahısı bitmişdir" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Distribütor yenilənmələri haqqında məlumat yoxdur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Uyğun olmayan arxitektura" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Verilənlərin saxlanılması üçün cihazda boş yer yoxdur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Daşıyıcının dəyişdirilməsi tələb edilir" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Bu əməliyyatı yerinə yetirmək imtiyazınız yoxdur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "Yenilənmə tapılmadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "İmzalanmamış mənbədən quraşdırıla bilmir" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "İmzalanmaməış mənbədən yeniləmək mümkün deyil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Fayllar siyahısı alına bilmir" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Tələb olunanlar alına bilmir" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Mənbə qeyri-aktiv edilə bilmir" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Yükləmə məhdudiyyəti aşkar edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Paketin tənzimlənməsində xəta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Paketin yığılmasında xəta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Paketin quraşdırılmasında xəta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Paketin silinməsində xəta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Başladılan proses yenilənməyə imkan vermir" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Paketin verilənlər bazası dəyişdirildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Təqdim edilən növ dəstəklənmir" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Kök imtiyazları (root) ilə quraşdırmaq mümkün deyil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Mənbələr alına bilmir" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Üstünlük ləğv edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Başa çatmamış əməliyyat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Kilidlənmə tələb edilir" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Naməlum xəta %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' dəyişdirildi və yenidən başlatmaq tövsiyə olunur." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" +"'%1' tərəfindən edilən dəyişiklik sesiyanı yenidən başlatmağı tövsiyə edir." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' təhlükəsizlik məqsədi ilə yeniləndi, sistemi yenidən başlatmaq tövsiyə " +"olunur." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' təhlükəsizlik məqsədi ilə yeniləndi, sesiyanı yenidən başlatmaq tövsiyə " +"olunur." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "'%1' dəyişdirildikdən sonra sistemi yenidən başlatmaq tövsiyə olunur." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Bu tətbiq yenidən başladılmalıdır." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Bu sesiya yenidən başladılmalıdır" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Sistem yenidən başladılmalıdır" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Təhlükəsizlik məqsədi ilə sesiya yenidən başladılmalıdır." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Təhlükəsizlik məqsədi ilə sistem yenidən başladılmalıdır." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Gözləmə..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Keşin yenilənməsi..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Ayarlamaq..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "İşlənir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Silmək..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Yüklənir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Quraşdırılır..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Yenilənir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Təmizlənir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Asılılıqların həlli..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "İmzalar yoxlanılır..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Dəyişikliklərin saxlanılması yoxlanılır..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Dəyişikliklərin saxlanılması..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Başa çatdı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "İmtina edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Kilidlənmə gözlənilir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "İcazə gözlənilir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Fayllar kopyalanır..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Naməlum vəziyyət" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Nə isə gözləyirik." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Tənzimlənir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Əməliyyat yerinə yetirilir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Paketlərin silinməsi yerinə yetirilir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Paketlərin yüklənməsi yerinə yetirilir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Paketlərin quraşdırılması yerinə yetirilir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Paketlərin yenilənməsi yerinə yetirilir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Təmizlənmə yerinə yetirilir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "Paketlərin quraşdırılacaq asılılıqlarının həlli yerinə yetirilir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Paketlərin imzalarının yoxlanılması yerinə yetirilir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Paketlər yığınının dəyişikliklərinin saxlanılması yoxlanılır..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Paketlər yığınının dəyişikliklərinin saxlanılması..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Əməliyyat başa çatdı!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Əməliyyat ləğv edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Əməliyyat kilidlənməni gözləyir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "İstifadəçinin əməliyyata icazə verməsi gözlənilir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Faylların kopyalanması yerinə yetirilir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Hal-hazırda mənbə keşləri yenilənir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Naməlum vəziyyət %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Sabit" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Qeyri-sabit" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Test mərhələsi" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Müstəqil yenilənmələr" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"%1 paketin yenilənməsi mümkün olmadı\n" +"%2" +msgstr[1] "" +"%1 paketin yenilənməsi mümkün olmadı\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Discover-i açmaq" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Sistemin bərpası" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Bərpa etmək alınmadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Lütfən distribütor tərtibatçısına hesabat göndərin: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 paket müvəffəqiyyətlə yeniləndi" +msgstr[1] "%1 paket müvəffəqiyyətlə yeniləndi" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Köhnəlmişlər:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Buraxılış haqqında qeydlər:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Yenilənmə vəziyyəti:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Yenidən başlatmaq:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Təhcizatçı:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (və %1asılılıq)" +msgstr[1] "%2 (və %1asılılıq)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "Mənbə ünvanı:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Paketlərin silinməsi" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
    • %1

    in order to install:
    • %2
    " +msgstr "" +"Aşağıdakı paketlər bu yenilənmələr tərəfindən silinəcəklər:
    • %1

    • quraşdırmaq üçün:
      • %2
      " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Lütfən, yenilənmələrin başa çatması üçün komputeri yenidən başladın" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"\"%1\" daşıyıcısının dəyişdirilməsi tələb edilir.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "İstifadəçinin lisenziya müqaviləsini qəbul etmək" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"%1 paketi və onun %2 təhcizatçısı onların lisenziya müqaviləsini qəbul " +"etmənizi tələb edir:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "%2 də %1 üçün imza mövcud deyil" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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 "" +"Siz aşağıdakı açara etibar edirsiniz?\n" +"\n" +"Url: %1\n" +"İstifadəçi: %2\n" +"Açar: %3\n" +"Barmaq izi: %4\n" +"Vaxt möhürü: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Paketin silinməsini təsdiq etmək" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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] "" +"Bu əməl həmçinin aşağıdakı faylı siləcək:\n" +"%2" +msgstr[1] "" +"Bu əməl həmçinin aşağıdakı faylları siləcək:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Bu snap tətbiqində təhlükəsizlik məqsədi ilə məhdudlaşdırma tədbirləri tələb " +"olunur." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Yükləmək istədiyimiz bütün arxa ucları vergüllə \",\" ayıraraq sıralamaq." + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Pozulmuş" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Əlçatan" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Quraşdırılmış" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Ən son versiyaya yenilənmiş" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Yenilənmələri yoxlamaq" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Yenilənmələri göstərmək" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/san" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Başladılır" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Gözləyir" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Yüklənir" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Quraşdırılır" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Silinir" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Əlavələr dəyişdirilir" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Başa çatdı" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Uğursuz oldu" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "İmtina edildi" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Tətbiqlərin yenilənmələri" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Sistem yenilənmələri" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Əlavələr" \ No newline at end of file diff --git a/po/az/plasma-discover-notifier.po b/po/az/plasma-discover-notifier.po new file mode 100644 index 0000000..0ebfc39 --- /dev/null +++ b/po/az/plasma-discover-notifier.po @@ -0,0 +1,157 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the discover package. +# +# Xəyyam Qocayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-07-31 12:52+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijan\n" +"Language: az\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 20.04.3\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Yenilənmələrə baxış" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Təhlükəsizlik yenilənmələri mövcuddur" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Yenilənmələr mövcuddur" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Sistem yenilənib" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Komputeri yenidən başlatmaq lazımdır" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Şəbəkədən kənar" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Yenidən başlatmaq" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Yenidən başlatmaq tələb edilir" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Yenilənmələrin tətbiqi üçün sistemi yenidən başlatmaq lazımdır." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Ən son versiyay yeniləmək" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Yenilənmələr mövcuddur" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Yeni versiya: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Discover-i bildirişləri" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Sistemin yenilənmə vəziyyəti bildirişləri" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Plasma Tərtibatı Komandası" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Mövcud nümunə ilə əvəzləmək" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Bildirişi göstərməmək" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "gizli" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Yeniləmələr" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Discover-i açmaq..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Yeniləmələrə baxın..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Təzələmək" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Quraşdırılmış yenilənmələri tətbiq etmək üçün yenidən başladın" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Komputeri yenidən başlatmaq üçün klikləyin" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Yenidən başlatmaq..." \ No newline at end of file diff --git a/po/az/plasma-discover.po b/po/az/plasma-discover.po new file mode 100644 index 0000000..2f46189 --- /dev/null +++ b/po/az/plasma-discover.po @@ -0,0 +1,817 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the discover package. +# +# Xəyyam Qocayev , 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-12 16:10+0400\n" +"Last-Translator: Kheyyam Gojayev \n" +"Language-Team: Azerbaijani \n" +"Language: az\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 20.08.1\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Tətbiq geri izləri tapəlmadı, lütfən, distribütor tərtibatçısına hesabat " +"göndərin." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "\"%1\" kateqoriyası tapılmadı" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"%1 flatpack geri izi olmadan flatpak resursları ilə qarşılıqlı əlaqə " +"yaradıla bilmir. Lütfən ilk öncə bunu quraşdırırn." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "%1 açıla bilmədi" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Verilmiş tətbiqi birbaşa onun paket axını ilə açın:// URI." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Verilmiş mime növləri ilə işləyə biləcək proqram ilə açın." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Daxil edilənlər siyahısını kateqoriya ilə göstərin." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Discover-i sözügedən rejimdə açın. Rejimlər alətlər paneli düymələrinə " +"uyğundur." + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "Bütün mövcud rejimlərin siyahısı." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Yığcam Rejim (avto/yığcam/dolu)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Quraşdırmaq üçün yerli paket faylı" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Bütün mövcud geri izlərin siyahısı." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Axtarış sətiri." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "İstifadəçi rəyi üçün bütün mövcud seçimlərin siyahısı" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "appstream dəstəkləyir: URL sxemi" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Tətbiq bələdçisi" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Plasma Tərtibatı Komandası" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Keyfiyyətin təminatı, dizaynı və istifadəsi" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Xəyyam Qocayev" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xxmn77@gmail.com" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Mövcud geri izlər:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Mövcud rejimlər:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Əlavələr" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Daha çox..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Dəyişiklikləri tətbiq etmək" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Sifirlamaq" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Yeni %1 repozitoriya əlavə etmək" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Əlavə etmək" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "İmtina" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 reyting" +msgstr[1] "%1 reyting" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Hələlik reytinq yoxdur" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Mənbə kodu" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Yeniliklər" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Rəylər" + +#: discover/qml/ApplicationPage.qml:245 +#, fuzzy, kde-format +#| msgid "Show %1 review..." +#| msgid_plural "Show all %1 reviews..." +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "%1 rəyi göstərmək..." +msgstr[1] "%1 rəyi göstərmək..." + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Write a Review..." +msgid "Write a Review" +msgstr "Rəy Yazmaq..." + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Install to write a review!" +msgid "Install to Write a Review" +msgstr "Rəy yazmaq üçün quraşdırın!" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kateqoriya:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, %2 buraxılışı" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versiya:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Müəllif:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Ölçüsü:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Mənbə:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Lisenziya:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Tam lisenziya müqaviləsinə baxmaq" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Sənədləşmə:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "İstifadəçi təlimatını oxuyun" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "İştirak edin:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Tətbiqlərin veb səhifəsini ziyarət edin" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Maddi dəstək" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Problemləri bildirmək" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Axtarış: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Çeşidləmək: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Adı" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Reytinq" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Ölçü" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Buraxılış Tarixi" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Bağışlayın, heç nə tapılmadı" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Axtarış gedir..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Məsləhət görülən" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Yüklənir..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "Tətbiqin yüklənməsi alınmadı.İnternet əlaqəsini yoxlayın." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Məsləhət görülən səhifəsinə qayıdın" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"Kök imtiyazla başlatmaq məsləhət görülmür və buna ehtiyac yoxdur." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Axtarış" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Quraşdırılmış" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Yenilənmələr qəbul edilir..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Yenilənib" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Yenilənmə (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Haqqında" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Ayarlar" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Təəsüf..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Discover bağlana bilmir, başa çatmalı olan əməliyyat var." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "İstənilən halda bağlamaq" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Tapılmayan resurs: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Davam etmək" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "İstifadəçi məlumatlarını göndərmək" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"İstifadəçi məlumatlarını anonim olaraq KDE-yə göndərir və bununla da biz " +"istifadəçilərimizi daha yaxşı başa düşürük. Daha çox məlumat üçün bax: " +"https://kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "İstifadəçi məlumatlarını göndərilməsi..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Tənzimləmək" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "İstifadəçi rəyini tənzimləmək..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Statistikanı bizimlə bölüşmək və sorğularda iştirak etməklə bu tətbiqin " +"yaxşılaşdırılmasına bizə kömək edə bilərsiniz." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Töhvə vermək..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Biz sizin rəyinizə gözləyirik..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "İştirak etmək..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Quraşdırmaq" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Silmək" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "\"%1\" üçün resurslar" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Genişlənmələr..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tapşırıqlar (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Tapşırıqlar" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versiya: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "naməlum rəylər" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 (%2) tərfindən" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "%1 rəy yazdı" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Səslər: %2 tərəfindən %1" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Faydalı oldu?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Bəli" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Xeyr" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "%1 nəzərdən keçirilir" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Reytinq:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Adı:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Başlıq:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Reytinq daxil edin" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Başlıq yazın" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Rəy yazın" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Yazmağa davam edin..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Çox uzundur!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Rəyi göndərmək" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "%1 üçün rəylər" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Rəy Yazmaq..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Rəy yazmaq üçün bu quraşdırmaq lazımdır" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Axtarış..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "\"%1\" daxilində axtarış..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Standart)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Mənbə əlavə etmək..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Standart olaraq istifadə etmək" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "\"%1\" üstünlüyünü artırmaq mümkün deyil" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "\"%1\" üstünlüyünü azaltmaq mümkün deyil" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Mənşəyi silin" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Tərkiblərini göstərin" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Çatışmayan modullar" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Yeniləmələr" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Yenilənmə problemi" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Seçilmişi yeniləmək" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Hamısını yeniləmək" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Bütün yenilənmələr seçildi (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 yenilənməsi seçildi (%3)" +msgstr[1] "%1/%2 yenilənmələri seçildi (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Yenidən başlatmaq" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "%1 versiyasına yeniləmək" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Quraşdırılır" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Daha çox məlumatlar..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Yenilənmələr qəbul edilir..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Yeniləmələr" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Yenilənmələrin tətbiqi üçün sistemi yenidən başladılmaq lazımdır" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Yenilənib" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Yenilənmə olub olmadığını yoxlamaq lazımdır" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Yenilənmələrin sonuncu dəfə nə zaman yoxlanıldığı məlum deyil" \ No newline at end of file diff --git a/po/bg/libdiscover.po b/po/bg/libdiscover.po new file mode 100644 index 0000000..4d35803 --- /dev/null +++ b/po/bg/libdiscover.po @@ -0,0 +1,1732 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Настолни игри" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Proprietary" +msgid "Proprietary" +msgstr "Собственически" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "фиктивен" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy addons" +msgstr "фиктивен" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 1" +msgstr "фиктивен" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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 "фиктивен" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 3" +msgstr "фиктивен" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 4" +msgstr "фиктивен" + +#: 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 "Приложения" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Помощни програми" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Достъпност" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Инструменти за разработка" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Отстраняване на грешки" + +#: 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 "Проектиране на графичен интерфейс" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Среди за разработка на софтуер" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Превод" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Профилиране" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Уеб разработка" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Образование" + +#: 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 "Наука и проектирование" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Астрономия" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Биология" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Химия" + +#: 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 "Информатика и роботика" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Електроника" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Инженерство" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "География" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Геология" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Математика" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Физика" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Игри" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Аркадни" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Настолни игри" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Карти" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Пъзели" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Ролеви" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Симулатори" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Спортни" + +#: 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 "Приложения" + +#: 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 "Симулатори" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Графика" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Чертане" + +#: 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 "Рисуване и обработка" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Фотография" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Издателска дейност" + +#: 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 "Сканиране и разпознаване на текста" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Програми за преглед" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Интернет" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Бързи съобщения" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Споделяне на файлове" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Поща" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Уеб четци" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Мултимедия" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Офис" + +#: 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 "Системни настройки" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "Неизвестен" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Неизвестен" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 за изтегляне, %2 на диска" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 на диска" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "Премахване" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Applications" +msgstr "Приложения" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "Приложения" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Plasma Desktop Widgets" +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Джаджи за работния плот" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Шрифтове" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, fuzzy, kde-format +#| msgid "No network connection available!" +msgid "No network connection available" +msgstr "Няма връзка с мрежата!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, fuzzy, kde-format +#| msgid "Operation not supported!" +msgid "Operation not supported" +msgstr "Неподдържана операция!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, fuzzy, kde-format +#| msgid "Internal error!" +msgid "Internal error" +msgstr "Вътрешна грешка!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, fuzzy, kde-format +#| msgid "GPG failure!" +msgid "GPG failure" +msgstr "Грешка в GPG!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, fuzzy, kde-format +#| msgid "PackageID invalid!" +msgid "PackageID invalid" +msgstr "Невалиден идентификатор на пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, fuzzy, kde-format +#| msgid "Package not installed!" +msgid "Package not installed" +msgstr "Пакетът не е инсталиран!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "Package not found" +msgstr "Файлът не е намерен!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, fuzzy, kde-format +#| msgid "Package is already installed!" +msgid "Package is already installed" +msgstr "Пакетът вече е инсталиран!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, fuzzy, kde-format +#| msgid "Package download failed!" +msgid "Package download failed" +msgstr "Неуспешно изтегляне на пакета!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "Package group not found" +msgstr "Файлът не е намерен!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, fuzzy, kde-format +#| msgid "PackageID invalid!" +msgid "Package group list invalid" +msgstr "Невалиден идентификатор на пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, fuzzy, kde-format +#| msgid "Dependency resolution failed!" +msgid "Dependency resolution failed" +msgstr "Неуспешно разрешаване на зависимостите!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, fuzzy, kde-format +#| msgid "Filter invalid!" +msgid "Filter invalid" +msgstr "Неправилен филтър!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgid "Transaction failure!" +msgid "Transaction failure" +msgstr "Грешка при операцията!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgid "Transaction canceled!" +msgid "Transaction canceled" +msgstr "Операцията е прекъсната!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Няма наличен кеш" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, fuzzy, kde-format +#| msgid "Cannot find repository!" +msgid "Cannot find repository" +msgstr "Хранилището не може да бъде открито!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, fuzzy, kde-format +#| msgid "Cannot remove system package!" +msgid "Cannot remove system package" +msgstr "Не може да се премахне системен пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, fuzzy, kde-format +#| msgid "The package database changed!" +msgid "The PackageKit daemon has crashed" +msgstr "Базата данни на пакета е променена!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, fuzzy, kde-format +#| msgid "Initialization failure!" +msgid "Initialization failure" +msgstr "Грешка при инициализиране!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, fuzzy, kde-format +#| msgid "Failed to finalize transaction!" +msgid "Failed to finalize transaction" +msgstr "Грешка при завършване на операцията!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, fuzzy, kde-format +#| msgid "Config parsing failed!" +msgid "Config parsing failed" +msgstr "Неуспешна обработка на настройките!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Операцията не може да бъде отказана" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, fuzzy, kde-format +#| msgid "Cannot obtain lock!" +msgid "Cannot obtain lock" +msgstr "Не може да се заключи!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, fuzzy, kde-format +#| msgid "No packages to update!" +msgid "No packages to update" +msgstr "Няма пакети за актуализиране!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, fuzzy, kde-format +#| msgid "Cannot write repo config!" +msgid "Cannot write repo config" +msgstr "Настройките на хранилището не могат да бъдат записани!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgid "Local install failed!" +msgid "Local install failed" +msgstr "Локалното инсталиране е неуспешно!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, fuzzy, kde-format +#| msgid "Bad GPG signature found!" +msgid "Bad GPG signature found" +msgstr "Открит е повреден подпис на GPG!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, fuzzy, kde-format +#| msgid "No GPG signature found!" +msgid "No GPG signature found" +msgstr "Не е открит подпис на GPG!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, fuzzy, kde-format +#| msgid "Cannot install from unsigned repo!" +msgid "Cannot install source package" +msgstr "Не може да се инсталира от неподписано хранилище!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, fuzzy, kde-format +#| msgid "Repo configuration error!" +msgid "Repo configuration error" +msgstr "Грешка при настройване на хранилището!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, fuzzy, kde-format +#| msgid "No license agreement!" +msgid "No license agreement" +msgstr "Липсва лицензионно споразумение!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, fuzzy, kde-format +#| msgid "File conflicts found!" +msgid "File conflicts found" +msgstr "Открити са конфликти между файлове!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgid "Package conflict found!" +msgid "Package conflict found" +msgstr "Открити са конфликти между пакети!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, fuzzy, kde-format +#| msgid "Repo not available!" +msgid "Repo not available" +msgstr "Хранилището не е налично!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, fuzzy, kde-format +#| msgid "Invalid package file!" +msgid "Invalid package file" +msgstr "Невалиден пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, fuzzy, kde-format +#| msgid "Package install blocked!" +msgid "Package install blocked" +msgstr "Инсталирането на пакета е блокирано!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgid "Corrupt package found!" +msgid "Corrupt package found" +msgstr "Открит е повреден пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, fuzzy, kde-format +#| msgid "All packages already installed!" +msgid "All packages already installed" +msgstr "Всички пакети са вече инсталирани!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, fuzzy, kde-format +#| msgid "File not found!" +msgid "File not found" +msgstr "Файлът не е намерен!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, fuzzy, kde-format +#| msgid "No more mirrors available!" +msgid "No more mirrors available" +msgstr "Няма повече огледални сървъри!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, fuzzy, kde-format +#| msgid "No distro upgrade data!" +msgid "No distro upgrade data" +msgstr "Няма данни за надграждане на дистрибуцията!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, fuzzy, kde-format +#| msgid "Incompatible architecture!" +msgid "Incompatible architecture" +msgstr "Несъвместима архитектура!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, fuzzy, kde-format +#| msgid "No space on device left!" +msgid "No space on device left" +msgstr "Няма място в устройството!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, fuzzy, kde-format +#| msgid "A media change is required!" +msgid "A media change is required" +msgstr "Необходима е смяна на носителя!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, fuzzy, kde-format +#| msgid "Update not found!" +msgid "Update not found" +msgstr "Обновлението не е намерено!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, fuzzy, kde-format +#| msgid "Cannot install from unsigned repo!" +msgid "Cannot install from unsigned repo" +msgstr "Не може да се инсталира от неподписано хранилище!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, fuzzy, kde-format +#| msgid "Cannot update from unsigned repo!" +msgid "Cannot update from unsigned repo" +msgstr "Не може да се обнови от неподписано хранилище!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, fuzzy, kde-format +#| msgid "Cannot get file list!" +msgid "Cannot get file list" +msgstr "Списъкът с файлове не може да се получи!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, fuzzy, kde-format +#| msgid "Cannot get file list!" +msgid "Cannot get requires" +msgstr "Списъкът с файлове не може да се получи!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, fuzzy, kde-format +#| msgid "Cannot disable repository!" +msgid "Cannot disable repository" +msgstr "Хранилището не може да бъде изключено!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, fuzzy, kde-format +#| msgid "Restricted download detected!" +msgid "Restricted download detected" +msgstr "Открито е ограничено изтегляне!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, fuzzy, kde-format +#| msgid "Package failed to configure!" +msgid "Package failed to configure" +msgstr "Неуспешно настройване на пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, fuzzy, kde-format +#| msgid "Package failed to build!" +msgid "Package failed to build" +msgstr "Неуспешно изграждане на пакет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, fuzzy, kde-format +#| msgid "Package failed to install!" +msgid "Package failed to install" +msgstr "Неуспех при инсталиране на пакета!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, fuzzy, kde-format +#| msgid "Package failed to remove!" +msgid "Package failed to remove" +msgstr "Неуспешно премахване на пакета!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, fuzzy, kde-format +#| msgid "Update failed due to running process!" +msgid "Update failed due to running process" +msgstr "Обновяването се провали поради изпълняващ се процес!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, fuzzy, kde-format +#| msgid "The package database changed!" +msgid "The package database changed" +msgstr "Базата данни на пакета е променена!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, fuzzy, kde-format +#| msgid "The provided type is not supported!" +msgid "The provided type is not supported" +msgstr "Предоставения вид не се поддържа!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, fuzzy, kde-format +#| msgid "Cannot fetch sources!" +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Източниците не могат да бъдат получени!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +#| msgid "Canceled priority!" +msgid "Canceled priority" +msgstr "Отказан приоритет!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, fuzzy, kde-format +#| msgid "Unfinished transaction!" +msgid "Unfinished transaction" +msgstr "Недовършена операция!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, fuzzy, kde-format +#| msgid "Lock required!" +msgid "Lock required" +msgstr "Изисква се заключване!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, fuzzy, kde-format +#| msgid "Unknown error" +msgid "Unknown error %1." +msgstr "Неизвестна грешка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' беше променен и предлага да бъде рестартиран." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Промяна, извършена от '%1' предлага рестартиране на сесията." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' беше обновен от съображения за сигурност и се препоръчва рестартиране " +"на сесията." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' беше обновен от съображения за сигурност и се препоръчва рестартиране " +"на системата." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, fuzzy, kde-format +#| msgid "A change by '%1' suggests your system to be rebooted." +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Промяна, извършена от '%1' предлага рестартиране на системата." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Изчакване..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Настройка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Обработка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Премахване..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Изтегляне...." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Инсталиране..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Обновяване…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Изчистване..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Изчисляване на зависимостите..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Проверка на подписите..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Тест на подаването..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Подаване..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "Готово" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, fuzzy, kde-format +#| msgid "Canceled." +msgid "Canceled" +msgstr "Прекъснато." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Изчакване за заключване..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Изчакване за идентифициране..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Копиране на файловете..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Неизвестно състояние" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Процесът изчаква нещо да се случи." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Настройване на операция..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Операцията се изпълнява..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Операцията премахва пакети..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Операцията изтегля пакети..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Операцията инсталира пакети..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Операцията обновява пакети..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Операцията почиства след себе си..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Операцията установява зависимостите на пакетите, които ще бъдат " +"инсталирани..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Операцията проверява подписите на пакетите..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Операцията пробва подаването на този набор пакети..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Операцията подава набора си от пакети..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Операцията приключи!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Операцията бе отказана" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Операцията изчаква за заключване..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Изчакване за разрешение от потребителя за изпълнение на операцията..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Операцията в момента копира файлове..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, fuzzy, kde-format +#| msgid "Unknown Status" +msgid "Unknown status %1." +msgstr "Неизвестно състояние" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "Инсталиран" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "Приложения" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, fuzzy, kde-format +#| msgid "There are %1 updated packages!" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "Има %1 обновени пакета!" +msgstr[1] "Има %1 обновени пакета!" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Open File" +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Отваряне на файл" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"base" +#| "\"" +#| msgid "Base System" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Основна система" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, fuzzy, kde-format +#| msgid "There are %1 updated packages!" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Има %1 обновени пакета!" +msgstr[1] "Има %1 обновени пакета!" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, fuzzy, kde-format +#| msgid "Package failed to remove!" +msgid "Packages to remove" +msgstr "Неуспешно премахване на пакета!" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Счупен" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Наличен" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Инсталиран" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "За надграждане" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Проверка за обновления" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "View Updates" +msgstr "Приложения" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Начало" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Изчакване" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Сваляне" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Инсталиране" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Премахване" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Промяна на добавките" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Готово" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Canceled." +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Прекъснато." + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Приложения" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Обновления" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +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..9bbea37 --- /dev/null +++ b/po/bs/libdiscover.po @@ -0,0 +1,1664 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Igre na tabli" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Proprietary" +msgid "Proprietary" +msgstr "Vlasništvo" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "prazno" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy addons" +msgstr "prazno" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 1" +msgstr "prazno" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 3" +msgstr "prazno" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "dummy" +msgctxt "Category" +msgid "dummy 4" +msgstr "prazno" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Alati" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalizacija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilisanje" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Obrazovanje" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Hemija" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Igre" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulacije" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sportovi" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Crtanje" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografija" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Preglednici" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Ćaskanje" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedija" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Ured" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "Nepoznato" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 ( %2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Nepoznato" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "Uklanjanje" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Applications" +msgstr "Programi" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "Programi" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: 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" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fontovi" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, fuzzy, kde-format +msgid "Internal error" +msgstr "Internet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, fuzzy, kde-format +msgid "PackageID invalid" +msgstr "Nije instalirano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, fuzzy, kde-format +msgid "Package not installed" +msgstr "Nije instalirano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "Package not found" +msgstr "Paket nije nađen!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, fuzzy, kde-format +msgid "Package is already installed" +msgstr "Nije instalirano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, fuzzy, kde-format +msgid "Package download failed" +msgstr "Snimi listu paketa za preuzimanje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +msgid "Package group not found" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, fuzzy, kde-format +msgid "Package group list invalid" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +msgid "Transaction failure" +msgstr "Čekam da se završe druge transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +msgid "Transaction canceled" +msgstr "Čekam da se završe druge transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, fuzzy, kde-format +msgid "Initialization failure" +msgstr "Greška inicijalizacije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +msgid "Local install failed" +msgstr "Historijat paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, fuzzy, kde-format +msgid "Repo configuration error" +msgstr "Rezidualna konfiguracija" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, fuzzy, kde-format +msgid "File conflicts found" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +msgid "Package conflict found" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, fuzzy, kde-format +#| msgid "System update available!" +msgid "Repo not available" +msgstr "Sistemsko ažuriranje dostupno!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, fuzzy, kde-format +msgid "Package install blocked" +msgstr "Historijat paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "Corrupt package found" +msgstr "Paket nije nađen!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, fuzzy, kde-format +msgid "All packages already installed" +msgstr "Nije instalirano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "File not found" +msgstr "Paket nije nađen!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "Nadogradnje distribucije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, fuzzy, kde-format +msgid "A media change is required" +msgstr "Potrebna promjena medija" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, fuzzy, kde-format +#| msgid "Package not found!" +msgid "Update not found" +msgstr "Paket nije nađen!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, fuzzy, kde-format +msgid "Package failed to configure" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, fuzzy, kde-format +msgid "Package failed to build" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, fuzzy, kde-format +msgid "Package failed to install" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, fuzzy, kde-format +msgid "Package failed to remove" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, fuzzy, kde-format +msgid "Lock required" +msgstr "Zaključano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, fuzzy, kde-format +#| msgid "Unknown error" +msgid "Unknown error %1." +msgstr "Nepoznata greška" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Čeka..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Obrada..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Uklanjanje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Preuzimanje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Instaliram..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Potvrda..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "Gotovo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, fuzzy, kde-format +msgid "Waiting for authorization..." +msgstr "Čekam na autentifikaciju" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +msgid "Unknown Status" +msgstr "Nepoznato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Postavljam instalaciju..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, fuzzy, kde-format +msgid "The transaction has finished!" +msgstr "Čekam da se završe druge transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, fuzzy, kde-format +msgid "Unknown status %1." +msgstr "Nepoznato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "Instalirano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "Programi" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, fuzzy, kde-format +#| msgid "There are %1 update packages!" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "%1 ažuriranih paketa!" +msgstr[1] "%1 ažuriranih paketa!" +msgstr[2] "%1 ažuriranih paketa!" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Open File" +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Otvori datoteku" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"base" +#| "\"" +#| msgid "Base System" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Osnovni sistem" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, fuzzy, kde-format +#| msgid "There are %1 update packages!" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 ažuriranih paketa!" +msgstr[1] "%1 ažuriranih paketa!" +msgstr[2] "%1 ažuriranih paketa!" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 ( %2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, fuzzy, kde-format +msgid "Packages to remove" +msgstr "Paketi se ne mogu naći" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Oštećeni" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Dostupno" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Instalirano" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Nadogradivo" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 ( %2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Provjera na nadogradnje" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "View Updates" +msgstr "Programi" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Počinjem" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "čekanje" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Preuzimanje" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instaliranje" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Uklanjanje" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Mijenjam dodatke" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Gotovo" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Programi" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Nadogradnje" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "" \ 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..7e53f3e --- /dev/null +++ b/po/bs/plasma-discover.po @@ -0,0 +1,851 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Direktno otvori navedenu aplikaciju njenim imenom paketa." + +#: discover/main.cpp:34 +#, fuzzy, kde-format +#| msgid "Open with a program that can deal with the given mimetype." +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Otvori programom koji može raditi s datim MIME tipom." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Prikaži listu elemenata s kategorijom." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Nabroji sve dostupne režime rada." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Nabroji sve dostupne pozadinske programe." + +#: discover/main.cpp:41 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search string." +msgstr "Tražim u '%1'..." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Otkrij" + +#: discover/main.cpp:92 +#, fuzzy, kde-format +msgid "An application explorer" +msgstr "Otkrivač programa" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Dostupni pozadinski programi:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Dostupni režimi:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, fuzzy, kde-format +#| msgid "Add-ons" +msgid "Add" +msgstr "Dodaci" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Otkaži" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, 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:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Izvori" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Recenzije" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review" +msgstr "Predaj" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Install to Write a Review" +msgstr "Predaj" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, fuzzy, kde-format +msgid "Size:" +msgstr "Ukupna veličina: %1
      " + +#: discover/qml/ApplicationPage.qml:337 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Izvori" + +#: discover/qml/ApplicationPage.qml:346 +#, fuzzy, kde-format +#| msgid "points: %1" +msgid "License:" +msgstr "poena: %1" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search: %1" +msgstr "Tražim u '%1'..." + +#: discover/qml/ApplicationsListPage.qml:64 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Sort: %1" +msgstr "Tražim u '%1'..." + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Ime" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Rejting" + +#: discover/qml/ApplicationsListPage.qml:85 +#, fuzzy, kde-format +msgid "Size" +msgstr "Ukupna veličina: %1
      " + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:152 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "Instaliraj" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Učitavam..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Traži..." + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Instalirano" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Fetching updates..." +msgstr "Ažuriraj" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Up to date" +msgstr "Ažuriraj" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Ažuriraj" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "Najbolji plasmani" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +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/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:17 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "Ažuriraj" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, fuzzy, kde-format +#| msgid "%1
      %2" +msgid "%1 by %2" +msgstr "%1
      %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Reviewing %1" +msgid "Reviewing %1" +msgstr "Recenziram %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Ocjena:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Ime" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the title" +msgstr "Predaj" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the review" +msgstr "Predaj" + +#: discover/qml/ReviewDialog.qml:69 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "Učitavam..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Predaj" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "Reviews for %1" +msgstr "Rejting" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review..." +msgstr "Predaj" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Traži..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Tražim u '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Dodaj izvor" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, 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:41 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Update Issue" +msgstr "Ažuriraj" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "U redu" + +#: discover/qml/UpdatesPage.qml:77 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "Ažuriraj sve" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Ažuriraj sve" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "All updates selected (%1)" +msgstr "Ažuriraj sve" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Ažuriraj sve" +msgstr[1] "Ažuriraj sve" +msgstr[2] "Ažuriraj sve" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "Instaliraj" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Ažuriraj" + +#: discover/qml/UpdatesPage.qml:373 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "Ažuriraj" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Up to date" +msgstr "Ažuriraj" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" \ No newline at end of file diff --git a/po/ca/libdiscover.po b/po/ca/libdiscover.po new file mode 100644 index 0000000..259674c --- /dev/null +++ b/po/ca/libdiscover.po @@ -0,0 +1,1639 @@ +# Translation of libdiscover.po to Catalan +# Copyright (C) 2011-2020 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, 2019, 2020. +# Antoni Bella Pérez , 2014, 2015, 2017, 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-12-08 23:07+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" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep Ma. Ferrer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Propietària" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Error en recuperar les revisions: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Error en enviar la utilitat: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Error en enviar la revisió: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoria simulada" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "simulació" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "complement simulat" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "simulació 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "simulació amb novetats" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "simulació amb algunes novetats" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "simulació 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "simulació 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessoris" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accessibilitat" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Depuració" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Traducció" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Educació" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Enginyeria" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jocs" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: 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 +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Trencaclosques" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulació" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Esports" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Acció" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuladors" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Dibuix" + +#: 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ó" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicació" + +#: 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)" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visors" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Xat" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Correu" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Oficina" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Paquet local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL de l'«appstream» amb format incorrecte «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Desconegut" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "S'està recuperant la informació de la mida" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Mida desconeguda" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 en el disc" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Afegeix Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "No s'ha pogut afegir la font %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "S'està eliminant «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" +"Per a eliminar aquest repositori, s'han de desinstal·lar les aplicacions " +"següents:
      • %1
      " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Ha fallat en eliminar el repositori remot %1: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "No s'ha pogut trobar %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Introduïu l'URI d'un repositori Flatpak (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "S'afegeix el remot «%1» a %2 des de %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Revisió de l'EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "El dorsal %1 ha trigat massa temps en inicialitzar-se" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Aplicacions" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Complements del Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Complements d'aplicacions" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Error de xarxa al dorsal %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Hi ha massa peticions enviades al servidor pel dorsal %1. Torneu-ho a provar " +"en uns quants minuts." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, 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:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" +"No s'ha pogut recuperar la captura de pantalla per a l'entrada %1 al dorsal " +"%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Error no gestionat al dorsal %1. Contacteu amb el vostre distribuïdor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI incorrecte del KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Llança" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Ús" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Informació d'accés per a %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "No s'ha pogut llançar %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Complements del Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Ginys del Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Tipus de lletra" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Memòria exhaurida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "La connexió de xarxa no està disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operació no admesa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Error intern" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Fallada del GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID no vàlid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Paquet no instal·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "No s'ha trobat el paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "El paquet ja està instal·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "La baixada del paquet ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "No s'han pogut trobar el grup de paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "La llista del grup de paquets no és vàlida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Ha fallat la resolució de dependències" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "El filtre no és vàlid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Ha fallat en crear un fil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Transacció fallada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "S'ha cancel·lat la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "No hi ha memòria cau disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "No s'ha pogut trobar el repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "No s'ha pogut eliminar el paquet del sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "El dimoni PackageKit ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Fallada en la inicialització" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Ha fallat en finalitzar la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Ha fallat l'anàlisi de la configuració" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "No s'ha pogut cancel·lar la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "No s'ha pogut obtenir el bloqueig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "No hi ha cap paquet a actualitzar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "No s'ha pogut escriure la configuració del repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "La instal·lació local ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "La signatura GPG és incorrecta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "No s'ha trobat la signatura GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "No s'ha pogut instal·lar un paquet de codi font" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Error de configuració del repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "No hi ha cap acord de llicència" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "S'han trobat conflictes de fitxers" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "S'ha trobat un conflicte de paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Repositori no disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "El fitxer de paquet no és vàlid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Instal·lació del paquet bloquejada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "S'ha trobat un paquet corrupte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Ja estan instal·lats tots els paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "No s'ha trobat el fitxer" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "No hi ha més rèpliques disponibles" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "No hi ha dades d'actualitzacions de la distribució" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Arquitectura incompatible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "No queda espai en el dispositiu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Cal canviar el suport" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "No teniu autorització per a executar aquesta operació" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "No s'ha trobat l'actualització" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, 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:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "No es pot actualitzar des d'un repositori no signat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "No s'ha pogut obtenir la llista de fitxers" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "No es poden obtenir els requeriments" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "No s'ha pogut desactivar el repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "S'ha detectat una restricció de baixada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "El paquet ha fallat en ser configurat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "El paquet ha fallat en ser construït" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "El paquet ha fallat en ser instal·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "El paquet ha fallat en ser eliminat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, 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:140 +#, kde-format +msgid "The package database changed" +msgstr "La base de dades dels paquets ha canviat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "El tipus proporcionat no està admès" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "L'arrel de la instal·lació no és vàlida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "No s'han pogut recuperar les fonts" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "La prioritat s'ha cancel·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transacció sense finalitzar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Es requereix un bloqueig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Error desconegut %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Un canvi a «%1» suggereix que el sistema es torni a iniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "L'aplicació s'ha de reiniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "La sessió s'ha de reiniciar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Cal reiniciar el sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "S'està esperant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "S'està refrescant la memòria cau..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Configuració..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Està processant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Elimina..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "S'està baixant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "S'està instal·lant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "S'està actualitzant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Netejant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "S'estan resolent les dependències..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "S'estan comprovant les signatures..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "S'està provant la publicació..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "S'està publicant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Ha finalitzat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "S'ha cancel·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "S'està esperant pel bloqueig..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "S'està esperant autorització..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "S'estan copiant els fitxers..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Estat desconegut" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "S'està esperant quelcom." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "S'està configurant la transacció..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Actualment la transacció està en curs..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Actualment la transacció està eliminant els paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Actualment la transacció està baixant els paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Actualment la transacció està instal·lant paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Actualment la transacció està actualitzant paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Actualment la transacció està netejant paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "La transacció ha finalitzat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "S'ha cancel·lat la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Actualment la transacció està esperant pel bloqueig..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Actualment la transacció està copiant fitxers..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Actualment s'està refrescant la memòria cau del repositori..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Estat desconegut %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Estable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Inestable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Proves" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Actualitzacions fora de línia" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Ha fallat en actualitzar %1 paquet\n" +"%2" +msgstr[1] "" +"Ha fallat en actualitzar %1 paquets\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Obre el Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Repara el sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Ha fallat la reparació" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Si us plau, informeu-ho a la vostra distribució: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "S'ha actualitzat amb èxit %1 paquet" +msgstr[1] "S'han actualitzat amb èxit %1 paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Obsolets:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Notes de llançament:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Estat d'actualització:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Reinicia:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Proveïdor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL del repositori:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Paquets a eliminar" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" +"L'actualització eliminarà els paquets següents:
      • %1

      per " +"tal d'instal·lar:
      • %2
      " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Reinicieu l'ordinador per a finalitzar l'actualització" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Accepta EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Manca la signatura per a %1 a %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirma la supressió del paquet" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Trencat" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Disponible" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Instal·lat" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Actualitzable" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Comprova si hi ha actualitzacions" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Visualització de les actualitzacions" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Iniciant" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "En espera" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "S'està baixant" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "S'està instal·lant" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "S'està eliminant" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "S'estan canviant els complements" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Fet" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Ha fallat" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancel·lat" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Actualitzacions de les aplicacions" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualitzacions del sistema" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Complements" \ 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..25d5eac --- /dev/null +++ b/po/ca/plasma-discover-notifier.po @@ -0,0 +1,161 @@ +# Translation of plasma-discover-notifier.po to Catalan +# Copyright (C) 2015-2020 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, 2019, 2020. +# Antoni Bella Pérez , 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-07-10 13:41+0200\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 20.07.70\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Visualització de les actualitzacions" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Actualitzacions de seguretat disponibles" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Actualitzacions disponibles" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "El sistema està actualitzat" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Cal reiniciar l'ordinador" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Desconnectat" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Reinicia" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Cal reiniciar" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Actualitza" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Hi ha una actualització disponible" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Versió nova: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Notificador del Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Notificador de l'estat d'actualització del sistema" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 l'equip de desenvolupament del Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Josep Ma. Ferrer" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "txemaq@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Substitueix una instància existent" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "No mostris el notificador" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "ocult" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Actualitzacions" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Obre el Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Veure les actualitzacions..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Refresca..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Reinicieu per a aplicar les actualitzacions instal·lades" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Feu clic per a reiniciar l'ordinador" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Reinicia..." \ 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..8e1ba63 --- /dev/null +++ b/po/ca/plasma-discover.po @@ -0,0 +1,819 @@ +# Translation of plasma-discover.po to Catalan +# Copyright (C) 2012-2020 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, 2019, 2020. +# Antoni Bella Pérez , 2014, 2015, 2017, 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-15 13:24+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" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"No s'ha trobat cap dorsal d'aplicació, si us plau, informeu-ho a la vostra " +"distribució." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "No s'ha pogut trobar la categoria «%1»" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "No s'ha pogut obrir %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Obre directament l'aplicació especificada pel seu URI appstream://." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Obre amb una cerca per als programes que es poden gestionar amb el tipus " +"MIME donat." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostra una llista d'entrades amb una categoria." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Llista tots els modes disponibles." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Mode compacte (auto/compacte/complet)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Fitxer local de paquet a instal·lar" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Llista tots els dorsals disponibles." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Cadena de la cerca." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Llista les opcions disponibles per als comentaris dels usuaris" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Implementa l'esquema d'URL «appstream:»" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Un explorador d'aplicacions" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 l'equip de desenvolupament del Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Control de qualitat, disseny i usabilitat" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Orestes Mas" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "orestes@tsc.upc.edu" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Dorsals disponibles:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Modes disponibles:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Complements" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Més..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Aplica els canvis" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Restableix" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Afegeix un repositori nou %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Afegeix" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Cancel·la" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 valoració" +msgstr[1] "%1 valoracions" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Encara no hi ha cap valoració" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Fonts" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Què hi ha de nou" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Comentaris" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, kde-format +msgid "Write a Review" +msgstr "Escriviu un comentari" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Instal·leu-la per a escriure un comentari" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Categoria:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, publicat el %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versió:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Mida:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Font:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Llicència:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Veure els termes complets de la llicència" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Documentació:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Llegiu la guia de l'usuari" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Col·laboreu-hi:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Visita a la web de l'aplicació" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Feu una donació" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Informeu d'un problema" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Cerca: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Ordena: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nom" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Valoració" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Mida" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Data de publicació" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "No s'ha trobat res" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Encara s'està cercant..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Cal destacar" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "S'està carregant..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"No es poden carregar les aplicacions.Comproveu la connectivitat amb " +"Internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Retorna a la pàgina «Cal destacar»" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Cerca" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Instal·lat" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "S'estan recuperant les actualitzacions..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Última versió" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualitza (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Quant a" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Preferències" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Ho sento..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "No s'ha pogut tancar el Discover, hi ha tasques que cal fer." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Surt igualment" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "No s'ha pogut trobar el recurs: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Continua" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Envia la informació d'ús" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Envia informació anònima d'ús al KDE per tal d'entendre millor als nostres " +"usuaris. Per a més informació vegeu https://kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "S'està enviant la informació d'ús..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Configura" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Configura els comentaris..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Podeu ajudar-nos a millorar aquesta aplicació compartint estadístiques i " +"participant en les enquestes." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Col·labora..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Esperem els vostres comentaris!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Participa..." + +#: 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/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Recursos per a «%1»" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Extensions..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tasques (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Tasques" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versió: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "revisor desconegut" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 per %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Comentari de %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Vots: %1 de %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Útil?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Sí" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "No" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "S'està comentant %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Valoració:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nom:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Títol:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Introduïu una valoració" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Escriviu el títol" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Escriviu el comentari" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Continueu escrivint..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Massa llarg!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Envia el comentari" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Ressenyes de %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Escriviu un comentari..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Instal·leu aquesta aplicació per a escriure un comentari" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Cerca..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Cerca a «%1»..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Predeterminat)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Afegeix font..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Converteix en el valor predeterminat" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Ha fallat en incrementar la preferència «%1»" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Ha fallat en reduir la preferència «%1»" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Suprimeix l'origen" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Mostra els continguts" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Manquen dorsals" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Actualitzacions" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Actualitza l'assumpte" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "D'acord" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Actualitza els seleccionats" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Actualitza-ho tot" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Totes les actualitzacions seleccionades (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "S'ha seleccionat %1/%2 actualització (%3)" +msgstr[1] "S'han seleccionat %1/%2 actualitzacions (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Reinicia" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Actualitza a la versió %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "S'està instal·lant" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Més informació..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "S'estan recuperant les actualitzacions..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Actualitzacions" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "El sistema requereix un reinici per a aplicar les actualitzacions" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Última versió" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Cal comprovar si hi ha actualitzacions" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ 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..f0a1735 --- /dev/null +++ b/po/ca@valencia/libdiscover.po @@ -0,0 +1,1652 @@ +# Translation of libdiscover.po to Catalan (Valencian) +# Copyright (C) 2011-2019 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, 2019. +# Antoni Bella Pérez , 2014, 2015, 2017, 2018, 2019. +# Empar Montoro Martín , 2019. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2019-08-29 09:26+0200\n" +"Last-Translator: Empar Montoro Martín \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 19.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Propietària" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoria simulada" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "simulació" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "complement simulat" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "simulació 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "simulació amb coses" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "simulació amb algunes coses" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "simulació 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "simulació 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessoris" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accessibilitat" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Depuració" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localització" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Educació" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Enginyeria" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jocs" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: 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 +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Trencaclosques" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulació" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Esports" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Acció" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuladors" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Dibuix" + +#: 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ó" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicació" + +#: 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)" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visualitzadors" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Xat" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Correu" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Oficina" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Paquet local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL d'«appstream» amb format incorrecte «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Desconegut" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "S'està recuperant la informació de la mida" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Mida desconeguda" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 per a baixar, %2 en el disc" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 en el disc" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Afig Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "No s'ha pogut afegir la font %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "S'està eliminant" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, fuzzy, kde-format +#| msgid "Could not add the source %1" +msgid "Could not find %1" +msgstr "No s'ha pogut afegir la font %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, fuzzy, kde-format +#| msgid "Flatpak repository URI (*.flatpakrepo)" +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "URI del repositori Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "S'afig el remot «%1» en %2 des de %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "El dorsal %1 ha tardat massa temps en inicialitzar-se" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Aplicacions" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Complements de Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Complements d'aplicacions" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Error de xarxa en el dorsal %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Hi ha massa peticions enviades al servidor pel dorsal %1. Torneu-ho a provar " +"en uns quants minuts." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, 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:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" +"No s'ha pogut recuperar la captura de pantalla per a l'entrada %1 en el " +"dorsal %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Error no gestionat en el dorsal %1. Contacteu amb el vostre distribuïdor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI de KNewStuff incorrecte: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Inicia" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Utilitza" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Informació d'accés per a %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "No s'ha pogut iniciar %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Complements de Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Ginys (widgets) de Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Tipus de lletra" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Assegureu-vos que Appstream està ben instal·lat en el sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "Memòria exhaurida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "La connexió de xarxa no està disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "No s'admet l'operació" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "S'ha produït un error intern" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Ha fallat el GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID no és vàlid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "No s'ha instal·lat el paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "No s'ha trobat el paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "El paquet ja està instal·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Ha fallat la baixada del paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "No s'ha trobat el grup de paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "La llista del grup de paquets no és vàlida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Ha fallat la resolució de dependències" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "El filtre no és vàlid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "S'ha produït un error en crear un fil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Transacció fallida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "S'ha cancel·lat la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "No hi ha memòria cau disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "No s'ha pogut trobar el repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "No s'ha pogut eliminar el paquet del sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "El dimoni PackageKit ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Ha fallat la inicialització" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "No s'ha pogut finalitzar la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Ha fallat l'anàlisi de la configuració" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "No s'ha pogut cancel·lar la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "No s'ha pogut obtindre el bloqueig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "No hi ha cap paquet per a actualitzar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "No s'ha pogut escriure la configuració del repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "La instal·lació local ha fallat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "La signatura GPG és incorrecta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "No s'ha trobat la signatura GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "No s'ha pogut instal·lar un paquet de codi font" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Hi ha un error de configuració del repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "No hi ha cap acord de llicència" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "S'han trobat conflictes de fitxers" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "S'ha trobat un conflicte de paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "El repositori no està disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "El fitxer de paquet no és vàlid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "S'ha bloquejat la instal·lació del paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "S'ha trobat un paquet corrupte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Ja estan instal·lats tots els paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "No s'ha trobat el fitxer" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "No hi ha més rèpliques disponibles" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "No hi ha dades d'actualitzacions de la distribució" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "L'arquitectura és incompatible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "No queda espai en el dispositiu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Cal canviar el suport" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "No teniu autorització per a executar aquesta operació" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "No s'ha trobat l'actualització" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, 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:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "No es pot actualitzar des d'un repositori no signat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "No s'ha pogut obtindre la llista de fitxers" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "No es poden obtindre els requeriments" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "No s'ha pogut desactivar el repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "S'ha detectat una descàrrega restrictiva" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "No s'ha pogut configurar el paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "No s'ha pogut muntar el paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "No s'ha pogut instal·lar el paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "No s'ha pogut eliminar el paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "No s'ha pogut actualitzar a causa d'un procés en execució" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "La base de dades dels paquets ha canviat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "El tipus proporcionat no està admés" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "L'arrel de la instal·lació no és vàlida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "No s'han pogut recuperar les fonts" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "La prioritat s'ha cancel·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transacció sense finalitzar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Es requereix un bloqueig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "S'ha produït un error desconegut %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "«%1» ha canviat i suggereix que es reinicie." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Un canvi en «%1» suggereix que es reinicie la vostra sessió." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, 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 reinicie " +"la sessió." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, 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 reinicie " +"el sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Un canvi en «%1» suggereix que es reinicie el sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "L'aplicació s'ha de reiniciar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "La sessió s'ha de reiniciar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Cal reiniciar el sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "S'està esperant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "S'està refrescant la memòria cau..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Configuració..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "S'està processant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Elimina..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "S'està baixant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "S'està instal·lant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "S'està actualitzant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "S'està netejant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "S'estan resolent les dependències..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "S'estan comprovant les signatures..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "S'està comprovant la publicació..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "S'està publicant..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Ha finalitzat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "S'ha cancel·lat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "S'està esperant el bloqueig..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "S'està esperant l'autorització..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "S'estan copiant els fitxers..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Estat desconegut" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "S'està esperant alguna cosa." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "S'està configurant la transacció..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Actualment la transacció està en curs..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Actualment la transacció està eliminant els paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Actualment la transacció està baixant els paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Actualment la transacció està instal·lant paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Actualment la transacció està actualitzant paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Actualment la transacció està netejant paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"Actualment la transacció està comprovant la publicació d'aquest conjunt de " +"paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "La transacció ha finalitzat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "S'ha cancel·lat la transacció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Actualment la transacció està esperant el bloqueig..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "S'està esperant que l'usuari autoritze la transacció..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Actualment la transacció està copiant fitxers..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Actualment s'està refrescant la memòria cau del repositori..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Estat desconegut %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Estable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Inestable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Proves" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Actualitzacions fora de línia" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"No s'ha pogut actualitzar %1 paquet\n" +"%2" +msgstr[1] "" +"Ha fallat en actualitzar %1 paquets\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgid "Repair Failed" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Ha fallat la reparació" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Ha fallat la reparació" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Informeu-ne a la vostra distribució: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "S'ha actualitzat amb èxit %1 paquet" +msgstr[1] "S'han actualitzat amb èxit %1 paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Obsolets:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Notes del llançament:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Estat d'actualització:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Reinicia:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Proveïdor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL del repositori:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Paquets que s'han d'eliminar" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "
      • %1
      \n" +#| "in order to install:\n" +#| "
      • %2
      " +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" +"L'actualització eliminarà els paquets següents:\n" +"
      • %1
      \n" +"per tal d'instal·lar:\n" +"
      • %2
      " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Reinicieu l'ordinador per a finalitzar l'actualització" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Accepta EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Falta la signatura per a %1 a %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirma la supressió del paquet" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Trencat" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Disponible" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Instal·lat" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Actualitzable" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Comprova si hi ha actualitzacions" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Offline Updates" +msgid "View Updates" +msgstr "Actualitzacions fora de línia" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Iniciant" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "En espera" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "S'està baixant" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "S'està instal·lant" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "S'està eliminant" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "S'estan canviant els complements" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Fet" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Ha fallat" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "S'ha cancel·lat" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Actualitzacions de les aplicacions" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualitzacions del sistema" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Complements" \ 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..3f906b7 --- /dev/null +++ b/po/ca@valencia/plasma-discover-notifier.po @@ -0,0 +1,165 @@ +# Translation of plasma-discover-notifier.po to Catalan (Valencian) +# Copyright (C) 2015-2019 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, 2019. +# Antoni Bella Pérez , 2018. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2019-04-16 08:11+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" + +#: notifier/DiscoverNotifier.cpp:87 +#, fuzzy, kde-format +#| msgid "Update" +msgid "View Updates" +msgstr "Actualitza" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Actualitzacions de seguretat disponibles" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Actualitzacions disponibles" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "El sistema està actualitzat" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Cal reiniciar l'ordinador" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Desconnectat" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Cal reiniciar" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Hi ha una actualització disponible" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Versió nova: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:38 +#, fuzzy, kde-format +#| msgid "System up to date" +msgid "System update status notifier" +msgstr "El sistema està actualitzat" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "Actualitza" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:54 +#, fuzzy, kde-format +#| msgid "Update" +msgid "See Updates..." +msgstr "Actualitza" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "" \ 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..5516e1a --- /dev/null +++ b/po/ca@valencia/plasma-discover.po @@ -0,0 +1,839 @@ +# Translation of plasma-discover.po to Catalan (Valencian) +# Copyright (C) 2012-2019 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, 2019. +# Antoni Bella Pérez , 2014, 2015, 2017, 2018. +# Empar Montoro Martín , 2019. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2019-08-29 13:08+0200\n" +"Last-Translator: Empar Montoro Martín \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 19.04.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"No s'ha trobat cap dorsal d'aplicació. Informeu-ne a la vostra distribució." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "No s'ha pogut trobar la categoria «%1»" + +#: discover/DiscoverObject.cpp:281 +#, 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. Instal·leu-lo primer." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "No s'ha pogut obrir %1" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Obri directament l'aplicació especificada pel seu nom de paquet." + +#: discover/main.cpp:34 +#, fuzzy, kde-format +#| msgid "Open with a program that can deal with the given mimetype." +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Obri amb un programa que puga gestionar el tipus MIME donat." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostra una llista d'entrades amb una categoria." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Llista tots els modes disponibles." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Mode compacte (auto/compacte/complet)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Fitxer local del paquet que cal instal·lar" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Llista tots els dorsals disponibles." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Cadena de la cerca." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Implementa l'esquema d'URL «appstream:»" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Un explorador d'aplicacions" + +#: discover/main.cpp:93 +#, fuzzy, kde-format +#| msgid "© 2010-2019 Plasma Development Team" +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2019 l'equip de desenvolupament de Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Orestes Mas" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "orestes@tsc.upc.edu" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Dorsals disponibles:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Modes disponibles:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Complements" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Més..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Aplica els canvis" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, fuzzy, kde-format +#| msgid "Add a new %1 repository" +msgid "Add New %1 Repository" +msgstr "Afig un repositori nou %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Afig" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Cancel·la" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 valoració" +msgstr[1] "%1 valoracions" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Encara no hi ha cap valoració" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Fonts" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Novetats" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Comentaris" + +#: discover/qml/ApplicationPage.qml:245 +#, fuzzy, kde-format +#| msgid "Show %1 review..." +#| msgid_plural "Show all %1 reviews..." +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:257 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write a Review" +msgstr "Escriviu un comentari!" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Install this app to write a review!" +msgid "Install to Write a Review" +msgstr "Instal·leu aquesta aplicació per a escriure un comentari" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Categoria:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, publicat el %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versió:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Mida:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Font:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Llicència:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, fuzzy, kde-format +#| msgid "Report a Problem:" +msgid "Report a problem" +msgstr "Informeu d'un problema:" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Busca: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Ordena: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nom" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Valoració" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Mida" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Data de publicació" + +#: discover/qml/ApplicationsListPage.qml:138 +#, fuzzy, kde-format +#| msgid "Sorry, nothing found..." +msgid "Sorry, nothing found" +msgstr "No s'ha trobat res..." + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Encara s'està buscant..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Cal destacar" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "S'està carregant..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"No es poden carregar les aplicacions .Comproveu la connectivitat amb " +"Internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Retorna a la pàgina «Cal destacar»" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Busca" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Instal·lat" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Fetching Updates..." +msgid "Fetching updates..." +msgstr "S'estan recuperant les actualitzacions..." + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Up to Date" +msgid "Up to date" +msgstr "Última versió" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualitza (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Quant a" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Disculpeu..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "No s'ha pogut tancar el Discover, hi ha tasques que cal fer." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Ix igualment" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "No s'ha pogut trobar el recurs: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Continua" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, fuzzy, kde-format +#| msgid "More Information..." +msgid "Submitting usage information..." +msgstr "Més informació..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Contribute..." +msgstr "Més..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: 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/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Recursos per a «%1»" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Extensions..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tasques (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Tasques" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, fuzzy, kde-format +#| msgid "Version:" +msgid "Version: %1" +msgstr "Versió:" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "revisor desconegut" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 per %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Comentari de %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Reviewing '%1'" +msgid "Reviewing %1" +msgstr "S'està comentant «%1»" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Valoració:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Nom" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Títol:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Introduïu una valoració" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Write a title" +msgid "Write the title" +msgstr "Escriviu un títol" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write the review" +msgstr "Escriviu un comentari!" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Continueu escrivint..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Massa llarg!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Envia el comentari" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Reviewing '%1'" +msgid "Reviews for %1" +msgstr "S'està comentant «%1»" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write a Review..." +msgstr "Escriviu un comentari!" + +#: discover/qml/ReviewsPage.qml:59 +#, fuzzy, kde-format +#| msgid "Install this app to write a review!" +msgid "Install this app to write a review" +msgstr "Instal·leu aquesta aplicació per a escriure un comentari" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Busca..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Busca en «%1»..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Predeterminat)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Afig font..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Converteix en predeterminat" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "No s'ha pogut incrementar la preferència «%1»" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "NO s'ha pogut reduir la preferència «%1»" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Suprimeix l'origen" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Mostra els continguts" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Falten dorsals" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Actualitzacions" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Update Issue" +msgstr "Actualitzacions" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Actualitza els seleccionats" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Actualitza-ho tot" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Totes les actualitzacions seleccionades (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "S'ha seleccionat %1/%2 actualització (%3)" +msgstr[1] "S'han seleccionat %1/%2 actualitzacions (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Reinicia" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, fuzzy, kde-format +#| msgid "%1 → %2" +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "S'està instal·lant" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Més informació..." + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +#| msgid "Fetching Updates..." +msgctxt "@info" +msgid "Fetching updates..." +msgstr "S'estan recuperant les actualitzacions..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Actualitzacions" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Cal reiniciar el sistema per a aplicar les actualitzacions" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +#| msgid "Up to Date" +msgctxt "@info" +msgid "Up to date" +msgstr "Última versió" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Cal comprovar si hi ha actualitzacions" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ No newline at end of file diff --git a/po/cs/libdiscover.po b/po/cs/libdiscover.po new file mode 100644 index 0000000..56a8da9 --- /dev/null +++ b/po/cs/libdiscover.po @@ -0,0 +1,1605 @@ +# 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, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-17 12:20+0200\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 20.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Vít Pelčák" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "vit@pelcak.org" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Proprietární" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Testovací kategorie" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "falešný" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "falešné moduly" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "falešný 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "falešný 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "falešný 4" + +#: 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" + +#: 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í" + +#: 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í" + +#: 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" + +#: 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í" + +#: 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í" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: 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" + +#: 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í" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chemie" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Technika" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fyzika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Hry" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzle" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulace" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sporty" + +#: 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í" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Kreslení" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografie" + +#: 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í" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chat" + +#: 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ů" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kancelář" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Neplatná URL appstream '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Neznámý" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Získávám informace o velikosti" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Neznámá velikost" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Přidat Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Nelze přidat zdroj %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Odstraňuji '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Odebrání %1 vzdáleného zdroje selhalo:%2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Nelze najít %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Projít si EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Aplikace" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Doplňky Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Doplňky aplikací" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Neplatné URL KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Spustit" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Použít" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Doplňky Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Widgety pro Plasmu" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Písma" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Nedostatek paměti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Není dostupné internetové připojení" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operace není podporována" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Vnitřní chyba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Selhání GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Neplatné ID balíčku" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Balíček není nainstalován" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Balíček nebyl nalezen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Balíček je již nainstalován" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Stažení balíčku bylo neúspěšné" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Skupina balíčků nebyla nalezena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Seznam skupin balíčků je neplatný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Řešení závislostí bylo neúspěšné" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Neplatný filtr" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Selhalo vytváření vlákna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Chyba přenosu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Přenos byl zrušen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Repozitář nelze najít" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Démon PackageKit spadl" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Chyba inicializace" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Nelze získat zámek" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Žádný balíček k aktualizaci" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Nelze zapsat nastavení repozitáře" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Lokální instalace selhala" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Byl nalezen špatný podpis GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Žádný podpis GPG nebyl nalezen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Nelze nainstalovat zdrojový balíček" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Chyba nastavení repozitáře" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Chybí licenční ujednání" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Nalezeny konflikty souborů" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Nalezen konflikt balíčků" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Repozitář je nedostupný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Neplatný balíček" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Instalace balíčku zablokována" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Byl nalezen poškozený balíček" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Všechny balíčky jsou již nainstalovány" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Soubor nenalezen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Není k dispozici více zrcadel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Chybí data pro aktualizaci distribuce" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Nekompatibilní architektura" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Na zařízení není volné místo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Je vyžadována změna média" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "Aktualizace nenalezena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Nelze instalovat s nepodepsaného repozitáře" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Nelze aktualizovat s nepodepsaného repozitáře" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Nelze získat seznam souborů" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Není možné získat požadavky" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Repozitář nelze vypnout" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Nastavení balíčku selhalo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Sestavení balíčku selhalo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Instalace balíčku selhala" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Odstranění balíčku selhalo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Aktualizace selhala kvůli běžícím procesům" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Databáze balíčků byla změněna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Poskytnutý typ není podporován" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Instalační kořen je neplatný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Nelze stáhnout zdroje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Nedokončená transakce" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Je vyžadován zámek" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Neznámá chyba %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Čeká se..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Nastavení..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Zpracovávám..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Odstranit..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Stahuji..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Instaluje se..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Aktualizuji..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Čistí se..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Probíhá řešení závislostí..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Kontrolují se podpisy..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Zasílám..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Dokončeno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Zrušeno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Čeká se na zámek..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Čeká se na udělení oprávnění..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Kopíruji soubory..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Neznámý stav" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Neznámý stav %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabilní" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Nestabilní" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testovací" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Otevřít Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Opravit systém" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Oprava selhala" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Prosím nahlaste svoji distribuci: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 balíček byl úspěšně aktualizován" +msgstr[1] "%1 balíčky byly úspěšně aktualizovány" +msgstr[2] "%1 balíčků bylo úspěšně aktualizováno" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Zastarává:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Poznámky k vydání:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Aktualizovat stav:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Restartovat:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Dodavatel:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL repozitáře:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Balíčky k odstranění" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" +"Následující balíčky budou aktualizací odstraněny:
      • %1

      kvůli instalaci:
      • %2
      " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Pro dokončení aktualizace je potřeba restartovat počítač" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Přijmout EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Chybějící podpis pro %1 v %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Potvrdit odstranění balíčku" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Přichytávat" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Poškozené" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Dostupné" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Nainstalováno" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Aktualizovatelné" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Zkontrolovat aktualizace" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Prohlédnout aktualizace" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Spouštím" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Čeká se" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Stahuje se" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instaluje se" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Odstraňuje se" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Měním doplňky" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Hotovo" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Selhal" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Zrušeno" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Aktualizace aplikací" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Aktualizace systému" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Doplňky" \ 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..3aafa8a --- /dev/null +++ b/po/cs/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# 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, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-30 09:40+0200\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 20.04.2\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Prohlédnout aktualizace" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Jsou dostupné bezpečnostní aktualizace" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Jsou dostupné aktualizace" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Systém je aktuální" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Je potřeba restartovat počítač" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Odpojen" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Restartovat" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Je vyžadován restart" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Aktualizovat" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Dostupná aktualizace distribuce" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nová verze: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Vývojový tým Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Vít Pelčák" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "vit@pelcak.org" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Nahradit existující instanci" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Nezobrazovat upozornění" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "skryté" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Aktualizace" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Otevřít Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Přehled aktualizací..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Obnovit..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Kliknutím restartovat počítač" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Restartovat..." \ 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..7a984eb --- /dev/null +++ b/po/cs/plasma-discover.po @@ -0,0 +1,804 @@ +# 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, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-17 12:20+0200\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 20.08.1\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Nelze nalézt kategorii '%1'" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Nelze otevřít %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "Vypsat všechny dostupné režimy." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Lokální soubor s balíčkem k instalaci" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Vypsat všechny dostupné podpůrné vrstvy." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Řetězec pro hledání." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Seznam dostupných voleb pro uživatelskou zpětnou vazbu" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Prohlížeč aplikací" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Vývojový tým Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Zajištění kvality, návrh a použitelnost" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Vít Pelčák" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "vit@pelcak.org" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Dostupné podpůrné vrstvy:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Dostupné režimy:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Doplňky" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Více..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Provést změny" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Obnovit" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Přidat nový repozitář %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Přidat" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Zrušit" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, 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:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Zatím žádná hodnocení" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Zdroje" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Co je nového" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Recenze" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Zobrazit %1 hodnocení..." +msgstr[1] "Zobrazit všechna %1 hodnocení..." +msgstr[2] "Zobrazit všech %1 hodnocení..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Napište hodnocení..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategorie:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, vydáno %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Verze:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Velikost:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Zdroj:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licence:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Dokumentace:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Přidejte se:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Sponzorovat" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Nahlaste problém" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Hledat: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Seřadit: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Název" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Hodnocení" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Velikost" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Datum vydání" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Bohužel, nic nebylo nalezeno" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Stále hledám..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Probíhá načítání..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Hledat" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Nainstalováno" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Získávají se aktualizace..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Aktuální" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Aktualizovat (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "O aplikaci" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Nastavení" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Lituji..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Přesto ukončit" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Nelze najít zdroj: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Pokračovat" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Odeslat informace o použití" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Odesílám informace o použití..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Nastavit" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Nastavit zpětnou vazbu..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Přispívejte..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Přidejte se..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalovat" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Odstranit" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Zdroje pro '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Rozšíření..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Úkoly (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Úkoly" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Verze: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "neznámý kontrolor" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 od %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Komentář od %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Užitečné?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Ano" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Ne" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Stahuji %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Hodnocení:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Název:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Název:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Zadejte hodnocení" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Napište titulek" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Napište hodnocení" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Pokračujte ve psaní..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Příliš dlouhé" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Odeslat recenzi" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Hodnocení pro %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Napište hodnocení..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Hledat..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Hledat v '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Výchozí)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Přidat zdroj..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Nastavit jako výchozí" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Zvýšení předvolby '%1' selhalo" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Snížení předvolby '%1' selhalo" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Smazat původ" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Zobrazit obsah" + +#: discover/qml/SourcesPage.qml:239 +#, 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:41 +#, kde-format +msgid "Update Issue" +msgstr "Problém aktualizace" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Aktualizovat vybrané" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Aktualizovat vše" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Všechny aktualizace byly vybrány (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Vybrána %1/%2 aktualizace (%3)" +msgstr[1] "Vybrány %1/%2 aktualizace (%3)" +msgstr[2] "Vybráno %1/%2 aktualizací (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Restartovat" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Aktualizovat na verzi %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Instaluje se" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Více informací..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Získávají se aktualizace..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Aktualizace" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Pro projevení změn je potřeba restartovat systém" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Aktuální" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Měli byste zkontrolovat aktualizace" + +#: discover/qml/UpdatesPage.qml:408 +#, 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í" \ No newline at end of file diff --git a/po/da/libdiscover.po b/po/da/libdiscover.po new file mode 100644 index 0000000..0774fce --- /dev/null +++ b/po/da/libdiscover.po @@ -0,0 +1,1622 @@ +# 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, 2019, 2020. +# scootergrisen, 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-10-04 16:58+0200\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 20.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Martin Schlander" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mschlander@opensuse.org" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Proprietært" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Fejl under hentning af anmeldelser: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Fejl under indsendelse af brugbarhed: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Fejl under indsendelse af anmeldelse: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Attrapkategori" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "attrap" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "attrap-tilføjelser" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "attrap 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "attrap med ting og sager" + +#: 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" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "attrap 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "attrap 4" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalisering" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilering" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Uddannelse" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kemi" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronik" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fysik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Spil" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkade" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Logik" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulatorer" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Handling" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatorer" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Tegning" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Foto" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicering" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Fremvisere" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chat" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedie" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kontor" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Lokalt bundt" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Defekt appstream-URL \"%1\"" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Ukendt" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Henter information om størrelse" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Ukendt størrelse" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 på disken" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Tilføj Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Kunne ikke tilføje kilden %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Fjerner \"%1\"" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" +"For at fjerne denne softwarekilde, skal de følgende programmer afinstalleres:" +"
      • %1
      " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Kunne ikke fjerne %1 ekstern softwarekilde: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Kunne ikke finde %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Angiv URI til Flatpak-softwarekilde (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Tilføjer ekstern \"%1\" i %2 fra %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Gennemse slutbrugerlicens" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "%1-motoren tog for lang tid at initialisere" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Programmer" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma-tilføjelser" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Programtilføjelser" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Netværksfejl i motoren %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"For mange anmodninger sendt til serveren for motoren %1. Prøv igen om et par " +"minutter." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Ugyldig %1-motor, kontakt din distribution." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Kunne ikke hente skærmbillede for indgangen %1 i motoren %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Ukendt fejl i motoren %1. Kontakt din distribution." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Forkert KNewStuff-URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Kør" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Brug" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Login-information for %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Kan ikke starte %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma-tilføjelser" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma-widgets" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Skrifttyper" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Ikke mere hukommelse" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Ingen netværksforbindelse tilgængelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Handling er ikke understøttet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Intern fejl" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG-fejl" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Pakke-id ugyldigt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Pakken er ikke installeret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Pakke ikke fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Pakken er allerede installeret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Download af pakken mislykkedes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Pakkegruppen kunne ikke findes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Pakkegruppe-listen er ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Afhængighedsløsning mislykkedes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Ugyldigt filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Fejl under oprettelse af tråd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Transaktionsfejl" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaktion annulleret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Ingen cache tilgængelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Kan ikke finde softwarekilde" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Kan ikke fjerne systempakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Pakkedatabasen blev ændret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Initialiseringsfejl" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Kunne ikke afslutte transaktion" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Fortolkning af konfiguration mislykkedes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Kan ikke annullere transaktionen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kan ikke hente lås" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Ingen pakker til opdatering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Kan ikke skrive konfiguration af softwarekilde" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Lokal installation mislykkedes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Dårlig GPG-signatur fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Ingen GPG-signatur fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Kan ikke installere kildepakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Fejl i konfiguration af softwarekilde" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Ingen licensaftale" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Filkonflikter fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Pakkekonflikt fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Softwarekilde ikke tilgængelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Ugyldig pakkefil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Pakkeinstallation blokeret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Defekt pakke fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Alle pakker er allerede installeret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Fil ikke fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Ikke flere spejle tilgængelige" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ingen distributionsopgradering tilgængelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Inkompatibel arkitektur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Ingen plads tilbage på enheden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Medieskift kræves" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Opdatering ikke fundet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Kan ikke installere fra ikke-signeret softwarekilde" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Kan ikke opdatere fra ikke-signeret softwarekilde" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Kan ikke helte filliste" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Kan ikke hente påkrævede" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Kan ikke deaktivere softwarekilde" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Indskrænket download detekteret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Pakken kunne ikke konfigurere" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Pakken kunne ikke bygges" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Pakken kunne ikke installeres" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Pakken kunne ikke fjernes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Opdatering mislykkedes pga. kørende proces" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Pakkedatabasen blev ændret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Den angivne type er ikke understøttet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Installationsroden er ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Kan ikke hente kildekode" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Annullerede prioritet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Ikke gennemført transaktion" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Lås påkrævet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Ukendt fejl %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "En ændring af \"%1\" anmoder om at systemet genstartes." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Programmet skal genstartes." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sessionen skal genstartes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Systemet skal genstartes." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Venter..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Genopfrisker cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Opsætning..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Behandler..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Fjern..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Downloader..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Installerer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Opdaterer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Rydder op..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Løser afhængigheder..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Kontrollerer signaturer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Testudførsel..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Udfører..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Færdig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Annulleret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Venter på lås..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Afventer godkendelse..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Kopierer filer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Ukendt status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Vi venter på noget." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Opsætning af transaktion..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transaktionen arbejder i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transaktionen fjerner pakker i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transaktionen downloader pakker i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transaktionerne installerer pakker i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transaktionen opdaterer pakker i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transaktionen rydder op i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transaktionen er færdig!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transaktionen blev annulleret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transaktionen venter i øjeblikket på låsen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Venter på at brugeren skal godkende transaktionen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transaktionen kopierer filer i øjeblikket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Opdaterer i øjeblikket softwarekilde-cachen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Ukendt status %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ustabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Under test" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Offline opdateringer" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Kunne ikke opdatere %1 pakke\n" +"%2" +msgstr[1] "" +"Kunne ikke opdatere %1 pakker\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Åbn Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Reparér system" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Reparation mislykkedes" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Rapportér venligst dette til din distribution: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 pakke opdateret" +msgstr[1] "%1 pakker opdateret" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Forældede:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Udgivelsesnoter:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Opdateringstilstand:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Genstart:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Leverandør:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "Softwarekildens URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Pakker der skal fjernes" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" +"Følgende pakker vil blive fjernet af opdateringen:
      • %1

      for at installere:
      • %2
      " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Genstart computeren for at færdiggøre opdateringen" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Acceptér EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Mangler signatur for %1 i %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Bekræft fjernelse af pakke" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Defekt" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Tilgængelige" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Installeret" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Kan opgraderes" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Tjek efter opdateringer" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Vis opdateringer" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Starter" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Venter" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Downloader" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installerer" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Fjerner" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Skifter tilføjelser" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Færdig" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Mislykkedes" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Annulleret" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Programopdateringer" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Systemopdateringer" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Tilføjelser" \ 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..1f38fca --- /dev/null +++ b/po/da/plasma-discover-notifier.po @@ -0,0 +1,157 @@ +# 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-10-04 16:57+0200\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 20.04.2\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Vis opdateringer" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Sikkerhedsopdateringer tilgængelige" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Opdateringer tilgængelige" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Dit system er fuldt opdateret" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Computeren skal genstartes" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Offline" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Genstart" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Genstart nødvendig" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Systemet skal genstartes for at opdateringerne får virkning." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Opgradér" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Opgradering tilgængelig" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Ny version: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Statusikon til Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Statusikon til systemopdateringer" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Plasma-udviklingsholdet" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Martin Schlander" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mschlander@opensuse.org" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Erstat en eksisterende instans" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Vis ikke bekendtgørelse" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "skjult" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Opdateringer" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Åbn Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Se opdateringer..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Genopfrisk..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Genstart for at anvende installerede opdateringer" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Klik for at genstarte computeren" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Genstart..." \ 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..c52a71a --- /dev/null +++ b/po/da/plasma-discover.po @@ -0,0 +1,812 @@ +# 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, 2019, 2020. +# scootergrisen, 2017-2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-10-04 16:59+0200\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 20.04.2\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Fandt ikke nogen program-backends. Rapportér det venligst til din " +"distribution." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Kunne ikke finde kategorien \"%1\"" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Kan ikke virke sammen med flatpak-ressourcer uden flatpak-backenden %1. " +"Installér den venligst først." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Kunne ikke åbne %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Åbn det angivne program direkte ved dets appstream://-URI." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Åbn med en søgning efter programmer som kan håndtere den givne MIME-type." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Vis en liste over indgange med en kategori." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Oplist alle tilgængelige tilstande." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompakt tilstand (auto/kompakt/fuld)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Lokal pakkefil der skal installeres" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Oplist alle tilgængelige backends." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Søg efter streng." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Oplister de tilgængelige indstillinger for brugerfeedback" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Understøtter appstream: URL-skema" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Opdagelse af programmer" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Plasma-udviklingsholdet" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Kvalitetssikring, design og brugervenlighed" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Martin Schlander,scootergrisen" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "mschlander@opensuse.org,dansk@dansk-gruppen.dk" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Tilgængelige backends:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Tilgængelige tilstande:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Tilføjelser" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Mere..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Anvend ændringer" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Nulstil" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Tilføj ny %1-softwarekilde" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Tilføj" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Annullér" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 vurdering" +msgstr[1] "%1 vurderinger" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Ingen vurdering endnu" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Kilder" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Hvad er nyt" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Anmeldelser" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Vis %1 anmeldelse..." +msgstr[1] "Vis alle %1 anmeldelser..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Skriv en anmeldelse" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Installér for at skrive en anmeldelse" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategorier:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, udgivet %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Version:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Forfatter:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Størrelse:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Kilde:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licens:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Se de fulde licensbetingelser" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Dokumentation:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Læs brugsvejledningen" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Bliv involveret:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Besøg programmets webside" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Giv et bidrag" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Rapportér et problem" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Søg: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Sortering: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Navn" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Karakter" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Størrelse" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Udgivelsesdato" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Beklager, fandt ikke noget" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Søger stadig..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Udvalgte" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Indlæser..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Kan ikke indlæse programmer.Kontrollér at der er internetforbindelse." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Gå tilbage til hovedsiden" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Søg" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Installeret" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Henter opdateringer..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Opdateret" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Opdatér (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Om" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Indstillinger" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Beklager..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Kunne ikke lukke Discover, der er opgaver der skal udføres." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Afslut alligevel" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Kan ikke finde ressourcen: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Fortsæt" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Indsend brugsinformation" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Sender anonymiseret brugsinformation til KDE, så vi bedre kan forstå vores " +"brugere. Se https://kde.org/privacypolicy-apps.php for mere information." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Indsender brugsinformation..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Indstil" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Indstil feedback..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Du kan hjælpe os med at forbedre dette program ved at dele statistik og " +"deltage i undersøgelser." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Bidrag..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Vi ser frem til at modtage din feedback!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Deltag..." + +#: 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/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ressourcer til \"%1\"" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Udvidelser..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Opgaver (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Opgaver" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Version: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "ukendt kontrollant" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 af %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Kommentar af %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Stemmer: %1 ud af %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Nyttigt?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Ja" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Nej" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Anmelder %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Karakter:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Navn:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Titel:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Angiv en vurdering" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Skriv titlen" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Skriv anmeldelsen" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Bliv ved med at skrive..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "For lang!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Indsend anmeldelse" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Anmeldelser af %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Skriv en anmeldelse..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Installér programmet for at skrive en anmeldelse" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Søg..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Søg i \"%1\"..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (standard)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Tilføj kilde..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Gør standard" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Kunne ikke forøge præferencen for \"%1\"" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Kunne ikke formindske præferencen for \"%1\"" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Slet oprindelse" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Vis indhold" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Manglende motorer" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Opdateringer" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Opdateringsproblem" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "O.k." + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Opdatér markerede" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Opdatér alle" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Alle valgte opdateringer (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 valgt opdatering (%3)" +msgstr[1] "%1/%2 valgte opdateringer (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Genstart" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Opdatér til version %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Installerer" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Mere information..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Henter opdateringer..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Opdateringer" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Systemet kræver genstart for at anvende opdateringer" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Opdateret" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Skal søge efter opdateringer" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Det er uvist hvornår seneste søgning efter opdateringer fandt sted" \ No newline at end of file diff --git a/po/de/libdiscover.po b/po/de/libdiscover.po new file mode 100644 index 0000000..cb633f7 --- /dev/null +++ b/po/de/libdiscover.po @@ -0,0 +1,1636 @@ +# Panagiotis Papadopoulos , 2010. +# Jonathan Raphael Joachim Kolberg , 2010. +# Frederik Schwarzer , 2010, 2011, 2015, 2016, 2018, 2020. +# Burkhard Lück , 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-10-18 14:36+0200\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 19.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Panagiotis Papadopoulos,Jonathan Kolberg" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pano_90@gmx.net,bulldog98@kubuntu-de.org" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Proprietär" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Bewertungen können nicht geholt werden: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Hilfreich-Bewertung kann nicht gesendet werden: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Bewertung kann nicht gesendet werden: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Dummy-Kategorie" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "Dummy" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "Dummy-Erweiterungen" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "Dummy 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "Dummy mit Sachen" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "Dummy mit vielen Sachen" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "Dummy 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "Dummy 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Dienstprogramme" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Zugangshilfen" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Fehlersuche" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Entwicklungsumgebungen" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalisierung" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profiling" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Lernprogramme" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chemie" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Ingenieurwesen" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Mathematik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Physik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Spiele" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzle" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulation" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Aktion" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatoren" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Zeichnen" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografie" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Dateibetrachter" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chat" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Lokales Paket" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Ungültige Appstream Adresse „%1“" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Unbekannt" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Größeninformation wird abgeholt" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Unbekannte Größe" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 auf der Festplatte" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Flathub hinzufügen" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Die Quelle %1 kann nicht hinzugefügt werden" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "„%1“ wird entfernt" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" +"Um diese Paketquelle zu entfernen, müssen folgende Programme deinstalliert " +"werden:
      • %1
      " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Das Entfernen des entfernten Archivs %1 ist fehlgeschlagen: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "%1 wurde nicht gefunden" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Geben Sie die URI eines Flatpak-Repository (*.flatpakrepo) ein:" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Das Backend %1 braucht zu lange zur Initialisierung" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Anwendungen" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma-Erweiterungen" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Erweiterungen für Anwendungen" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Netzwerkfehler im Backend %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Zu viele Anfragen zum Server für Backend %1. Bitte versuchen Sie es in " +"einigen Minuten erneut." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Ungültiges %1-Backend. Bitte kontaktieren Sie Ihren Distributor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" +"Das Bildschirmfoto für den Eintrag %1 im Backend %2 kann nicht geholt werden" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Unbehandelter Fehler im Backend %1. Bitte kontaktieren Sie Ihren Distributor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Falsche KNewStuff-URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Starten" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Verwenden" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Anmeldungsinformationen für %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "%1 kann nicht gestartet werden" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma-Erweiterungen" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma-Miniprogramme" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Schriftarten" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Nicht genügend Speicher" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Keine Netzwerkverbindung verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operation nicht unterstützt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Interner Fehler" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG-Fehler" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Die Paket-Kennung ist ungültig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Das Paket ist nicht installiert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Das Paket wurde nicht gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Das Paket ist bereits installiert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Herunterladen des Pakets fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Die Paketgruppe wurde nicht gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Die Paketgruppenliste ist ungültig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Auflösung der Abhängigkeit fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Ungültiger Filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Fehler beim Erstellen eines Threads" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Fehlerhafter Vorgang" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Vorgang abgebrochen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Kein Zwischenspeicher verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Die Paketquelle wurde nicht gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Systempaket kann nicht entfernt werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Der PackageKit-Dienst ist abgestürzt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Die Initialisierung ist fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Vorgang kann nicht abgeschlossen werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Das Einlesen der Einstellungen ist fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Abbruch des Vorgangs ist nicht möglich" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Sperrung nicht möglich" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Keine Pakete für Aktualisierung verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Die Einstellungen für die Paketquelle können nicht geschrieben werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Lokale Installation fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Ungültige GPG-Signatur gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Keine GPG-Signatur gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Das Quelltextpaket kann nicht installiert werden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Einrichtungsfehler der Paketquelle" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Keine Lizenzvereinbarung" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Es ist ein Datei-Konflikt aufgetreten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Es ist ein Paket-Konflikt aufgetreten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Die Paketquelle ist nicht verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Ungültige Paketdatei" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Installation des Pakets blockiert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Es wurde ein fehlerhaftes Paket gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Alle Pakete sind bereits installiert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Datei nicht gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Keine weiteren Spiegelserver verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Es sind keine Daten für eine Distributionsaktualisierung verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Die Rechner-Architektur ist nicht kompatibel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Auf dem Gerät ist kein Speicherplatz mehr verfügbar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Ein Wechsel des Mediums ist erforderlich" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Aktualisierung wurde nicht gefunden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, 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:120 +#, 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:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Die Dateiliste kann nicht bezogen werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Die Abhängigkeiten können nicht bezogen werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Die Paketquelle kann nicht deaktiviert werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Eingeschränktes Herunterladen wurde erkannt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Das Konfigurieren des Pakets ist fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Das Kompilieren des Pakets ist fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Das Installieren des Pakets ist fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Das Entfernen des Pakets ist fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Die Aktualisierung ist wegen laufender Prozesse fehlgeschlagen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Die Paketdatenbank ist geändert worden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Der bereitgestellte Typ wird nicht unterstützt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Die Installationsbasis ist ungültig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Abholen der Quellen nicht möglich" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Priorität abgebrochen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Nicht beendeter Vorgang" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Sperre erforderlich" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Unbekannter Fehler %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Eine Änderung durch „%1“ empfiehlt den neuen Start des Rechners." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Die Anwendung muss neu gestartet werden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Die Sitzung muss neu gestartet werden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Das System muss neu gestartet werden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Warten ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Zwischenspeicher wird aktualisiert ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Einrichtung ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Verarbeitung läuft ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Entfernen ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Herunterladen ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Wird installiert ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Aktualisierung ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Aufräumen ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Abhängigkeiten werden aufgelöst ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Signaturen werden überprüft ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Einspielen wird getestet ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Wird eingespielt ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Abgeschlossen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Abgebrochen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Es wird auf Sperre gewartet ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Autorisierung wird erwartet ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Dateien werden kopiert ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Unbekannter Status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Es wird gewartet." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Einrichten des Vorgangs ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Der Vorgang läuft gerade ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Der Vorgang entfernt zurzeit Pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Der Vorgang lädt zurzeit Pakete herunter ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Der Vorgang installiert zurzeit Pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Der Vorgang aktualisiert zurzeit Pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Der Vorgang räumt zurzeit auf ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Der Vorgang wurde abgeschlossen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Der Vorgang wurde abgebrochen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Der Vorgang wartet zurzeit auf eine Sperre ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Der Vorgang kopiert zurzeit Dateien ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Der Paketquellen-Zwischenspeicher wird aktualisiert ...1" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Unbekannter Status %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Unstable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testing" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Offline-Aktualisierungen" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Die Aktualisierung von %1 Paket ist fehlgeschlagen\n" +"%2" +msgstr[1] "" +"Die Aktualisierung von %1 Paketen ist fehlgeschlagen\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Discover öffnen" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "System aktualisieren" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Reparatur fehlgeschlagen" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Berichten Sie bitte diesen Fehler an Ihre Distribution: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 Paket erfolgreich aktualisiert" +msgstr[1] "%1 Pakete erfolgreich aktualisiert" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Veraltete Pakete:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Hinweise zur Veröffentlichung" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Aktualisierungsstatus:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Neustart:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Hersteller:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "Paketquellen-Adresse:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Zu entfernende Pakete" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" +"Die folgenden Pakete werden bei dieser Aktualisierung entfernt:
      • %1

      um diese Paket zu installieren:\n" +"
      • %2
      " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Starten Sie bitte den Rechner neu, um die Aktualisierung abzuschließen" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "EULA (Endbenutzer-Lizenzvereinbarung) akzeptieren" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Fehlende Signatur für %1 in %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Entfernen des Pakets bestätigen" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Defekt" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Verfügbar" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Installiert" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Aktualisierbar" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Auf Aktualisierungen prüfen" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Aktualisierungen ansehen" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Startvorgang" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Wartend" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Wird heruntergeladen" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Wird installiert" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Wird entfernt" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Erweiterungen werden geändert" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Abgeschlossen" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Fehlgeschlagen" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Abgebrochen" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Programm-Aktualisierungen" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "System-Aktualisierungen" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Erweiterungen" \ 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..05f975a --- /dev/null +++ b/po/de/plasma-discover-notifier.po @@ -0,0 +1,157 @@ +# Burkhard Lück , 2015, 2018, 2019, 2020. +# Frederik Schwarzer , 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-09-22 12:59+0200\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 19.04.3\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Aktualisierungen ansehen" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Sicherheitskritische Aktualisierungen sind verfügbar" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Verfügbare Aktualisierungen" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Das System ist auf dem neusten Stand" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Der Rechner muss neu gestartet werden" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Offline" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Neu starten" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Ein Neustart ist erforderlich" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Aktualisieren" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Paketaktualisierung verfügbar" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Neue Version: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Discover-Benachrichtigungen" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Statusbenachrichtigungen für Systemaktualisierungen" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "Copyright © 2010-2019 Plasma-Entwicklerteam" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzerteam" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Eine bestehende Instanz ersetzen" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Benachrichtigungen nicht anzeigen" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "Ausgeblendet" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Aktualisierungen" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Discover öffnen ..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Aktualisierungen ansehen ..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Aktualisieren ..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Neustart um die installierten Aktualisierungen zu verwenden" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Klicken Sie, um den Rechner neu zu starten" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Neu starten ..." \ 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..f245c11 --- /dev/null +++ b/po/de/plasma-discover.po @@ -0,0 +1,817 @@ +# Frederik Schwarzer , 2012, 2013, 2015, 2016, 2018, 2020. +# Burkhard Lück , 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-28 04:59+0200\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 19.04.3\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Es wurden keine Anwendungs-Backends gefunden, berichten Sie bitte diesen " +"Fehler an Ihre Distribution" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Die Kategorie „%1“ wurde nicht gefunden" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "„%1“ kann nicht geöffnet werden" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Öffnet die angegebene Anwendung direkt über die appstream:// URI." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Mit einer Suche nach Programmen öffnen, die den angegebenen Mime-Typ " +"verarbeiten können." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Zeigt eine Liste von Einträgen mit einer Kategorie." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Alle verfügbaren Modi anzeigen." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompakter Modus (Auto/Kompakt/Voll)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Zu installierende lokale Paketdatei" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Zeigt alle verfügbaren Backends." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Suchmuster." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Zeigt die verfügbaren Einstellungen zum Benutzer-Feedback an" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Unterstützt Appstream: Adressschema" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Ein Programm, um Anwendungen zu finden" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "Copyright © 2010-2020 Plasma-Entwicklerteam" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Qualitätssicherung, Design, Benutzerfreundlichkeit" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzerteam" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Verfügbare Backends:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Verfügbare Modi:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Erweiterungen" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Weitere ..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Änderungen anwenden" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Zurücksetzen" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Neue Paketquelle %1 hinzufügen" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Hinzufügen" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Abbrechen" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 Bewertung" +msgstr[1] "%1 Bewertungen" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Noch keine Bewertungen" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Quellen" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Was ist neu?" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Bewertungen" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, kde-format +msgid "Write a Review" +msgstr "Schreiben Sie eine Bewertung" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Installieren, um eine Bewertung zu schreiben" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategorie:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, veröffentlicht am %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Version:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Größe:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Quelle:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Lizenz:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Vollständige Lizenzvereinbarung anzeigen" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Dokumentation:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Das Benutzerhandbuch lesen" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Bringen Sie sich ein:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Die Webseite der Anwendung besuchen" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Etwas spenden" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Problembericht senden" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Suchen : %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Sortieren: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Name" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Bewertung" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Größe" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Freigabedatum" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Leider wurde nichts gefunden" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Suchen ..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Empfehlung" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Wird geladen ..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Anwendung kann nicht geladen werden.Bitte überprüfen Sie die " +"Internetverbindung." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Zurück zur Empfehlungsseite" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Suchen" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Installiert" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Aktualisierungen werden geholt ..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Aktuell" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Aktualisierung (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Über" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Einstellungen" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Fehler ..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" +"Discover kann nicht geschlossen werden, da noch Aufgaben abgeschlossen " +"werden müssen." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Trotzdem beenden" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Ressource %1 wurde nicht gefunden" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Fortfahren" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Nutzungsstatistiken übermitteln" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Nutzungsstatistiken werden übermittelt ..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Einrichten" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Feedback einrichten ..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Mitmachen ..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Mitmachen ..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installieren" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Entfernen" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ressourcen für „%1“" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Erweiterungen ..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Aufgaben (%1 %)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Aufgaben" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Version: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "Unbekannter Rezensent" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 von %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Kommentar von %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Stimmen: %1 von %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Hilfreich?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Ja" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Nein" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "%1 bewerten" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Bewertung:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Name:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Titel:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Geben Sie eine Bewertung ein" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Titel eingeben" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Bewertung schreiben" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Schreiben Sie mehr ..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Zu lang." + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Bewertung absenden" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Bewertungen für „%1“" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Schreiben Sie eine Bewertung ..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Installieren Sie diese Anwendung, um eine Bewertung zu schreiben" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Suchen ..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Suchen in „%1“ ..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Standard)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Quelle hinzufügen ..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Als Standard setzen" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Präferenz für „%1“ kann nicht erhöht werden" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Präferenz für „%1“ kann nicht verringert werden" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Paketquelle löschen" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Inhalt anzeigen" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Fehlende Backends" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Aktualisierungen" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Aktualisierungs-Problem" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Aktualisierung ausgewählt" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Alles aktualisieren" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Alle Aktualisierungen (%1) ausgewählt" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 Aktualisierung ausgewählt (%3)" +msgstr[1] "%1/%2 Aktualisierungen ausgewählt (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Neu starten" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Aktualisierung auf Version %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "-Installation" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Weitere Informationen ..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Aktualisierungen werden geholt ..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Aktualisierungen" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "" +"Ein Neustart des Systems ist erforderlich, damit die Aktualisierungen " +"verwendet werden" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Aktuell" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Soll auf Aktualisierungen prüfen" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ No newline at end of file diff --git a/po/el/libdiscover.po b/po/el/libdiscover.po new file mode 100644 index 0000000..1eda156 --- /dev/null +++ b/po/el/libdiscover.po @@ -0,0 +1,1678 @@ +# # 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Επιτραπέζια" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Proprietary" +msgid "Proprietary" +msgstr "Ιδιοταγές" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Πλασματική κατηγορία" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "πλασματικό" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "πλασματικά πρόσθετα" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "πλασματικό 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "πλασματικό με περιεχόμενο" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "πλασματικό με αρκετό περιεχόμενο" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "πλασματικό 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "πλασματικό 4" + +#: 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 "Εφαρμογές" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Εξαρτήματα" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Προσβασιμότητα" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Εργαλεία προγραμματιστή" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Αποσφαλμάτωση" + +#: 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 "Σχεδιασμός γραφικού περιβάλλοντος" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEs" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Τοπική προσαρμογή" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Ανάλυση επιδόσεων" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Ανάπτυξη ιστού" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Εκπαίδευση" + +#: 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 "Επιστήμη και Τεχνολογία" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Αστρονομία" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Βιολογία" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Χημεία" + +#: 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 "Πληροφορική και Ρομποτική" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Ηλεκτρονικά" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Τεχνολογία" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Γεωγραφία" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Γεωλογία" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Μαθηματικά" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Φυσική" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Παιχνίδια" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Επιτραπέζια" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Κάρτες" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Σπαζοκεφαλιές" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Παιχνίδια ρόλων" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Προσομοίωση" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Αθλητικά" + +#: 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 "Εφαρμογές" + +#: 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 "Προσομοίωση" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Γραφικά" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "Τρισδιάστατα" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Σχεδίαση" + +#: 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 "Ζωγραφική και Επεξεργασία" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Φωτογραφία" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Τυπογραφία" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Προβολείς" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Διαδίκτυο" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Συνομιλία" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Διαμοιρασμός αρχείων" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Αλληλογραφία" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Περιηγητές ιστού" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Πολυμέσα" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Γραφείο" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Ρυθμίσεις συστήματος" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Κακοδιατυπωμένο appstream url '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Άγνωστη" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "package-name (version)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Ανάκτηση πληροφοριών μεγέθους" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Άγνωστο μέγεθος" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 για λήψη, %2 στο δίσκο" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 στο δίσκο" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Αδυναμία προσθήκης της πηγής %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "Γίνεται αφαίρεση" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, fuzzy, kde-format +#| msgid "Could not add the source %1" +msgid "Could not find %1" +msgstr "Αδυναμία προσθήκης της πηγής %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, fuzzy, kde-format +#| msgid "Flatpak repository URI (*.flatpakrepo)" +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "URI αποθετηρίου Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgid "Applications" +msgstr "Εφαρμογές" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Πρόσθετα Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Πρόσθετα εφαρμογών" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Λανθασμένο KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Πληροφορίες σύνδεσης για %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Πρόσθετα Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Γραφικά συστατικά Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Γραμματοσειρές" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Βεβαιωθείτε ότι το Appstream έχει εγκατασταθεί σωστά στο σύστημά σας" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "Έλλειψη μνήμης" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Μη διαθέσιμη σύνδεση δικτύου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Μη υποστηριζόμενη λειτουργία" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Εσωτερικό σφάλμα" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Αποτυχία GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Μη έγκυρο PackageID" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Το πακέτο δεν εγκαταστάθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Το πακέτο δε βρέθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Το πακέτο είναι ήδη εγκατεστημένο" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Αποτυχία λήψης του πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Η συλλογή πακέτων δε βρέθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Μη έγκυρη λίστα συλλογής πακέτων" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Αποτυχία επίλυσης εξαρτήσεων" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Μη έγκυρο φίλτρο" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Αποτυχία κατά τη δημιουργία νήματος" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Αποτυχία συναλλαγής" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Ακύρωση συναλλαγής" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Μη διαθέσιμη λανθάνουσα μνήμη" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Αδυναμία εύρεσης αποθετηρίου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Αδυναμία αφαίρεσης πακέτου συστήματος" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Ο δαίμονας του PackageKit κατέρρευσε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Αποτυχία αρχικοποίησης" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Αποτυχία ολοκλήρωσης συναλλαγής" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Αποτυχία ανάλυσης της διαμόρφωσης" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Αδυναμία ακύρωσης συναλλαγής" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Αδυναμία κλειδώματος" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Κανένα πακέτο προς ενημέρωση" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Αδυναμία εγγραφής διαμόρφωσης αποθετηρίου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Αποτυχία τοπικής εγκατάστασης" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Βρέθηκε κακή υπογραφή GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Δε βρέθηκε υπογραφή GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Αδυναμία εγκατάστασης πηγαίου πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Σφάλμα διαμόρφωσης αποθετηρίου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Δεν υπάρχει άδεια χρήσης" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Βρέθηκαν συγκρούσεις αρχείων" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Βρέθηκε σύγκρουση πακέτων" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Μη διαθέσιμο αποθετήριο" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Μη έγκυρο αρχείο πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Φραγή εγκατάστασης πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Βρέθηκε κατεστραμμένο πακέτο" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Όλα τα πακέτα είναι ήδη εγκατεστημένα" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Το αρχείο δε βρέθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Δεν υπάρχουν άλλοι διαθέσιμοι εναλλακτικοί σύνδεσμοι" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Δεν υπάρχουν δεδομένα αναβάθμισης διανομής" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Ασύμβατη αρχιτεκτονική" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Δεν υπάρχει ελεύθερος χώρος στη συσκευή" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Απαιτείται αλλαγή μέσου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Δεν έχετε εξουσιοδότηση για να εκτελέσετε αυτή τη λειτουργία" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "Δε βρέθηκε ενημέρωση" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Αδυναμία εγκατάστασης από αποθετήριο χωρίς υπογραφή" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Αδυναμία ενημέρωσης από αποθετήριο χωρίς υπογραφή" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Αδυναμία λήψης λίστας αρχείων" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Αδυναμία λήψης απαιτούμενων" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Αδυναμία απενεργοποίησης αποθετηρίου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Ανίχνευση περιοριστικής λήψης" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Αποτυχία διαμόρφωσης του πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Αποτυχία δημιουργίας πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Αποτυχία εγκατάστασης πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Αποτυχία αφαίρεσης πακέτου" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Αποτυχία ενημέρωσης λόγω κάποιας ενεργούς διαδικασίας" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Η βάση δεδομένων των πακέτων έχει αλλάξει" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Ο τύπος που δόθηκε δεν υποστηρίζεται" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Μη έγκυρη εγκατάσταση του χρήστη root" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, fuzzy, kde-format +#| msgid "Cannot fetch sources" +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Αδυναμία ανάκτησης πηγών" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Ακύρωση προτεραιότητας" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Ανολοκλήρωτη συναλλαγή" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Απαιτείται κλείδωμα" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Άγνωστο σφάλμα %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "το '%1' άλλαξε και συνίσταται η επανεκκίνησή του." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Μια αλλαγή από το '%1' συνιστά την επανεκκίνηση της συνεδρίας σας." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"Το '%1' ενημερώθηκε για λόγους ασφαλείας, συνίσταται η επανεκκίνηση της " +"συνεδρίας." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"Το '%1' ενημερώθηκε για λόγους ασφαλείας, συνίσταται η επανεκκίνηση του " +"συστήματος." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, fuzzy, kde-format +#| msgid "A change by '%1' suggests your system to be rebooted." +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Μια αλλαγή από το '%1' συνιστά την επανεκκίνηση του συστήματός σας." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Η εφαρμογή πρέπει να επανεκκινηθεί." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Η συνεδρία πρέπει να επανεκκινηθεί" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, fuzzy, kde-format +#| msgid "The system will have to be rebooted." +msgid "The system will have to be restarted." +msgstr "Το σύστημα πρέπει να επανεκκινηθεί." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Για λόγους ασφαλείας, η συνεδρία πρέπει να επανεκκινηθεί." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Για λόγους ασφαλείας, το σύστημα πρέπει να επανεκκινηθεί." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Αναμονή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Ανανέωση λανθάνουσας μνήμης..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Ρύθμιση..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Επεξεργασία..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Αφαίρεση..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Λήψη..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Εγκατάσταση..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Ενημέρωση..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Εκκαθάριση..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Επίλυση εξαρτήσεων..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Έλεγχος υπογραφών..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Έλεγχος υποβολής..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Υποβολή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Ολοκληρώθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Ακυρώθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Αναμονή για κλείδωμα..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Αναμονή για εξουσιοδότηση..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Αντιγραφή αρχείων..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Άγνωστη κατάσταση" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Αναμονή για κάποια ενέργεια." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Ρύθμιση συναλλαγής..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Η συναλλαγή εκτελείται αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Η συναλλαγή αφαιρεί πακέτα αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Η συναλλαγή λαμβάνει πακέτα αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Η συναλλαγή εγκαθιστά πακέτα αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Η συναλλαγή ενημερώνει πακέτα αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Η συναλλαγή πραγματοποιεί εκκαθάριση αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Η συναλλαγή αυτή τη στιγμή επιλύει τις εξαρτήσεις των πακέτων που θα " +"εγκαταστήσει..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Η συναλλαγή αυτή τη στιγμή ελέγχει τις υπογραφές των πακέτων..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" +"Η συναλλαγή αυτή τη στιγμή ελέγχει την υποβολή αυτού του συνόλου πακέτων..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Η συναλλαγή αυτή τη στιγμή υποβάλει το σύνολο των πακέτων της..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Η συναλλαγή έχει ολοκληρωθεί!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Η συναλλαγή ακυρώθηκε" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Η συναλλαγή αυτή τη στιγμή αναμένει το κλείδωμα..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Αναμονή για εξουσιοδότηση της συναλλαγής από τον χρήστη..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Η συναλλαγή αντιγράφει αρχεία αυτή τη στιγμή..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Αυτή τη στιγμή ανανεώνεται η λανθάνουσα μνήμη του αποθετηρίου..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Άγνωστη κατάσταση: %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Σταθερή" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ασταθής" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Σε δοκιμή" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Application Updates" +msgid "Offline Updates" +msgstr "Ενημερώσεις εφαρμογών" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Αποτυχία λήψης %1\n" +"%2\n" +"\n" +msgstr[1] "" +"Αποτυχία λήψης %1\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Open File" +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Άνοιγμα αρχείου" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"base" +#| "\"" +#| msgid "Base System" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Βασικό σύστημα" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Failed" +msgid "Repair Failed" +msgstr "Αποτυχία" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +"Αποτυχία λήψης %1\n" +"%2\n" +"\n" +msgstr[1] "" +"Αποτυχία λήψης %1\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Ξεπερασμένα:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Κατάσταση ενημέρωσης:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Επανεκκίνηση:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Προμηθευτής:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, fuzzy, kde-format +#| msgid "Repository description:" +msgid "Repository URL:" +msgstr "Περιγραφή αποθετηρίου:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Πακέτα προς αφαίρεση" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, 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:
      • %1

      in order to install:
      • %2
      " +msgstr "" +"Τα ακόλουθα πακέτα θα αφαιρεθούν με την ενημέρωση:\n" +"%1" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Ζητήθηκε αλλαγή μέσου τύπου '%1'.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Αποδοχή EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Κατεστραμμένο" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Διαθέσιμο" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Εγκαταστάθηκε" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Αναβαθμίσιμο" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Έλεγχος ενημερώσεων" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Application Updates" +msgid "View Updates" +msgstr "Ενημερώσεις εφαρμογών" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Έναρξη" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Σε αναμονή" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Γίνεται λήψη" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Γίνεται εγκατάσταση" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Γίνεται αφαίρεση" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Γίνεται αλλαγή προσθέτων" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Ολοκληρώθηκε" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Αποτυχία" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Ακύρωση" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Ενημερώσεις εφαρμογών" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Ενημερώσεις συστήματος" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, fuzzy, kde-format +#| msgid "Plasma Addons" +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Πρόσθετα Plasma" \ 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..18ddf97 --- /dev/null +++ b/po/el/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+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:87 +#, kde-format +msgid "View Updates" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Διαθέσιμες ενημερώσεις ασφαλείας" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Διαθέσιμες ενημερώσεις" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Το σύστημα είναι ενημερωμένο" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:209 +#, fuzzy, kde-format +#| msgid "Updates available" +msgid "Upgrade available" +msgstr "Διαθέσιμες ενημερώσεις" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:38 +#, fuzzy, kde-format +#| msgid "System update available" +msgid "System update status notifier" +msgstr "Διαθέσιμη ενημέρωση συστήματος" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..fd49c4f --- /dev/null +++ b/po/el/plasma-discover.po @@ -0,0 +1,858 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Αδυναμία εύρεσης της κατηγορίας '%1'" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Αδυναμία ανοίγματος του %1" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Απευθείας άνοιγμα της σχετικής εφαρμογής με το όνομα του πακέτου της." + +#: discover/main.cpp:34 +#, fuzzy, kde-format +#| msgid "Open with a program that can deal with the given mimetype." +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Ανοίξτε το με ένα πρόγραμμα που μπορεί να χειριστεί το δοσμένο τύπο mime." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Εμφανίζει μια λίστα εγγραφών με κατηγορία." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Άνοιγμα του Discover στη δηλωθείσα λειτουργία. Οι λειτουργίες αντιστοιχούν " +"σε κουμπιά της γραμμής εργαλείων." + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "Εμφάνιση όλων των διαθέσιμων λειτουργιών." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Λειτουργία συμπτυγμένης προβολής (auto/compact/full)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Τοπικό αρχείο πακέτου για εγκατάσταση" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Εμφάνιση όλων των διαθέσιμων συστημάτων υποστήριξης." + +#: discover/main.cpp:41 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search string." +msgstr "Αναζήτηση στο '%1'..." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Υποστήριξη appstream: μορφή url " + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Ένας εξερευνητής εφαρμογών" + +#: discover/main.cpp:93 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2016 Η ομάδα ανάπτυξης του Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Διαθέσιμα συστήματα υποστήριξης:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Διαθέσιμες λειτουργίες:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Πρόσθετα" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Περισσότερα..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Εφαρμογή αλλαγών" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Πρόσθετα" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Ακύρωση" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Αξιολόγηση" +msgstr[1] "Αξιολόγηση" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Πηγές" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Κριτικές" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review" +msgstr "Αποστολή" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Install to Write a Review" +msgstr "Αποστολή" + +#: discover/qml/ApplicationPage.qml:286 +#, fuzzy, kde-format +#| msgid "Categories" +msgid "Category:" +msgstr "Κατηγορίες" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +#| msgid "Version: %1" +msgid "Version:" +msgstr "Έκδοση: %1" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size:" +msgstr "Μέγεθος: %1" + +#: discover/qml/ApplicationPage.qml:337 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Πηγές" + +#: discover/qml/ApplicationPage.qml:346 +#, fuzzy, kde-format +#| msgid "License: %1" +msgid "License:" +msgstr "Άδεια χρήσης: %1" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Αναζήτηση: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, fuzzy, kde-format +#| msgid "Sort by " +msgid "Sort: %1" +msgstr "Ταξινόμηση κατά " + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Όνομα" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Αξιολόγηση" + +#: discover/qml/ApplicationsListPage.qml:85 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size" +msgstr "Μέγεθος: %1" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, fuzzy, kde-format +#| msgid "Sorry, nothing found..." +msgid "Sorry, nothing found" +msgstr "Δυστυχώς, δε βρέθηκε τίποτα..." + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Ακόμα γίνεται αναζήτηση..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Φόρτωση..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Η εκτέλεση ως root δε συνίσταται και δε χρειάζεται." + +#: discover/qml/DiscoverWindow.qml:60 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Αναζήτηση..." + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Εγκατεστημένο" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgid "Fetching updates..." +msgstr "Ανάκτηση ενημερώσεων" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Up to date" +msgstr "Ενημέρωση" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Ενημέρωση (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Ρυθμίσεις" + +#: discover/qml/DiscoverWindow.qml:129 +#, fuzzy, kde-format +#| msgid "Short summary..." +msgid "Sorry..." +msgstr "Σύντομη περίληψη..." + +#: discover/qml/DiscoverWindow.qml:133 +#, fuzzy, kde-format +#| msgid "" +#| "Could not close the application, there are tasks that need to be done." +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" +"Αδυναμία κλεισίματος της εφαρμογής, υπάρχουν εργασίες που πρέπει να γίνουν." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Αδυναμία εύρεσης του πόρου: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, fuzzy, kde-format +#| msgid "Configure Sources..." +msgid "Configure" +msgstr "Διαμόρφωση πηγών..." + +#: discover/qml/Feedback.qml:19 +#, fuzzy, kde-format +#| msgid "Configure Sources..." +msgid "Configure feedback..." +msgstr "Διαμόρφωση πηγών..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Contribute..." +msgstr "Περισσότερα..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Εγκατάσταση" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Αφαίρεση" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Πόροι για το '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Επεκτάσεις..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Εργασίες (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Εργασίες" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, fuzzy, kde-format +#| msgid "Version: %1" +msgid "Version: %1" +msgstr "Έκδοση: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "άγνωστος αναθεωρητής" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 από %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, fuzzy, kde-format +#| msgid "Comments" +msgid "Comment by %1" +msgstr "Σχόλια" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Reviewing '%1'" +msgid "Reviewing %1" +msgstr "Κριτική '%1'" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Αξιολόγηση:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Όνομα" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the title" +msgstr "Αποστολή" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the review" +msgstr "Αποστολή" + +#: discover/qml/ReviewDialog.qml:69 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Ενημέρωση..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Αποστολή" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Ratings for %1" +msgid "Reviews for %1" +msgstr "Αξιολογήσεις για το %1" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review..." +msgstr "Αποστολή" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Αναζήτηση..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Αναζήτηση στο '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Προσθήκη πηγής" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Διαγραφή της πηγής" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Ενημερώσεις" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Update Issue" +msgstr "Ενημερώσεις" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "Εντάξει" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Ενημέρωση επιλεγμένων" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Ενημέρωση όλων" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "All updates selected (%1)" +msgstr "επιλεγμένες ενημερώσεις" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "επιλεγμένες ενημερώσεις" +msgstr[1] "επιλεγμένες ενημερώσεις" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, fuzzy, kde-format +#| msgid "(%1)" +msgid "%1" +msgstr "(%1)" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +#| msgid "Installing..." +msgid "Installing" +msgstr "Εγκατάσταση..." + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Ανάκτηση ενημερώσεων" + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Ενημερώσεις" + +#: discover/qml/UpdatesPage.qml:379 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "The system is up to date" +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Το σύστημα είναι ενημερωμένο" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Up to date" +msgstr "Ενημέρωση" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Πρέπει να γίνει έλεγχος ενημερώσεων" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..44c1e12 --- /dev/null +++ b/po/en_GB/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. +# +# Andrew Coles , 2010, 2011. +# Steve Allewell , 2014, 2015, 2016, 2017, 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-27 15:25+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 20.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Steve Allewell" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "steve.allewell@gmail.com" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Proprietary" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Error while fetching reviews: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Error while submitting usefulness: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Error while submitting review: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Dummy Category" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "dummy" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "dummy addons" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "dummy 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "dummy with stuff" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "dummy with quite some stuff" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "dummy 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "dummy 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessories" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accessibility" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Debugging" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEs" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localisation" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profiling" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Education" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomy" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biology" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chemistry" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Electronics" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Engineering" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geography" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geology" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Mathematics" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Physics" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Games" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzles" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulation" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategy" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sports" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Action" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulators" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Graphics" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Drawing" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Photography" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publishing" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Viewers" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chat" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Mail" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Office" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Local bundle" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Malformed appstream URL '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Unknown" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Retrieving size information" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Unknown size" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 on disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Add Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Could not add the source %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Removing '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Failed to remove %1 remote repository: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Could not find %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Enter a Flatpak repository URI (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Adding remote '%1' in %2 from %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Review EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Backend %1 took too long to initialise" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Applications" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma Addons" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Application Addons" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Network error in backend %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Invalid %1 backend, contact your distributor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Could not fetch screenshot for the entry %1 in backend %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Unhandled error in %1 backend. Contact your distributor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Wrong KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Launch" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Use" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Log in information for %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Cannot launch %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma Addons" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma Widgets" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fonts" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Out of memory" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "No network connection available" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operation not supported" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Internal error" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG failure" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID invalid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Package not installed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Package not found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Package is already installed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Package download failed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Package group not found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Package group list invalid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Dependency resolution failed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Filter invalid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Failed while creating a thread" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Transaction failure" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaction cancelled" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "No Cache available" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Cannot find repository" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Cannot remove system package" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "The PackageKit daemon has crashed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Initialisation failure" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Failed to finalise transaction" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Config parsing failed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Cannot cancel transaction" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Cannot obtain lock" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "No packages to update" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Cannot write repo config" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Local install failed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Bad GPG signature found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "No GPG signature found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Cannot install source package" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Repo configuration error" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "No licence agreement" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "File conflicts found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Package conflict found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Repo not available" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Invalid package file" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Package install blocked" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Corrupt package found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "All packages already installed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "File not found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "No more mirrors available" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "No distro upgrade data" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Incompatible architecture" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "No space on device left" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "A media change is required" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Update not found" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Cannot install from unsigned repo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Cannot update from unsigned repo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Cannot get file list" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Cannot get requires" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Cannot disable repository" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Restricted download detected" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Package failed to configure" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Package failed to build" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Package failed to install" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Package failed to remove" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Update failed due to running process" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "The package database changed" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "The provided type is not supported" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Install root is invalid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Cannot fetch sources" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Cancelled priority" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Unfinished transaction" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Lock required" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Unknown error %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "A change by '%1' suggests your system to be restarted." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "The application will have to be restarted." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "The session will have to be restarted" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "The system will have to be restarted." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Waiting..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Refreshing Cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Setup..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Processing..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Remove..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Downloading..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Installing..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Updating..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Cleaning up..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Resolving dependencies..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Checking signatures..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Test committing..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Committing..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Finished" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Cancelled" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Waiting for lock..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Waiting for authorisation..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Copying files..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Unknown Status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "We are waiting for something." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Setting up transaction..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "The transaction is currently working..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "The transaction is currently removing packages..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "The transaction is currently downloading packages..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "The transaction is currently installing packages..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "The transaction is currently updating packages..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "The transaction is currently cleaning up..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "The transaction has finished!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "The transaction was cancelled" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, 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:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "The transaction is currently copying files..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Currently refreshing the repository cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Unknown status %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Unstable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testing" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Offline Updates" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Failed to update %1 packages\n" +"%2" +msgstr[1] "" +"Failed to update %1 packages\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Open Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Repair System" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Repair Failed" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Please report to your distribution: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Successfully updated %1 package" +msgstr[1] "Successfully updated %1 packages" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Obsoletes:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Release Notes:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Update State:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Restart:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Vendor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "Repository URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Packages to remove" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Please restart the computer to finish the update" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Accept EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Missing signature for %1 in %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirm package removal" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "This snap application needs security confinement measures disabled." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Broken" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Available" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Installed" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Upgradeable" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Check for Updates" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "View Updates" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Starting" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Waiting" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Downloading" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installing" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Removing" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Changing Addons" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Done" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Failed" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancelled" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Application Updates" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "System Updates" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Addons" \ 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..97b678c --- /dev/null +++ b/po/en_GB/plasma-discover-notifier.po @@ -0,0 +1,157 @@ +# 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-27 12:26+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 20.04.2\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "View Updates" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Security updates available" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Updates available" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "System up to date" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Computer needs to restart" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Offline" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Restart" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Restart is required" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Upgrade" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Upgrade available" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "New version: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Discover Notifier" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "System update status notifier" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Plasma Development Team" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Steve Allewell" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "steve.allewell@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Replace an existing instance" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Do not show the notifier" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "hidden" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Updates" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Open Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "See Updates..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Refresh..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Restart to apply installed updates" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Click to restart the computer" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Restart..." \ 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..b48496c --- /dev/null +++ b/po/en_GB/plasma-discover.po @@ -0,0 +1,807 @@ +# 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-27 15:19+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 20.08.1\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "No application back-ends found, please report to your distribution." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Could not find category '%1'" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Could not open %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Directly open the specified application by its appstream:// URI." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Open with a search for programs that can deal with the given mimetype." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Display a list of entries with a category." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "List all the available modes." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Compact Mode (auto/compact/full)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Local package file to install" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "List all the available backends." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Search string." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Lists the available options for user feedback" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Supports appstream: url scheme" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "An application explorer" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Plasma Development Team" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Quality Assurance, Design and Usability" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Steve Allewell" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "steve.allewell@gmail.com" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Available backends:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Available modes:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Addons" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "More..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Apply Changes" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Reset" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Add New %1 Repository" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Add" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Cancel" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 rating" +msgstr[1] "%1 ratings" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "No ratings yet" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Sources" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "What's New" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Reviews" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Show %1 Review..." +msgstr[1] "Show all %1 reviews..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Write a Review" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Install to Write a Review" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Category:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, released on %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Version:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Author:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Size:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Source:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licence:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "See full licence terms" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Documentation:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Read the user guide" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Get involved:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Visit the app's website" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Make a donation" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Report a problem" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Search: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Sort: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Name" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Rating" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Size" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Release Date" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Sorry, nothing found" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Still looking..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Featured" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Loading..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "Unable to load applications.Please verify Internet connectivity." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Return to the Featured page" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Running as root is discouraged and unnecessary." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Search" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Installed" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Fetching updates..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Up to date" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Update (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "About" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Settings" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Sorry..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Could not close Discover, there are tasks that need to be done." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Quit Anyway" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Unable to find resource: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Proceed" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Submit usage information" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Sends anonymised usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Submitting usage information..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Configure" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Configure feedback..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Contribute..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "We are looking for your feedback!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Participate..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Install" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Remove" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Resources for '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Extensions..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tasks (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Tasks" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Version: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "unknown reviewer" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 by %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Comment by %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Votes: %1 out of %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Useful?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Yes" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "No" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Reviewing %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Rating:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Name:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Title:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Enter a rating" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Write the title" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Write the review" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Keep writing..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Too long!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Submit review" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Reviews for %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Write a Review..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Install this app to write a review" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Search..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Search in '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Default)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Add Source..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Make default" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Failed to increase '%1' preference" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Failed to decrease '%1' preference" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Delete the origin" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Show contents" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Missing Backends" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Updates" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Update Issue" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Update Selected" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Update All" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "All updates selected (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 update selected (%3)" +msgstr[1] "%1/%2 updates selected (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Restart" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Update to version %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Installing" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "More Information..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Fetching updates..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Updates" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "The system requires a restart to apply updates" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Up to date" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Should check for updates" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ No newline at end of file diff --git a/po/es/libdiscover.po b/po/es/libdiscover.po new file mode 100644 index 0000000..53316f1 --- /dev/null +++ b/po/es/libdiscover.po @@ -0,0 +1,1640 @@ +# 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, 2019, 2020. +# Rafael Belmonte , 2013. +# Rocio Gallego , 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-12-03 17:36+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 20.08.2\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Propietario" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Ha ocurrido un error al obtener las reseñas: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Ha ocurrido un error al enviar la utilidad: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Ha ocurrido un error al enviar la reseña: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoría ficticia" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "ficticio" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "complementos ficticios" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "ficticio 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "ficticio con cosas" + +#: 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" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "ficticio 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "ficticio 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accesorios" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accesibilidad" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Juegos" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Rompecabezas" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Estrategia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Deportes" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuladores" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Dibujo" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visores" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Charla" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Correo" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Oficina" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Paquete local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL de «appstream» mal formada «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Desconocido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Obteniendo información sobre tamaño" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Tamaño desconocido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 en disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Añadir Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "No se ha podido añadir la fuente %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Eliminando «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" +"Para eliminar este repositorio debe desinstalar las siguientes aplicaciones:" +"
      • %1
      " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "No se ha podido eliminar el repositorio remoto %1: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "No se ha encontrado %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Introduzca la URI del repositorio Flatpak (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Añadiendo «%1» remoto en %2 desde %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Revisar EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "El motor %1 ha tardado demasiado en inicializarse" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Aplicaciones" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Complementos de Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Complementos de aplicaciones" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Ha ocurrido un error de red en el motor %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Se han enviado demasiadas peticiones al servidor para el motor %1. Vuelva a " +"intentarlo dentro de unos minutos." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Motor %1 no válido. Contacte con su distribuidor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" +"No se ha podido obtener la captura de pantalla para la entrada %1 en el " +"motor %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Error no contemplado en el motor %1. Póngase en contacto con su distribuidor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI de KNewStuff incorrecta: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Lanzar" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Usar" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Información de inicio de sesión para %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "No se ha podido lanzar %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Complementos de Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Elementos gráficos de Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Tipos de letra" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Sin memoria" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "No hay ninguna conexión de red disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operación no permitida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Error interno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Error de GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID no válido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Paquete no instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Paquete no encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "El paquete ya está instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Ha fallado la descarga del paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "No se ha encontrado el grupo del paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Lista de grupos de paquetes no válida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Ha fallado la resolución de dependencias" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Filtro no válido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Ha fallado la creación de un hilo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Error en la transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transacción cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "No hay caché disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "No se ha podido encontrar el repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "No se ha podido eliminar el paquete del sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "El demonio de PackageKit ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Error de inicialización" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "No se ha podido finalizar la transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "El análisis de la configuración ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "No se puede cancelar la transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "No se puede realizar el bloqueo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "No hay ningún paquete para actualizar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "No se puede escribir la configuración del repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "La instalación local ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Se ha encontrado una firma GPG incorrecta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "No se ha encontrado la firma GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "No se puede instalar el paquete de código fuente" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Error de configuración del repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "No hay acuerdo de licencia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Se han encontrado conflictos en el archivo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Se ha encontrado un conflicto en el paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "El repositorio no está disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Archivo de paquete no válido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "La instalación de paquetes está bloqueada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Se ha encontrado un paquete dañado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Todos los paquetes estaban ya instalados" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Archivo no encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "No hay más servidores espejo disponibles" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "No hay datos de renovación de la distribución" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Arquitectura incompatible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "No queda espacio en el dispositivo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Es necesario cambiar el medio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Actualización no encontrada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, 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:120 +#, 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:122 +#, kde-format +msgid "Cannot get file list" +msgstr "No se puede obtener la lista de archivos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "No ha sido posible obtener los datos necesarios" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "No se puede desactivar el repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Se ha detectado una descarga restringida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "La configuración del paquete ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "La compilación del paquete ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "La instalación del paquete ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "La eliminación del paquete ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, 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:140 +#, kde-format +msgid "The package database changed" +msgstr "La base de datos de paquetes ha cambiado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "No se admite el tipo proporcionado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "La raíz de instalación no es válida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "No se han podido obtener las fuentes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Prioridad cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transacción no finalizada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Bloqueo necesario" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Error desconocido %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" +"Debido al cambio realizado por «%1», se recomienda reiniciar el sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Deberá reiniciar la aplicación." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Deberá reiniciar la sesión" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Deberá reiniciar el sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Por seguridad, deberá reiniciar el sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Esperando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Refrescando la caché..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Configuración..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Procesando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Eliminar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Descargando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Instalando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Actualizando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Limpiando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Resolviendo dependencias..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Comprobando firmas..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Comprobando confirmación..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Confirmando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Terminado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Cancelado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Esperando al bloqueo..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Esperando autorización..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Copiando archivos..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Estado desconocido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Esperando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Configurando la transacción..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "La transacción está en proceso en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "La transacción está eliminando paquetes en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "La transacción está descargando paquetes en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "La transacción está instalando paquetes en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "La transacción está actualizando paquetes en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "La transacción está limpiando en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "La transacción ha finalizado." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "La transacción se ha cancelado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, 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:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "La transacción está copiando archivos en este momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Se está refrescando la caché del repositorio..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Estado desconocido %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Estable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Inestable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "En pruebas" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Actualizaciones sin conexión" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Ha fallado la actualización de %1 paquete\n" +"%2" +msgstr[1] "" +"Ha fallado la actualización de %1 paquetes\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Abrir Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Reparar el sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "La reparación ha fallado" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Por favor, comuníquelo a su distribución: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Se ha actualizado con éxito %1 paquete" +msgstr[1] "Se han actualizado con éxito %1 paquetes" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Desactualiza:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Notas del lanzamiento:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Estado de actualización:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Reiniciar:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Vendedor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL del repositorio:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Paquetes a eliminar" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" +"Los siguientes paquetes serán eliminados por la actualización:
      • %1

      para poder instalar:
      • %2
      " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Por favor, reinicie el equipo para completar la actualización" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Aceptar EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Falta la firma de %1 en %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirmar eliminación del paquete" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Roto" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Disponible" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Renovable" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Comprobar actualizaciones" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Ver actualizaciones" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Empezando" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Esperando" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Descargando" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instalando" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Eliminando" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Cambiar complementos" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Hecho" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Fallido" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancelado" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Actualizaciones de aplicaciones" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualizaciones del sistema" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Complementos" \ 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..04bcde2 --- /dev/null +++ b/po/es/plasma-discover-notifier.po @@ -0,0 +1,160 @@ +# 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-26 16:54+0200\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 20.04.2\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Ver actualizaciones" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Hay actualizaciones de seguridad disponibles" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Hay actualizaciones disponibles" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Sistema actualizado" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Necesita reiniciar el equipo" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Sin conexión" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Reiniciar" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Se necesita reiniciar" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Actualizar" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Actualización disponible" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nueva versión: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Notificador de Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Notificador del estado de actualización del sistema" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 El equipo de desarrollo de Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Sustituir una instancia existente" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "No mostrar el notificador" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "oculto" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Actualizaciones" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Abrir Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Ver las actualizaciones..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Refrescar..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Reiniciar para aplicar las actualizaciones instaladas" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Pulse para reiniciar el equipo" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Reiniciar..." \ 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..0295b03 --- /dev/null +++ b/po/es/plasma-discover.po @@ -0,0 +1,817 @@ +# 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, 2019, 2020. +# Rafael Belmonte , 2013. +# Rocio Gallego , 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-15 16:07+0200\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 20.08.1\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"No se han encontrado motores para la aplicación. Por favor, comuníquelo a su " +"distribución." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "No se puede encontrar la categoría «%1»" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "No se puede abrir %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Abrir directamente la aplicación especificada por su URI appstream://." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Abrir con una búsqueda de programas que puedan manejar el tipo MIME indicado." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostrar una lista de entradas con una categoría." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Listar todos los modos disponibles." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modo compacto (automático/compacto/completo)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Archivo de paquete local a instalar" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Listar todos los motores disponibles." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Cadena a buscar." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Lista todas las opciones disponibles para los comentarios del usuario" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Permite el esquema de URL «appstream:»" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Un explorador de aplicaciones" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 El equipo de desarrollo de Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Seguro de calidad, diseño y usabilidad" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Eloy Cuadra" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ecuadra@eloihr.net" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Motores disponibles:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Modos disponibles:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Complementos" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Más..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Aplicar cambios" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Reiniciar" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Añadir nuevo repositorio %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Añadir" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Cancelar" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 evaluación" +msgstr[1] "%1 evaluaciones" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Todavía sin evaluaciones" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Fuentes" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Novedades" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Reseñas" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Mostrar %1 reseña..." +msgstr[1] "Mostrar las %1 reseñas..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Escribir una reseña" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Instale para escribir una reseña" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Categoría:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, publicado el %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versión:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Tamaño:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Fuente:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licencia:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Ver todas las condiciones de la licencia" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Documentación:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Leer la guía del usuario" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Implicarse:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Visitar el sitio web de la aplicación" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Hacer una donación" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Notificar un problema" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Buscar: %1..." + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Ordenar: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nombre" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Puntuación" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Tamaño" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Fecha de publicación" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Lo sentimos: no se ha encontrado nada" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Seguimos buscando..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Destacados" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Cargando..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"No ha sido posible cargar las aplicaciones.Compruebe la conexión a " +"Internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Volver a la página Destacados" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "La ejecución como root es desaconsejable e innecesaria." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Buscar" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Obteniendo actualizaciones..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Actualizado" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualizar (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Acerca de" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Preferencias" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Lo sentimos..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "No se puede cerrar Discover: existen tareas que deben terminar antes." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Salir de todos modos" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "No se ha podido encontrar el recurso: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Continuar" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Enviar información de uso" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Envía información de uso anónima a KDE para que podamos entender mejor a " +"nuestros usuarios. Para más información, consulte https://kde.org/" +"privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Enviando información de uso..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Configurar" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Configurar los comentarios del usuario..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Puede ayudarnos a mejorar esta aplicación compartiendo estadísticas y " +"participando en sondeos." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Colaborar..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "¡Estamos esperando sus comentarios!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Participar..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalar" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Eliminar" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Recursos para «%1»" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Extensiones..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tareas (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Tareas" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versión: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "crítico desconocido" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 por %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Comentado por %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Votos: %1 de %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "¿Es útil?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Sí" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "No" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Opinando sobre %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Puntuación:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nombre:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Título:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Introduzca una puntuación" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Escriba el título" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Escriba la reseña" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Siga escribiendo..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Demasiado largo." + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Enviar reseña" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Reseñas para %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Escribir una reseña..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Instale esta aplicación para escribir una reseña" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Buscar..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Buscar en «%1»..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (por omisión)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Añadir fuente..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Hacer por omisión" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "No se ha podido aumentar la preferencia «%1»" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "No se ha podido disminuir la preferencia «%1»" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Borrar el origen" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Mostrar contenido" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Motor ausente" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Actualizaciones" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Problema de actualización" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "Aceptar" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Actualización seleccionada" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Actualizar todo" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Todas las actualizaciones seleccionadas (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 actualización seleccionada (%3)" +msgstr[1] "%1/%2 actualizaciones seleccionadas (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Reiniciar" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Actualizar a la versión %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Instalando" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Más información..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Obteniendo actualizaciones..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Actualizaciones" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Se necesita reiniciar el sistema para aplicar las actualizaciones" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Actualizado" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Se deben comprobar las actualizaciones" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ No newline at end of file diff --git a/po/et/libdiscover.po b/po/et/libdiscover.po new file mode 100644 index 0000000..7f19032 --- /dev/null +++ b/po/et/libdiscover.po @@ -0,0 +1,1629 @@ +# 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, 2019, 2020. +# Mihkel Tõnnov , 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-10-11 00:13+0200\n" +"Last-Translator: Mihkel Tõnnov \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 20.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "qiilaq69@gmail.com" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Omanduslik" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Tõrge arvustuste tõmbamisel: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Tõrge kasulikkuse edastamisel: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Tõrge arvustuse edastamisel: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Libakategooria" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "dummy" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "dummy lisad" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "dummy 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "dummy kraamiga" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "dummy hulga kraamiga" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "dummy 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "dummy 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Tarvikud" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Silumine" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Arenduskeskkonnad" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokaliseerimine" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profileerimine" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Haridus" + +#: 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 "Reaal- ja inseneriteadused" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronoomia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Bioloogia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Keemia" + +#: 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 "Arvutiteadus ja robootika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektroonika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Inseneriteadus" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geograafia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geoloogia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matemaatika" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Pusled" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulatsioonid" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strateegiamängud" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Märul" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulaatorid" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Graafika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Joonistamine" + +#: 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 "Joonistamine ja pilditöötlus" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotograafia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Kirjastamine" + +#: 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 "Skannimine ja OCR" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Vestlus" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimeedia" + +#: 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 "Heli- ja videoredaktorid" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Helimängijad" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Videomängijad" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kontoritöö" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Süsteemi seadistused" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Kohalik kimp" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Vigane appstream'i URL '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Tundmatu" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Hangitakse suuruseteavet" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Teadmata suurus" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 alla laadida, %2 kettal" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 kettal" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Lisa Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Allika %1 lisamine nurjus" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "\"%1\" eemaldamine" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" +"Selle hoidla eemaldamiseks tuleb eemaldada järgmised rakendused:
      • %1
      " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "%1 võrguhoidla eemaldamine nurjus: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "%1 ei leitud" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Flatpaki hoidla URI (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "'%1' asukohast %3 lisatakse asukohta %2" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "EULA läbivaatamine" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"%1 nõuab oma litsentsiga nõustumist:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Taustaprogrammi %1 käivitamine läks liiga pikale" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Rakendused" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma lisad" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Rakenduste lisad" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Võrgutõrge taustaprogrammis %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Taustaprogramm %1 saatis serverile liiga palju päringuid. Palun proovi mõne " +"minuti pärast uuesti." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Vigane taustaprogramm %1, võta ühendust oma distributsiooni pakkujaga." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Kirjele %1 taustaprogrammis %2 ei õnnestunud hankida ekraanipilti" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Käsitlematu tõrge taustaprogrammis %1. Võta ühendust oma distributsiooni " +"pakkujaga." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Vale KNewStuff'i URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Käivita" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Kasuta" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "%1 sisselogimisteave" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "%1 käivitamine nurjus" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma lisad" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma vidinad" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fondid" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Mälu napib" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Võrguühendus puudub" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Toiming ei ole toetatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Sisemine tõrge" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Paketi ID on vigane" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Pakett pole paigaldatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Paketti ei leitud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Pakett on juba paigaldatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Paketi allalaadimine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Paketigruppi ei leitud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Paketigruppide loend on vigane" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Sõltuvuste lahendamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Filter on vigane" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Lõime loomine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Tehing nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Tehing katkestati" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Puhver puudub" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Hoidlat ei leitud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Süsteemset paketti ei saa eemaldada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKiti deemonit tabas krahh" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Initsialiseerimistõrge" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Tehingu lõpetamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Seadistuse parsimine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Tehingut ei saa katkestada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Lukustamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Pole ühtegi paketti uuendada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Hoidla seadistuse kirjutamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Kohalik paigaldamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Leiti halb GPG allkiri" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Ühtegi GPG allkirja ei leitud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Lähtepaketti ei saa paigaldada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Hoidla seadistuse tõrge" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Litsentsileping puudub" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Leiti failikonflikte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Leiti paketikonflikt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Hoidlat pole saadaval" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Vigane paketifail" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Paketi paigaldamine on blokeeritud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Leiti riknenud pakett" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Kõik paketid on juba paigaldatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Faili ei leitud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Rohkem peegleid ei ole" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Distributsiooni uuendamise andmed puuduvad" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Sobimatu arhitektuur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Seadmes pole enam vaba ruumi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Vajalik on andmekandja vahetamine" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Sul pole õigust seda operatsiooni käivitada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "Uuendust ei leitud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Allkirjastamata hoidlast ei saa paigaldada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Allkirjastamata hoidlast ei saa uuendada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Faililoendi hankimine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Nõuete hankimine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Hoidlat ei saa keelata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Tuvastati piiratud allalaadimine" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Paketi konfigureerimine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Paketi ehitamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Paketi paigaldamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Paketi eemaldamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Uuendamine nurjus töötava protsessi tõttu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Pakettide andmebaas muutus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Pakutav tüüp ei ole toetatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Paigaldamise juur on vigane" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Allikate hankimine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Prioriteet katkestati" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Lõpetamata tehing" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Nõutav on lukustamine" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Tundmatu tõrge %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Paketi \"%1\" muutmise järel on mõttekas süsteem taaskäivitada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Rakendus tuleb taaskäivitada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Seanss tuleb taaskäivitada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Süsteem tuleb taaskäivitada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Turbe huvides tuleb seanss taaskäivitada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Ootamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Puhvri värskendamine ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Valmistumine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Töötlemine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Eemaldamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Allalaadimine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Paigaldamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Uuendamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Puhastamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Sõltuvuste lahendamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Allkirjade kontrollimine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Sissekandmise test..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Sissekandmine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Lõpetatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Katkestatud" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Oodatakse lukustamist..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Autentimise ootamine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Failide kopeerimine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Tundmatu olek" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Me ootame midagi." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Tehingu loomine..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Tehing praegu käib..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Tehing eemaldab praegu pakette..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Tehing laadib praegu pakette alla..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Tehingud paigaldavad praegu pakette ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Tehing uuendab praegu pakette..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Tehing praegu puhastab..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Tehing kontrollib praegu pakettide allkirju..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, 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:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Tehing kannab praegu paketikogumit sisse..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Tehing on lõpetatud!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Tehing katkestati" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Tehing ootab praegu lukustamist..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Oodatakse, et kasutaja autendiks tehingu..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Tehing kopeerib praegu faile..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Praegu värskendatakse hoidla puhvrit ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Tundmatu olek %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabiilne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ebastabiilne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testimine" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Võrguta uuendused" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"%1 paketi uuendamine nurjus\n" +"%2" +msgstr[1] "" +"%1 paketi uuendamine nurjus\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Ava Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Paranda süsteemi" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Parandamine nurjus" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Palun anna teada oma distributsioonile: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 pakett uuendati edukalt" +msgstr[1] "%1 paketti uuendati edukalt" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Igandab:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Väljalaskemärkmed:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Uuendamisolek:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Taaskäivitus:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Pakkuja:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (pluss %1 sõltuvus)" +msgstr[1] "%2 (pluss %1 sõltuvust)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "Hoidla URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Eemaldatavad paketid" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" +"Uuendamisel eemaldatakse järgmised paketid:
      • %1

      et " +"paigaldada:
      • %2
      " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Uuendamise lõpetamiseks palun käivita arvuti uuesti" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "EULA-ga nõustumine" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "%1 allkiri asukohas %2 puudub" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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 "" +"Kas usaldada järgmist võtit?\n" +"\n" +"URL: %1\n" +"Kasutaja: %2\n" +"Võti: %3\n" +"Sõrmejälg: %4\n" +"Ajatempel: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Paketi eemaldamise kinnitus" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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] "" +"Sellega eemaldatakse ühtlasi järgmine pakett:\n" +"%2" +msgstr[1] "" +"Sellega eemaldatakse ühtlasi Järgmised paketid;\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "Selle snapi rakenduse puhul on tarvis turbemeetmed keelata." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +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:85 +#, kde-format +msgid "Broken" +msgstr "Katki" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Saadaval" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Paigaldatud" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Uuendatav" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Otsi uuendusi" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Vaata uuendusi" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Alustamine" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Ootel" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Allalaadimine" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Paigaldamine" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Eemaldamine" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Lisade muutmine" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Valmis" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Nurjus" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Katkestatud" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Rakenduste uuendused" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Süsteemsed uuendused" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Lisad" \ 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..1385904 --- /dev/null +++ b/po/et/plasma-discover-notifier.po @@ -0,0 +1,158 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Marek Laane , 2016, 2019, 2020. +# Mihkel Tõnnov , 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-10-11 00:08+0200\n" +"Last-Translator: Mihkel Tõnnov \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 20.08.1\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Vaata uuendusi" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Saadaval on turvauuendused" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Saadaval on uuendused" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Süsteem on täiesti ajakohane" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Arvuti vajab taaskäivitust" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Pole võrgus" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Taaskäivita" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Vajalik on taaskäivitus" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Uuenduste jõustamiseks tuleb süsteem uuesti käivitada." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Uuenda" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Saadaval on uuendus" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Uus versioon: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Discoveri teadustaja" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Süsteemi uuenduste oleku teadustaja" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019: Plasma arendusmeeskond" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "qiilaq69@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Töötava isendi asendamine" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Teadustajat ei näidata" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "peidetud" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Uuendused" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Ava Discover ..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Vaata uuendusi ..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Värskenda ..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Paigaldatud uuenduste rakendamiseks tuleb arvuti taaskäivitada" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Arvuti taaskäivitamiseks klõpsa siin" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Taaskäivita ..." \ 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..62663a3 --- /dev/null +++ b/po/et/plasma-discover.po @@ -0,0 +1,815 @@ +# 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, 2019, 2020. +# Mihkel Tõnnov , 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-10-11 00:20+0200\n" +"Last-Translator: Mihkel Tõnnov \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 20.08.1\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Ühtegi rakenduse taustaprogrammi ei leitud, palun anna sellest teada oma " +"distributsioonile." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Kategooriat \"%1\" ei leitud" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Flatpaki ressurssidega ei saa midagi ette võtta ilma flatpaki " +"taustaprogrammita %1. Palun paigalda see." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "%1 avamine nurjus" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Määratud rakenduse otsene avamine appstream:// URI järgi." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Määratud MIME tüüpi käidelda suutvate programmide otsingu avamine." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Kirjete loendi kuvamine kategooriatega." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Discoveri avamine määratud režiimis. Režiimid vastavad tööriistariba " +"nuppudele." + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "Kõigi saadaolevate režiimide loetlemine." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompaktne režiim (automaatne/kompaktne/täielik)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Paigaldatav kohalik paketifail" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Kõigi saadaolevate taustaprogrammide loetlemine." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Stringi otsimine." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Kasutaja tagasiside saadaolevate valikute loend" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Appstreami URL-i skeemi toetus" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Rakendusteuurija" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020: Plasma arendusmeeskond" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Kvaliteedikontroll, disain ja kasutatavus" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Marek Laane" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "qiilaq69@gmail.com" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Saadaolevad taustaprogrammid:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Saadaolevad režiimid:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Lisad" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Rohkem..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Rakenda muudatused" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Lähtesta" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Uue %1 hoidla lisamine" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Lisa" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Loobu" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 hinnang" +msgstr[1] "%1 hinnangut" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Hinnang veel puudub" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Allikad" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Mida on uut" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Arvustused" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Näita %1 arvustust ..." +msgstr[1] "Näita kõiki %1 arvustust ..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Kirjuta arvustus" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Paigalda ja kirjuta arvustus" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategooria:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, väljalaskeaeg %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versioon:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Suurus:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Allikas:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Litsents:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Vaata täielikku litsentsilepingut" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Dokumentatsioon:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Kasutaja käsiraamatu lugemine" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Kaasalöömine:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Rakenduse kodulehekülje külastamine" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Annetuse tegemine" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Veast teatamine" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Otsing: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Sortimise alus: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nimi" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Hinnang" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Suurus" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Väljalaskeaeg" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Andestust, midagi ei leitud" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Veel otsitakse ..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Esile tõstetud" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Laadimine..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "Rakenduste laadimine nurjus.Palun kontrolli internetiühendust." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Tagasi esiletõstetute leheküljele" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"Käivitamine administraatorina (root) on äärmiselt ebasoovitatav ja " +"tarbetu." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Otsing" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Paigaldatud" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Uuenduste tõmbamine ..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Värske" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Uuendused (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Teave" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Seadistused" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Andestust ..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Discoverit ei saa sulgeda, enne peavad tööd tehtud olema." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Välju ikkagi" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Ressurssi ei leitud: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Edasi" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Kasutusteabe edastamine" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Anonüümseks muudetud kasutusteabe saatmine KDE-le, et me mõistaksime " +"paremini oma kasutajaid. Täpsemat teavet leiab aadressilt https://kde.org/" +"privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Kasutusteabe edastamine ..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Seadista " + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Seadista tagasisidet ..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Sa võid aidata meil rakendust paremaks muuta, kui jagad meiega statistikat " +"ja osaled uuringutes." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Panusta ..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Me ootame sinu tagasisidet!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Osale ..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Paigalda" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Eemalda" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "\"%1\" ressursid" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Laiendid..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Edenemine (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Ülesanded" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versioon: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "tundmatu arvustaja" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1, autor %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "%1 kommentaar" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Hääli: %1 / %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Kas see on kasulik?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Jah" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Ei" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "%1 arvustus" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Hinnang:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nimi:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Pealkiri:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Anna hinnang" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Kirjuta pealkiri" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Kirjuta arvustus" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Kirjuta aga edasi ..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Liiga pikk!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Saada arvustus" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "%1 arvustused" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Kirjuta arvustus ..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Paigalda see rakendus, et arvustus kirjutada" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Otsi..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Otsi kategoorias \"%1\"..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (vaikimisi)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Lisa allikas ..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Vaikimisi" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "\"%1\" eelistuse suurendamine nurjus" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "\"%1\" eelistuse vähendamine nurjus" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Algupära kustutamine" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Sisu näitamine" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Puuduvad taustaprogrammid" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Uuendused" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Uuenda" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Uuenda valitud" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Uuenda kõik" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Kõik uuendused valitud (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 uuendust valitud (%3)" +msgstr[1] "%1/%2 uuendust valitud (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Taaskäivita" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Uuendamine versioonile %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Paigaldamine" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Rohkem teavet ..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Uuenduste tõmbamine ..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Uuendused" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Süsteem nõuab uuenduste rakendamiseks taaskäivitust" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Värske" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Tuleks kontrollida uuendusi" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Pole teada, millal viimati uuenduste olemasolu kontrolliti" \ No newline at end of file diff --git a/po/eu/libdiscover.po b/po/eu/libdiscover.po new file mode 100644 index 0000000..60e26fd --- /dev/null +++ b/po/eu/libdiscover.po @@ -0,0 +1,1636 @@ +# Translation for libdiscover.po to Euskara/Basque (eu). +# Copyright (C) 2017-2018, Free Software Foundation. +# Copyright (C) 2019-2020, This file is copyright: +# This file is distributed under the same license as the discover package. +# KDE euskaratzeko proiektuko arduraduna +# +# Translators: +# Iñigo Salvador Azurmendi , 2017, 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-27 09:42+0200\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 20.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Iñigo Salvador Azurmendi" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xalba@euskalnet.net" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Jabeduna" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Errorea iritziak ekartzean: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Errorea erabilgarritasuna bidaltzean: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Errorea iritzia bidaltzean: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Gezurrezkoa kategoria" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "gezurrezkoa" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "gezurrezko gehigarriak" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "gezurrezkoa 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "gezurrezkoa gaiekin" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "gezurrezkoa gai dezenterekin" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "gezurrezkoa 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "gezurrezkoa 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Osagarriak" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Irisgarritasuna" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Araztea" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilatzea" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Hezkuntza" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kimika" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Ingeniaritza" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fisika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jokoak" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Buruhaustekoak" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulatzea" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Estrategia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Kirolak" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Ekintza" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatzaileak" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafikoak" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Marraztea" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Argazkigintza" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Argitaratzea" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Erakusleak" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Berriketa" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Posta" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Bulegotika" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Bertako sorta" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Gaizki eratutako 'appstream' url '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Ezezaguna" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Berreskuratu neurriari buruzko informazioa" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Neurri ezezaguna" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 jaitsi behar, %2 diskoan" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 diskoan" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Gehitu Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Ezin izan da iturburua gehitu: %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "'%1' kentzen" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" +"Gordetegi hau kentzeko, ondoko aplikazioak desinstalatu behar dira:
      • " +"%1
      " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Huts egin du %1 urruneko gordetegia kentzea: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Ezin izan da %1 aurkitu" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Sartu Flatpak gordetegi baten URI (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Urruneko '%1' gehitzen %2(e)an %3(e)tik" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Berrikusi EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "%1 bizkarraldekoa hasieratzeak luzeegi hartu du" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Aplikazioak" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasmaren gehigarriak" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Aplikazioen gehigarriak" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Sareko errorea %1 bizkarraldekoan: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Eskaera gehiegi bidali dira zerbitzarira %1 bizkarraldekoarentzat. Saiatu " +"berriz minutu batzuk igaro ondoren." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" +"Baliogabeko %1 bizkarraldekoa, jarri zure banatzailearekin harremanean." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Ezin izan da ekarri %1 sarreraren pantaila-argazkia %2 bizkarraldekoan" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Kudeatu gabeko errorea %1 bizkarraldekoan. Jarri zure banatzailearekin " +"harremanean." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Okerreko KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Abiarazi" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Erabili" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Saioa hasteko informazioa honentzako: %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Ezin da abiarazi %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasmaren gehigarriak" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasmaren trepetak" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Letra-tipoak" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Memoria beteta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Ez dago sareko-konexio eskuragarririk" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Eragiketa ez dago onartuta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Barneko errorea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG hutsegitea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Pakete-ID baliogabea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Paketea ez dago instalatuta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Paketea ez da aurkitu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Paketea instalatuta dago" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Paketea jaisteak huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Pakete-taldea ez da aurkitu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Pakete-talde zerrenda baliogabea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Mendekotasun ebazpenak huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Iragazki baliogabea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Huts egin du hari bat sortzean" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Transakzio-hutsegitea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transakzioa bertan behera utzia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Ez dago cache erabilgarririk" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Ezin aurkitu gordetegia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Ezin kendu sistemako paketea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit daimona kraskatu egin da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Hasieratze-hutsegitea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Huts egin du transakzioa amaitzea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Konfigurazioaren azterketa sintaktikoak huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Ezin transakzioa bertan behera utzi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Ezin da blokeoa eskuratu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Ez dago eguneratu beharreko paketerik" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Ezin idatzi gordetegi konfigurazioa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Instalazio lokalak huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "GPG sinadura okerra aurkitu da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Ez da GPG sinadurarik aurkitu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Ezin instalatu iturburu paketea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Gordetegi konfigurazio errorea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Ez dago lizentzia akordiorik" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Fitxategi-gatazkak aurkitu dira" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Pakete-gatazka aurkitu da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Gordetegia ez dago erabilgarri" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Pakete-fitxategi baliogabea" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Pakete-instalatzea blokeatuta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Hondatutako paketea aurkitu da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Pakete guztiak instalatuta daude" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Ez da fitxategia aurkitu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Ez dago ispilu erabilgarri gehiago" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ez dago banaketa bertsio-berritzeko daturik" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Arkitektura bateraezina" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Ez dago gailuan toki aske gehiago" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Euskarri aldaketa bat behar da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Ez duzu eragiketa hau exekutatzeko baimenik" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "Eguneratzea ez da aurkitu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Ezin instalatu sinatu gabeko gordetegitik" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Ezin eguneratu sinatu gabeko gordetegitik" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Ezin lortu fitxategi zerrenda" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Ezin lortu eskakizunak" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Ezin desgaitu gordetegia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Murriztutako jaitsiera bat detektatu da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Paketea konfiguratzea huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Paketea eraikitzea huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Paketea instalatzea huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Paketea kentzea huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Eguneratzea huts egin du martxan dagoen prozesu baten eraginez" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Pakete-datubasea aldatu egin da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Hornitutako mota ez da onartzen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Instalazioaren erroa baliogabea da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Ezin dira sorburuak ekarri" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Bertan behera utzitako lehentasuna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Amaitu gabeko transakzioa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Blokeoa behar da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Errore ezezaguna %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "'%1'(r)en aldaketa batek iradokitzen du zure sistema berrabiaraztea." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Aplikazioa berrabiarazi beharko da." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Saioa berrabiarazi beharko da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Sistema berrabiarazi egin beharko da." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Segurtasunagatik, saioa berrabiarazi beharko da." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Segurtasunagatik, sistema berrabiarazi beharko da." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Itxoiten..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Cachea freskatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Konfiguratu..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Prozesatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Kendu..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Jaisten..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Instalatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Eguneratzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Garbitzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Mendekotasun ebazten..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Sinadurak egiaztatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Probatu balidatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Balidatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Amaituta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Bertan behera utzita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Blokeoaren zain..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Baimenaren zain..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Fitxategiak kopiatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Egoera ezezaguna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Zerbaiten zain gaude." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Transakzioa konfiguratzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transakzioa une honetan lanean ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transakzioa une honetan paketeak kentzen ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transakzioa une honetan paketeak jaisten ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transakzioa une honetan paketeak instalatzen ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transakzioa une honetan paketeak eguneratzen ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transakzioa une honetan garbiketa egiten ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transakzioa amaitu da!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transakzioa bertan behera utzi da" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transakzioa une honetan blokeoaren zain dago..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Erabiltzaileak transakzioa baimenduko duen zain..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transakzioa une honetan fitxategiak kopiatzen ari da..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Une honetan gordetegiaren cachea freskatzen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Egoera ezezaguna %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Egonkorra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ezegonkorra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Probak" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Lerroz kanpoko eguneratzeak" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Pakete %1 eguneratzea huts egin du\n" +"%2" +msgstr[1] "" +"%1 pakete eguneratzea huts egin du\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Ireki Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Konpondu sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Konpontzea huts egin du" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Mesedez, jakinarazi zure banaketari: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Ongi eguneratu da pakete %1" +msgstr[1] "Ongi eguneratu dira %1 pakete" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Zaharkituak:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Argitalpen oharrak:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Eguneratze egoera:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Berrabiarazi:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Saltzailea:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "Gordetegi URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Kendu beharreko paketeak" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" +"Eguneratzean ondoko paketeak kenduko dira:
      • %1

      beste " +"hauek instalatu ahal izateko:
      • %2
      " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Berrabiarazi ordenagailua eguneratzea amaitzeko" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Onartu AELK (Azken Erabiltzailearen Lizentzia-Kontratua)" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Sinadura falta da %1-rentzako %2-n" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Baieztatu pakete kentzea" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"«snap» aplikazio honek segurtasun barneratze neurriak desgaitzea behar du." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Hautsita" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Erabilgarri" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Instalatuta" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Bertsio-berrigarria" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Egiaztatu eguneratzeak dauden" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Ikusi eguneratzeak" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Hasten" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Itxoiten" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Jaisten" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instalatzen" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Kentzen" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Gehigarriak aldatzen" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Eginda" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Huts egin du" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Bertan behera utzita" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Aplikazioen eguneratzeak" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Sistemaren eguneratzeak" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Gehigarriak" \ 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..4659479 --- /dev/null +++ b/po/eu/plasma-discover-notifier.po @@ -0,0 +1,161 @@ +# Translation for plasma-discover-notifier.po to Euskara/Basque (eu). +# Copyright (C) 2017-2018, The Free Software Foundation, Inc. +# Copyright (C) 2019-2020, This file is copyright: +# This file is distributed under the same license as the discover package. +# KDE Euskaratzeko proiektuko arduraduna +# +# Translators: +# Iñigo Salvador Azurmendi , 2017, 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-30 23:35+0200\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 20.04.2\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Ikusi eguneratzeak" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Segurtasun eguneratzeak erabilgarri" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Eguneratzeak erabilgarri" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Sistema eguneratuta dago" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Ordenagailua berrabiatu beharra dago" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Lerroz kanpo" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Berrabiarazi" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Berrabiatu beharra dago" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Sistemak berrabiatu beharra du eguneratzeak indarrean jartzeko." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Bertsio-berritu" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Bertsio-berritzea erabilgarri" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Bertsio berria: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Discover jakinarazlea" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Sistemako eguneratze egoeraren jakinarazlea" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Plasma garatzeko taldea" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Iñigo Salvador Azurmendi" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xalba@euskalnet.net" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Ordezkatu dagoen instantzia bat" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Ez erakutsi jakinarazlea" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "ezkutuan" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Eguneratzeak" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Ireki Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Ikusi eguneratzeak..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Freskatu..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Berrabiatu instalatutako eguneraketak ezartzeko" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Egin klik ordenagailua berrabiarazteko" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Berrabiarazi..." \ 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..ca1f5b4 --- /dev/null +++ b/po/eu/plasma-discover.po @@ -0,0 +1,820 @@ +# Translation for plasma-discover.po to Euskara/Basque (eu). +# Copyright (C) 2017-2018, The Free Software Foundation. +# Copyright (C) 2019-2020, This file is copyright: +# This file is distributed under the same license as the discover package. +# KDE euskaratzeko proiektuko arduraduna +# +# Translators: +# Iñigo Salvador Azurmendi , 2017, 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-27 09:44+0200\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 20.08.1\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Ez da aplikazio-bizkarraldekorik aurkitu, mesedez, zure banaketari " +"jakinarazi iezaiozu." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Ez da aurkitu kategoria: '%1'" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Ezin ireki %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Ireki zehaztutako aplikazioa zuzenean bere appstream:// URIaren bidez." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Ireki emandako mime-motarekin lan egin dezaketen programen bilaketa batekin." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Bistaratu kategoria bat duen sarrera-zerrenda bat." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Zerrendatu modu erabilgarri guztiak." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modu trinkoa (automatikoa/trinkoa/osoa)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Instalatu beharreko fitxategi lokala" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Zerrendatu bizkarraldeko erabilgarri guztiak." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Bilatu beharreko katea." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" +"Erabiltzaileen erreakzioak bidaltzeko aukera erabilgarriak zerrendatzen ditu" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "«appstream:» url antolaera onartzen du" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Aplikazioen esploratzaile bat" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Plasma garatzeko taldea" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Kalitate-bermatzea, diseinua eta erabilerraztasuna" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Iñigo Salvador Azurmendi" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "xalba@euskalnet.net" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Bizkarraldeko erabilgarriak:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Modu erabilgarriak:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Gehigarriak" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Gehiago..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Ezarri aldaketak" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Berrezarri" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Gehitu %1 gordetegi berri bat" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Gehitu" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Utzi" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 balorazioa" +msgstr[1] "%1 balorazioa" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Oraindik baloraziorik ez" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Iturburuak" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Zer berri" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Iritziak" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Erakutsi iritzi %1..." +msgstr[1] "Erakutsi %1 iritzi..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Idatzi iritzi bat" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Instalatu iritzi bat idazteko" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategoria:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, %2-ean kaleratua" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Bertsioa:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Egilea:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Neurria:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Iturburua:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Lizentzia:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Begiratu lizentziaren baldintza guztiak" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Dokumentazioa:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Irakurri erabiltzailearen gida" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Engaiatu zaitez:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Bisitatu aplikazioaren webgunea" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Egin dohaintza" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Eman arazo baten berri" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Bilatu: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Sailkatu: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Izena" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Balorazioa" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Neurria" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Kaleratze data" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Ez da ezer aurkitu" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Oraindik bilatzen..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Aipagarria" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Zamatzen..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Ezin dira aplikazioak zamatu.Egiaztatu zure Interneteko konektibitatea." + +# xalba 2019-06-05 az. cat, es, pt, itzulpenetan "destacados" erabiltzen dute. +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Itzuli nabarmendutakoen orrira" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"root gisa exekutatzea ez da beharrezkoa ezta gomendagarria ere." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Bilatu" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Instalatuta" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Eguneratzeak ekartzen..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Eguneratua" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Eguneratu (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Honi buruz" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Ezarpenak" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Barkatu..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Ezin da Discover itxi, burutu beharreko atazak daude." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Irten hala ere" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Ezin da aurkitu baliabidea: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Jarraitu" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Bidali erabileraren gaineko informazioa" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Anonimo bilakatutako erabileraren gaineko informazioa bidaltzen du KDEra " +"gure erabiltzaileak hobeto ulertze aldera. Informazio zabalagoa hemen, " +"https://kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Erabileraren gaineko informazioa bidaltzea..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Konfiguratu" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Konfiguratu erreakzioak bidaltzea..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Aplikazio hau hobetzen lagun diezagukezu estatistikak partekatuz eta " +"inkestetan parte hartuz." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Lagundu..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Erreakzioak bidal ditzazuen zain gaude!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Parte hartu..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalatu" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Ezabatu" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Honetarako baliabideak: '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Hedapenak..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Atazak (%%1)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Atazak" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Bertsioa: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "Iritzi emaile ezezaguna" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 egilea %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Iruzkina %1(e)k" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Bozkak: %1 / %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Baliagarria?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Bai" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Ez" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "%«%1»ren gaineko iritzi ematea" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Balorazioa:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Izena:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Izenburua:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Sartu balorazio bat" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Idatzi izenburua" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Idatzi iritzia" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Jarraitu idazten..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Luzeegia!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Bidali iritzia" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "«%1»ren gaineko iritziak" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Idatzi iritzi bat..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Instalatu aplikazio hau, iritzi bat idazteko" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Bilatu..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Bilatu hemen: '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (lehenetsia)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Gehitu iturburua..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Lehenetsi" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "'%1' hobespena handiagotzea huts egin du" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "'%1' hobespena txikiagotzea huts egin du" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Ezabatu jatorria" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Erakutsi edukia" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Falta diren bizkarraldekoak" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Eguneratzeak" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Eguneratzeko arazoa" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "Ados" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Eguneratu hautatutakoak" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Eguneratu denak" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Hautatutako eguneratze guztiak (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 eguneratze hautatuta (%3)" +msgstr[1] "%1/%2 eguneratze hautatuta (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Berrabiarazi" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Eguneratu %1 bertsiora" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Instalatzen" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Informazio gehiago..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Eguneratzeak ekartzen..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Eguneratzeak" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Sistemak berrabiatze bat behar du eguneraketak ezartzeko" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Eguneratua" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Eguneratzeak dauden egiaztatu beharko litzateke" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ No newline at end of file diff --git a/po/fi/libdiscover.po b/po/fi/libdiscover.po new file mode 100644 index 0000000..b30c572 --- /dev/null +++ b/po/fi/libdiscover.po @@ -0,0 +1,2788 @@ +# 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, 2019, 2020. +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-06-25 18:06+0300\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 20.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Tommi Nieminen" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "translator@legisign.org" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Suljettu lähdekoodi" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Virhe noudettaessa arvosteluja: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Virhe lähetettäessä käytettävyysarviota: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Virhe lähetettäessä arvostelua: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Testiluokka" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "testi" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "testilisäosat" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "testi 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "testi jutuilla" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "testi aika monella jutulla" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "testi 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "testi 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Apuohjelmat" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Virheenpaikannus" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalisointi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilointi" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Koulutus" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kemia" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektroniikka" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Maantiede" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematiikka" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fysiikka" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Pelit" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Pelihallipelit" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Pulmapelit" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulaatio" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Urheilu" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Toiminta" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulaattorit" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafiikka" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Valokuvaus" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Julkaiseminen" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Katselimet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Keskustelu" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Toimisto" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Paikallinen nippu" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Virheellinen appstream-osoite ”%1”" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Tuntematon" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Noudetaan kokotietoa" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Tuntematon koko" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 ladattavaa, %2 levyllä" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 levyllä" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Lisää Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Ei voitu lisätä lähdettä %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Poistetaan ”%1”" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" +"Jotta tämän pakettilähteen voisi poistaa, seuraavien sovellusten asennus on " +"poistettava:
      • %1
      " + +# *** TARKISTA: %1, %2 arvailujen varassa +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Etäpakettilähteen %1 poistaminen epäonnistui: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Ei löydy: ”%1”" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Anna Flatpak-pakettilähteen URI (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Lisätään pakettilähde ”%1” osoitteesta %2, jota %3 ehdotti" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Taustaosan %1 alustus kesti liian kauan" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Sovellukset" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma-lisäosat" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Sovellusten lisäosat" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Verkkovirhe taustaosassa %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Liian monta lähetettyä pyyntöä taustaosan %1 palvelimeen. Yritä uudelleen " +"hetken kuluttua." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Virheellinen %1-taustaosa: ota yhteyttä jakelusi tekijään." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Tietueelle %1 ei saatu ruutukaappausta taustaosasta %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Käsittelemätön virhe taustaosassa %1. Ota yhteyttä jakelun valmistajaan." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Väärä KNewStuff-URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Käynnistä" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Käytä" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Kirjautumistiedot – %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Ei voida käynnistää: %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma-lisäosat" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma-sovelmat" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fontit" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Muisti loppui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Ei verkkoyhteyttä käytettävissä" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Toimintoa ei tueta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Sisäinen virhe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG-virhe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID on virheellinen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Pakettia ei ole asennettu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Pakettia ei löytynyt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Paketti on jo asennettu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Paketin lataus epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Pakettiryhmää ei löytynyt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Pakettiryhmäluettelo on virheellinen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Riippuvuuksien ratkaisu epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Suodatin on virheellinen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Epäonnistui luotaessa säiettä" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Toimenpide epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Toimenpide peruttiin" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Välimuistia ei saatavilla" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Ohjelmalähdettä ei löydy" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Järjestelmäpakettia ei voi poistaa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit-palvelu kaatui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Alustusvirhe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Toimenpiteen päättäminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Asetusten jäsentäminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Toimenpidettä ei voida peruuttaa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Lukitus epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Ei päivitettäviä paketteja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Ohjelmalähdeasetusten tallentaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Paikallisasennus epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Virheellinen GPG-allekirjoitus löytyi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "GPG-allekirjoitusta ei löytynyt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Lähdepakettia ei voida asentaa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Ohjelmalähdeasetusten virhe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Ei lisenssisopimusta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Löytyi tiedostoristiriitoja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Löytyi pakettiristiriita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Ohjelmalähde ei ole saatavilla" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Virheellinen pakettitiedosto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Paketin asennus estetty" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Löytyi vioittunut paketti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Kaikki paketit on jo asennettu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Tiedostoa ei löydy" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Peilipalvelimia ei ole enempää saatavilla" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ei jakelupäivitystietoa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Yhteensopimaton arkkitehtuuri" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Laitteessa ei ole tilaa vapaana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Tietovälineen vaihto tarpeen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Päivitystä ei löytynyt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Allekirjoittamattomasta ohjelmalähteestä ei voi asentaa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Allekirjoittamattomasta ohjelmalähteestä ei voi päivittää" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Tiedostoluettelon noutaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Requires-arvon noutaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Paketin poistaminen käytöstä epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Rajoitettu lataus havaittu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Paketin asetusten tekeminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Paketin koostaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Paketin asentaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Paketin poistaminen epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Päivitys epäonnistui käynnissä olevan prosessin takia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Pakettitietokanta muuttui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Tarjottua tyyppiä ei tueta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Asennuksen pääkansio on virheellinen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Lähteiden nouto epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Peruttu prioriteetti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Keskeneräinen toimenpide" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Lukitusta vaaditaan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Tuntematon virhe %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "”%1” on muuttunut ja se tulisi käynnistää uudelleen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Ohjelman ”%1” tekemä muutos ehdottaa uudelleenkirjautumista." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" +"Ohjelman ”%1” tekemä muutos ehdottaa järjestelmän uudelleenkäynnistämistä." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Sovellus tarvitsee käynnistää uudelleen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Istunto tarvitsee käynnistää uudelleen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Järjestelmä on käynnistettävä uudelleen." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Odotetaan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Päivitetään välimuistia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Alustetaan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Käsitellään…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Poistetaan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Ladataan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Asennetaan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Päivitetään…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Siivotaan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Ratkaistaan riippuvuuksia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Tarkistetaan allekirjoituksia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Testataan muutosten toteuttamista…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Toteutetaan muutoksia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Valmis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Peruttu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Odotetaan lukitusta…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Odotetaan valtuutusta…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Kopioidaan tiedostoja…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Tuntematon tila" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Jonkin odotetaan tapahtuvan." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Alustetaan toimenpidettä…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Toimenpidettä suoritetaan…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Toimenpide poistaa paketteja…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Toimenpide lataa paketteja…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Toimenpide asentaa paketteja…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Toimenpide päivittää paketteja…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Toimenpide siivoaa…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Toimenpide tarkistaa pakettien allekirjoituksia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, 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:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Toimenpide toteuttaa pakettien muutoksia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Toimenpide on valmis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Toimenpide peruttiin" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Toimenpide odottaa lukitusta…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Odotetaan käyttäjän valtuutusta toimenpiteelle…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Toimenpide kopioi tiedostoja…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Päivitetään ohjelmalähteiden välimuistia…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Tuntematon tila %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Vakaa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Epävakaa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testattavana" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Päivitykset verkotta" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"%1 paketin päivitys epäonnistui\n" +"%2" +msgstr[1] "" +"%1 paketin päivitys epäonnistui\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Avaa Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Korjaa järjestelmä" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Korjaus epäonnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Ilmoita jakelusi ylläpidolle: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 paketin päivitys onnistui" +msgstr[1] "%1 paketin päivitys onnistui" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Vanhentaa:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Julkaisutiedot:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Päivityksen tila:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Uudelleenkäynnistys:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Toimittaja:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "Ohjelmalähteen osoite:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Poistettavat paketit" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "
      • %1
      \n" +#| "in order to install:\n" +#| "
      • %2
      " +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" +"Päivitys poistaa seuraavat paketit:\n" +"
      • %1
      \n" +"\n" +"jotta voidaan asentaa:\n" +"
      • %2
      " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Käynnistä tietokone uudelleen päivityksen viimeistelemiseksi" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Hyväksy käyttöoikeussopimus" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Puuttuva allekirjoitus: %1 kohteessa %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Vahvista paketin poistaminen" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 – %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Rikki" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Saatavilla" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Asennettu" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Päivitettävissä" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Tarkista päivitykset" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Näytä päivitykset" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Aloitetaan" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Odotetaan" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Ladataan" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Asennetaan" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Poistetaan" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Muutetaan lisäosia…" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Valmis" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Epäonnistui" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Peruttu" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Sovelluspäivitykset" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Järjestelmäpäivitykset" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Lisäosat" + + + + + + + + + + + + + + + + + + + + + + +# *** 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..80a2677 --- /dev/null +++ b/po/fi/plasma-discover-notifier.po @@ -0,0 +1,161 @@ +# 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, 2019, 2020. +# +# +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-25 18:06+0300\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 20.04.2\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Näytä päivitykset" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Turvallisuuspäivityksiä saatavilla" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Päivityksiä saatavilla" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Järjestelmä on ajan tasalla" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Tietokone on käynnistettävä uudelleen" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Ei verkossa" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Käynnistä uudelleen" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Uudellenkäynnistys vaaditaan" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Päivitä" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Päivitys saatavilla" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Uusi versio: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Discoverin ilmoitukset" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Järjestelmäpäivityksen tilailmoitukset" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010–2019 Plasman kehitysryhmä" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Tommi Nieminen" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "translator@legisign.org" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Korvaa aiempi instanssi" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Älä näytä ilmoituksia" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "piilotettu" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Päivitykset" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Avaa Discover…" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Näytä päivitykset…" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Virkistä…" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Ota asennetut päivitykset käyttöön käynnistämällä uudelleen" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Käynnistä tietokone uudelleen napsauttamalla" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Käynnistä uudelleen…" \ 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..0df5ced --- /dev/null +++ b/po/fi/plasma-discover.po @@ -0,0 +1,1157 @@ +# KDE Finnish translation sprint participants: +# Author: Artnay +# Author: Lliehu +# Lasse Liehu , 2012, 2013, 2014, 2015, 2016. +# Tommi Nieminen , 2016, 2017, 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-08-25 21:09+0300\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 20.04.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "Sovellustaustaosia ei löytynyt: ota yhteyttä jakelusi valmistajaan." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Luokkaa ”%1” ei löytynyt" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Ei voitu avata: %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Avaa määräsovellus suoraan sen appstream://-URIn perusteella" + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Avaa etsimällä ohjelmaa, joka osaa käsitellä annetun MIME-tyypin tiedostoja." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Näyttää luettelon luokan sovelluksista." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Luettele kaikki käytettävissä olevat tilat." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Tiivis tila (auto/compact/full)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Asennettava paikallinen pakettitiedosto" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Luettele kaikki käytettävissä olevat taustajärjestelmät." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Hakujono." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Luettelee eri käyttäjäpalautemahdollisuudet" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Tukee appstream:-URL-skeemaa" + +# HUOM! Tämä on ohjelman nimi! +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Sovellusten löytämisohjelma" + +#: discover/main.cpp:93 +#, fuzzy, kde-format +#| msgid "© 2010-2019 Plasma Development Team" +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2019 Plasman kehitysryhmä" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Tommi Nieminen" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "translator@legisign.org" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Käytettävissä olevat taustajärjestelmät:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Käytettävissä olevat tilat:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Lisäosat" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Lisää…" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Toteuta muutokset" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +# *** TARKISTA: Helpottaisi, kun tietäisi mitä %1 on! +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Lisää uusi %1-lähde" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Lisää" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Peru" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 arvostelu" +msgstr[1] "%1 arvostelua" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Ei vielä arvosteluja" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Lähteet" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 – %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Mikä on uutta" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Arvostelut" + +#: discover/qml/ApplicationPage.qml:245 +#, fuzzy, kde-format +#| msgid "Show %1 review..." +#| msgid_plural "Show all %1 reviews..." +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:257 +#, fuzzy, kde-format +#| msgid "Write a Review..." +msgid "Write a Review" +msgstr "Kirjoita arvostelu…" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Install to write a review!" +msgid "Install to Write a Review" +msgstr "Asenna arvioidaksesi!" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Luokka:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, julkaistu %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versio:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Tekijä:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Koko:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Lähde:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Lisenssi: " + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Katso kaikki käyttöehdot" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Ohjeet:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Lue käyttöopas" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Ota osaa:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Käy sovelluksen verkkosivulla" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Lahjoita" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Ilmoita ongelmasta" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Etsi: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Lajittelu: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nimi" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Arvostelu" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Koko" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Julkaisuaika" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Mitään ei valitettavasti löytynyt" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Etsitään yhä…" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Esitellyt" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Ladataan…" + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "Sovelluksia ei voi ladata.Tarkista internetyhteys." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Palaa Esitellyt-sivulle" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Etsi" + +# Viittaa asennettuijen ohjelmien luetteloon. +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Asennetut" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Noudetaan päivityksiä" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Ajan tasalla" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Päivitä (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Tietoa" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Asetukset" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Pahoittelut…" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Discoveria ei voitu sulkea, koska tehtäviä on kesken." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Lopeta silti" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Resurssia ei löydy: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Jatka" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Lähetä käyttötiedot" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Lähettää KDE:lle nimettömät käyttötiedot, jotta saamme paremmin tietoa " +"käyttäjistämme. Lisätietoa: https://kde.org/privacypolicy-apps.php.Lähettää " +"KDE:lle nimettömät käyttötiedot, jotta saamme paremmin tietoa " +"käyttäjistämme. Lisätietoa: https://kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Lähetetään käyttötietoja…" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Asetukset" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Palauteasetukset…" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Voit auttaa meitä parantamaan tätä sovellusta jakamalla tilastoja ja " +"osallistumalla kyselyihin.Voit auttaa meitä parantamaan tätä sovellusta " +"jakamalla tilastoja ja osallistumalla kyselyihin." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Osallistu…" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Odotamme palautettasi!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Osallistu…" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Asenna" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Poista" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Resurssit: %1" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Laajennukset…" + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tehtävät (%1 %)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Tehtävät" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 – %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 – %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versio: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "tuntematon tarkastaja" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 tekijältä %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Kommentti käyttäjältä %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Äänet: %1 / %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Hyödyllinen?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Kyllä" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Ei" + +# @title:window +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "%1 – arvosteleminen" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Arvostelu:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nimi:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Otsikko:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Anna arvostelu" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Kirjoita otsikko" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Kirjoita arvostelu" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Jatka kirjoittamista…" + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Liian pitkä!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Lähetä arvostelu" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Arvostelut: %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Kirjoita arvostelu…" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Asenna sovellus kirjoittaaksesi arvostelun" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Etsi…" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Etsi luokasta %1…" + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (oletus)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Lisää lähde…" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Aseta oletukseksi" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Ei voitu lisätä suositummuutta: %1" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Ei voitu vähentää suositummuutta: %1" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Poista lähde" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Näytä sisältö" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Puuttuvia taustaosia" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Päivitykset" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Päivitysongelma" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Päivitys valittu" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Päivitä kaikki" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Kaikki päivitykset valittu (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 päivitys valittu (%3)" +msgstr[1] "%1/%2 päivitystä valittu (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Käynnistä uudelleen" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Päivitä versioon %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Asennetaan" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Lisätietoa…" + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Noudetaan päivityksiä…" + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Päivitykset" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Järjestelmä vaatii uudelleenkäynnistyksen päivitysten takia" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Ajan tasalla" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Päivitykset tulisi tarkistaa" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Ei tiedetä, milloin päivitykset on viimeksi tarkistettu" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# pmap: =:gen=Muon Discoverin: +# pmap: =:elat=Muon Discoverista: + + + + + + + + + + + + + + + + +# Viittaa asennettuijen ohjelmien luetteloon. \ No newline at end of file diff --git a/po/fr/libdiscover.po b/po/fr/libdiscover.po new file mode 100644 index 0000000..4bec3b6 --- /dev/null +++ b/po/fr/libdiscover.po @@ -0,0 +1,1644 @@ +# 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, 2019, 2020. +# William Oprandi , 2019. +# Xavier Besnard , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-12-29 13:57+0100\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: FR\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 20.12.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Simon Depiets, Xavier Besnard" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sdepiets@gmail.com, xavier.besnard@neuf.fr" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Propriétaire" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Erreur lors du téléchargement des avis : %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Erreur lors de l'envoi de l'utilité : %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Erreur lors de l'envoi de l'avis : %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Catégorie bidon" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "factice" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "modules factices" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "factice 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "factice avec des trucs" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "factice avec quelques trucs" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "factice 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "factice 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessoires" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accessibilité" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEs" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localisation" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilage" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Éducation" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomy" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chimie" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Électronique" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Physique" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jeux" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzles" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulation" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sports" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Action" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Émulateurs" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Graphisme" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Dessin" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Photographie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publication" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Afficheurs" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Discussion" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Courriel" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Bureautique" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Paquet local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL « AppStream » malformée « %1 »" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Inconnu" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Collecte des informations sur la taille" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Taille inconnue" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 sur le disque" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Ajouter un Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Impossible d'ajouter la source %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Suppression de « %1 »" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
      • %1
      " +msgstr "" +"Pour supprimer ce dépôt, vous devez désinstaller les applications suivantes :" +"
      • %1
      " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Impossible de supprimer le dépôt à distance %1 : %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Impossible de trouver %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Saisissez une URI de dépôt Flatpak (*.flatpakrepo) :" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Ajoute le distant « %1 » dans %2 depuis %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Lire les conditions « EULA »" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Le moteur %1 prends trop de temps à s'initialiser" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Applications" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Modules Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Modules d'applications" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Erreur de réseau dans le moteur %1 : %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Trop de requêtes envoyées vers le serveur pour le moteur %1. Veuillez " +"essayer à nouveau dans quelques minutes." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Moteur %1 incorrect, veuillez contacter votre distributeur." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" +"Impossible d'atteindre la capture d'écran pour l'élément %1 depuis le moteur " +"%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Erreur non gérée dans le moteur %1. Veuillez contacter votre distributeur." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1 : %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Mauvaise URI KNewStuff : %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Lancer" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Utiliser" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Informations de connexion pour %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Impossible de lancer %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Modules Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Composants graphiques Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Polices" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Mémoire insuffisante" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Aucune connexion réseau disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Opération non prise en charge" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Erreur interne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Échec GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID non valable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Paquet non installé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Impossible de trouver le paquet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Paquet déjà installé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Le téléchargement du paquet a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Impossible de trouver le groupe de paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Liste du groupe de paquets non valable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "La résolution de dépendances a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Filtre non valable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "La création du processus a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "La transaction a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaction interrompue" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Aucun cache disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Impossible de trouver le dépôt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Impossible de supprimer un paquet système" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Le démon PackageKit a planté" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Erreur d'initialisation" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Échec à la finalisation de la transaction" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "L'analyse de la configuration a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Impossible d'annuler la transaction" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Impossible d'obtenir le verrou" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Aucun paquet à mettre à jour" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Impossible d'écrire la configuration du dépôt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "L'installation locale a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Une mauvaise signature GPG a été trouvée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Aucune signature GPG trouvée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Impossible d'installer le paquet source" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Erreur de configuration du dépôt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Aucun accord de licence" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Un conflit de fichier a été trouvé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Conflit de paquet décelé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Dépôt indisponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Fichier paquet non valable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Installation du paquet bloquée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Un paquet corrompu a été trouvé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Tous les paquets sont déjà installés" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Impossible de trouver le fichier" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Aucun autre miroir disponible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Aucune donné de mise à jour de distribution" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Architecture incompatible" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Plus d'espace disponible sur le périphérique" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Un changement de média est nécessaire" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Impossible de trouver la mise à jour" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Impossible d'installer depuis un dépôt non signé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, 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:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Impossible d'obtenir la liste des fichiers" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Impossible d'obtenir les éléments requis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Impossible de désactiver le dépôt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Téléchargement restreint détecté" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "La configuration du paquet a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "La construction du paquet a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "L'installation du paquet a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "La suppression du paquet a échoué" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, 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:140 +#, kde-format +msgid "The package database changed" +msgstr "La base de donnés des paquets a changé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Le type fourni n'est pas pris en charge" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Racine d'installation non valable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Impossible d'atteindre les sources" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Priorité annulée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "La transaction n'est pas terminée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Verrou nécessaire" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Erreur inconnue %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "« %1 » a été modifié et suggère d'être redémarré." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Un changement par « %1 » suggère de redémarrer le système." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "L'application devra être redémarrée." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "La session devra être redémarrée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Le système devra être redémarré." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "En attente..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Mise à jour du cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Installation..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Traitement..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Suppression..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Téléchargement en cours..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Installation..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Mise à jour..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Nettoyage..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Résolution des dépendances..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Vérification des signatures..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Test de publication..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Publication..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Terminé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Annulé" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "En attente du verrou..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "En attente d'autorisation..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Copie des fichiers..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "État inconnu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "En attente de quelque chose." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Établissement de la transaction..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "La transaction est en cours..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "La transaction supprime des paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "La transaction télécharge des paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "La transaction est en train d'installer des paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "La transaction met à jour des paquets..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "La transaction fait du nettoyage..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"La transaction résout les dépendances des paquets qu'elle va installer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "La transaction est terminée !" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "La transaction a été annulée" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, 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:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "La transaction copie des fichiers..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Mise à jour du cache du dépôt en cours..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "État inconnu %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "stable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "en évolution" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "en test" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Mise-à-jour hors ligne" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Impossible de mettre à jour %1 paquet\n" +"%2" +msgstr[1] "" +"Impossible de mettre à jour %1 paquets\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Ouvrir Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Réparer le système" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Réparation impossible" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Veuillez signaler à votre distribution : %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Mise à jour réussie de %1 paquet" +msgstr[1] "Mise à jour réussie de %1 paquets" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Rend obsolète :" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Note de publication :" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "État de la mise à jour :" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Redémarrer :" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Fournisseur :" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL du dépôt :" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Paquets à supprimer" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
      • %1

      in order to install:
      • %2
      " +msgstr "" +"Les paquets suivants seront supprimés par la mise à jour :
      • %1

      • afin d'installer :\n" +"
        • %2
        " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Veuillez redémarrer l'ordinateur pour terminer la mise à jour" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Accepter l'accord de licence" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Signature manquante pour %1 dans %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirmer la suppression des paquets" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Aimanter" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Cassé(s)" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Disponible(s)" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Installé(s)" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Évolutif(s)" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, 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:94 +#, kde-format +msgid "View Updates" +msgstr "Afficher les mises à jour" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1 / s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "En cours de démarrage" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "En attente" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Téléchargement en cours" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installation en cours" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Suppression en cours" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Changement des modules en cours" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Fait" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Échec" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Annulé" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Mises à jour d'applications" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Mises à jour du système" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Modules complémentaires" \ 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..7331636 --- /dev/null +++ b/po/fr/plasma-discover-notifier.po @@ -0,0 +1,179 @@ +# 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, 2019, 2020. +# William Oprandi , 2019. +# Nathan Murat , 2019. +# Xavier Besnard , 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-26 14:29+0200\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: FR\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 20.12.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Afficher les mises à jour" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Mises à jour de sécurité disponibles" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Mises à jour disponibles" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Système à jour" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "L'ordinateur doit redémarrer" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Hors-ligne" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Redémarrer" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Un redémarrage est nécessaire" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Mise à niveau" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Mise à niveau disponible" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nouvelle version : %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Notificateur de Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Notificateur d'état des mises à jour du système" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Équipe de développement Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Simon Depiets" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sdepiets@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Remplacer une instance existante" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Ne pas afficher le notificateur" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "caché" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Mises à jour" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Ouvrir Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Voir les mises à jour…" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Rafraîchir..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Ré-démarrer pour appliquer les mises à jour installées" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Cliquez pour re-démarrer l'ordinateur" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Redémarrer..." + + + + + + + + + + + + + +# 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. \ 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..2c2f9e4 --- /dev/null +++ b/po/fr/plasma-discover.po @@ -0,0 +1,832 @@ +# 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, 2019, 2020. +# Xavier Besnard , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-16 13:47+0200\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: FR\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 20.12.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Aucun service d'application trouvé, veuillez le signaler à votre " +"distribution." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Impossible de trouver la catégorie « %1 »" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Impossible d'ouvrir %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" +"Ouvre directement l'application spécifiée par son lien « appstream:// URI »." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Ouvre en recherchant des programmes pouvant correspondre avec le type " +"« MIME » donné." + +#: discover/main.cpp:35 +#, 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:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Liste tous les modes disponibles." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Mode concis (auto / concis / complet)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Fichier de paquet local à installer" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Liste toutes les moteurs disponibles." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Critères de recherche." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Liste les options disponibles pour les retours des utilisateurs" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Prend en charge les URL appstream:" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Un explorateur d'applications" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 l'équipe de développement de Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Assurance qualité, conception et ergonomie" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Geoffray Levasseur, Matthieu Robin" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "geoffray.levasseurbrandin@numericable.fr, kde@macolu.org" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Moteurs disponibles :\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Modes disponibles :\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Modules complémentaires" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Davantage…" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Appliquer les changements" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Ré-initialiser" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Ajouter un nouveau dépôt %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Ajouter" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Annuler" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 note" +msgstr[1] "%1 notes" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Pas encore de note" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Sources" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Changements récents" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Révisions" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, kde-format +msgid "Write a Review" +msgstr "Donnez votre avis" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Installez-le pour donner votre avis" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Catégorie : " + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, publiée le %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Version :" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Auteur :" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Taille : " + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Source :" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licence :" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Afficher les conditions complètes de la licence" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Documentation :" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Lisez le manuel de l'utilisateur" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Impliquez-vous :" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Visiter le site Web de l'appli" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Faire un don" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Signaler un problème" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Chercher : %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Tri : %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nom" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Note" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Taille" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Date de sortie" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Désolé, rien n'a été trouvé" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Recherche toujours en cours…" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Applications phares" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Chargement..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Impossible de charger les applications. Vérifiez votre connexion à " +"Internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Revenir à la page Applications phares" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Rechercher" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Installé(s)" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Téléchargement des mises à jour..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "À jour" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Mettre à jour (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "À propos" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Configuration" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Désolé..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" +"Impossible de fermer Discover, car certaines tâches sont encore en cours." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Quitter quand même" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Impossible de trouver la ressource : %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Continuer" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Envoyer les informations d'utilisation" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Envoie des informations d'utilisation anonymes à KDE afin que nous puissions " +"mieux comprendre nos utilisateurs. Consultez https://kde.org/privacypolicy-" +"apps.php pour davantage d'informations." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Envoi des informations d'utilisation..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Configurer" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Configurer les retours des utilisateurs…" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Vous pouvez nous aider à améliorer cette application en partageant des " +"statistiques et en participant à des enquêtes." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Contribuer…" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Nous attendons vos retours d'expérience avec impatience !" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Participer..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installer" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Supprimer" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ressources pour « %1 »" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Extensions…" + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tâches (%1 %)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Tâches" + +# unreviewed-context +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2 : %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Version : %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "évaluateur inconnu" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 par %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Commentaire par %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Votes : %1 sur %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Utile ?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Oui" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Non" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Évaluation %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Note :" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nom :" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Titre : " + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Saisissez une note" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Saisissez le titre" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Donnez votre avis" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Continuez à écrire..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Trop long !" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Envoyer mon avis" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Revues pour %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Donnez votre avis..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Installez cette appli et donnez votre avis" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Chercher..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Chercher dans « %1 »..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (par défaut)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Ajouter une source..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Définir comme défaut" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Impossible d'augmenter la préférence « %1 »" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Impossible de diminuer la préférence « %1 »" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Supprimer l'origine" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Afficher le contenu" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Moteurs manquants" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Mises à jour" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Problème de mises à jour" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "Ok" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Mises à jour sélectionnées" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Tout mettre à jour" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Toutes les mises à jour sélectionnées (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1 / %2 mise à jour sélectionnée (%3)" +msgstr[1] "%1 / %2 mises à jour sélectionnées (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Redémarrer" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Mise à jour vers la version %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Installation en cours" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Plus d'informations..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Téléchargement des mises à jour..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Mises à jour" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Le système nécessite un redémarrage pour appliquer des mises à jour" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "À jour" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Vous devriez vérifier les mises à jour" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ No newline at end of file diff --git a/po/ga/libdiscover.po b/po/ga/libdiscover.po new file mode 100644 index 0000000..9cbe56c --- /dev/null +++ b/po/ga/libdiscover.po @@ -0,0 +1,1708 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Cluichí Cláir" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Proprietary" +msgid "Proprietary" +msgstr "Dílsithe" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: 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" + +#: 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í" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Inrochtaineacht" + +#: 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" + +#: 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ú" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEanna" + +#: 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ú" + +#: 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ú" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Oideachas" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Ceimic" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Leictreonaic" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matamaitic" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fisic" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Cluichí" + +#: 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" + +#: 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" + +#: 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í" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzail" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Insamhladh" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafaic" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3T" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Foilsitheoireacht" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Comhrá" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Oifig" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "Anaithnid" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Anaithnid" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 ar an diosca" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "Á Bhaint" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
        • %1
        " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Applications" +msgstr "Feidhmchláir" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "Feidhmchláir" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: 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" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Clónna" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, 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:28 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "PackageID invalid" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not installed" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not found" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, 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:38 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package download failed" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, 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:42 +#, 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:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization Error" +msgid "Transaction failure" +msgstr "Earráid Túsaithe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization Error" +msgid "Initialization failure" +msgstr "Earráid Túsaithe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Local install failed" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Residual Configuration" +msgid "Repo configuration error" +msgstr "Cumraíocht Iarmharach" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package install blocked" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, 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:102 +#, kde-format +msgid "File not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, 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:136 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, 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:157 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Unknown Error" +msgid "Unknown error %1." +msgstr "Earráid Anaithnid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when waiting" +#| msgid "Waiting" +msgid "Waiting..." +msgstr "Ar Feitheamh" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, 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:213 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "Bain" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Downloading" +msgid "Downloading..." +msgstr "Á Íosluchtú" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Installing" +msgid "Installing..." +msgstr "Á Shuiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, 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:233 +#, kde-format +msgid "Finished" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Authentication error" +msgid "Waiting for authorization..." +msgstr "Earráid fhíordheimhnithe" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown Status" +msgstr "Anaithnid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown status %1." +msgstr "Anaithnid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "Suiteáilte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "Feidhmchláir" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Open File" +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Oscail Comhad" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"base" +#| "\"" +#| msgid "Base System" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Bunchóras" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Packages to remove" +msgstr "Gan Suiteáil" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
        • %1

        in order to install:
        • %2
        " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Briste" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Le fáil" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Suiteáilte" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "In-uasghrádaithe" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Lorg Nuashonruithe" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "View Updates" +msgstr "Feidhmchláir" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when waiting" +#| msgid "Waiting" +msgctxt "@info:status" +msgid "Starting" +msgstr "Ar Feitheamh" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when waiting" +#| msgid "Waiting" +msgctxt "@info:status" +msgid "Waiting" +msgstr "Ar Feitheamh" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Á Íosluchtú" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Á Shuiteáil" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Á Bhaint" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Breiseáin á nAthrú" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when done" +#| msgid "Done" +msgctxt "@info:status" +msgid "Done" +msgstr "Críochnaithe" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Feidhmchláir" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Nuashonruithe" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "" \ 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..442db9b --- /dev/null +++ b/po/ga/plasma-discover.po @@ -0,0 +1,841 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "" + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Cealaigh" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, 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:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Foinsí" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Anótálacha" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review" +msgstr "Seol" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Install to Write a Review" +msgstr "Seol" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:337 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Foinsí" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Ainm" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Rátáil" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:152 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "Suiteáil" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Á Luchtú..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Suiteáilte" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Fetching updates..." +msgstr "Nuashonraigh" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Up to date" +msgstr "Nuashonraigh" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Nuashonraigh" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "Na Rátálacha Is Fearr" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +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/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:17 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "Nuashonraigh" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, fuzzy, kde-format +#| msgid "%1
        %2" +msgid "%1 by %2" +msgstr "%1
        %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviewing %1" +msgstr "Athbhreithnigh" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Rátáil:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Ainm" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the title" +msgstr "Seol" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the review" +msgstr "Seol" + +#: discover/qml/ReviewDialog.qml:69 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "Á Luchtú..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Seol" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "Reviews for %1" +msgstr "Rátáil" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review..." +msgstr "Seol" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "" + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Cuir Foinse Leis" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "Nuashonraigh" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Update Issue" +msgstr "Nuashonraigh" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "Nuashonraigh Uile" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Nuashonraigh Uile" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "All updates selected (%1)" +msgstr "Nuashonraigh Uile" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Nuashonraigh Uile" +msgstr[1] "Nuashonraigh Uile" +msgstr[2] "Nuashonraigh Uile" +msgstr[3] "Nuashonraigh Uile" +msgstr[4] "Nuashonraigh Uile" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "Suiteáil" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Nuashonraigh" + +#: discover/qml/UpdatesPage.qml:373 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "Nuashonraigh" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Up to date" +msgstr "Nuashonraigh" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..c4e93de --- /dev/null +++ b/po/gl/libdiscover.po @@ -0,0 +1,1644 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2019-11-01 11: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 19.11.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Adrian Chaves (Gallaecio)" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "adrian@chaves.io" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Privativo" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoría de proba" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "proba" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "complementos de proba" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "proba 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "proba con cousas" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "proba con bastantes cousas" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "proba 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "proba 4" + +#: 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 "Aplicacións" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accesorios" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accesibilidade" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEs" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Xogos" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Quebracabezas" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Estratexia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Deportes" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuladores" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Debuxo" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visores" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Conversa" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Correo" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Oficina" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Fardo local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL de appstream incorrecto «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Descoñecido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Obtendo información sobre o tamaño" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Tamaño descoñecido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 no disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Engadir Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Non se puido engadir a fonte %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "Retirando" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
        • %1
        " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, fuzzy, kde-format +#| msgid "Could not add the source %1" +msgid "Could not find %1" +msgstr "Non se puido engadir a fonte %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, fuzzy, kde-format +#| msgid "Flatpak repository URI (*.flatpakrepo)" +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "URI de repositorio de Flatpak (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Engadindo o remoto «%1» en %2 desde %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "A infraestrutura %1 tardou demasiado en inicializarse" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Aplicacións" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Complementos de Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Complementos de aplicacións" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Erro de rede na infraestrutura «%1»: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Enviáronse demasiadas solicitudes ao servidor para a infraestrutura %1. " +"Inténteo de novo dentro duns minutos." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, 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:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" +"Non se puido obter a captura de pantalla para a entrada %1 na infraestrutura " +"%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Produciuse un erro non xestionado na infraestrutura %1. Póñase en contacto " +"co seu distribuidor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI de KNewStuff incorrecta: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Iniciar" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Usar" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Información de acceso para %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Non se pode iniciar %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Complementos de Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Trebellos de Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fontes" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Esgotouse a memoria" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Non se dispón de conexión á rede" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operación non admitida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Erro interno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Fallo de GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Identificador incorrecto de paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "O paquete non está instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Non se atopou o paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "O paquete xa está instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Fallou a descarga do paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Non se atopou o grupo do paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "A lista do grupo do paquete é incorrecta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Fallou a resolución de dependencias" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Filtro incorrecto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "A creación dun fío de execución fallou" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Fallo de transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Cancelouse a transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Non hai caché dispoñíbel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Non se pode atopar o repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Non se pode retirar un paquete de sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "O servizo de PackageKit quebrou" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Fallo de inicialización" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Non se puido inicializar a transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Fallou a análise da configuración" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Non se pode cancelar a transacción" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Non se pode obter o bloqueo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Non hai ningún paquete para actualizar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Non se pode escribir a configuración do repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Fallou a instalación local" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Atopouse unha sinatura GPG incorrecta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Non se atopou ningunha sinatura GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Non se pode instalar o paquete de código fonte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Erro da configuración do repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Non hai acordo de licenza" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Atopáronse conflitos de ficheiro" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Atopouse un conflito entre paquetes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "O repositorio non está dispoñíbel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Ficheiro de paquete incorrecto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Instalación do paquete bloqueada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Atopouse un paquete corrompido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Xa están instalados todos os paquetes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Non se atopou o ficheiro" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Non hai máis réplicas dispoñíbeis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Non hai datos de anovado da distribución" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "A arquitectura non é compatíbel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Non queda espazo no dispositivo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Precísase dun cambio de soporte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Non se atopou a actualización" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Non se pode instalar desde un repositorio non asinado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Non se pode actualizar desde un repositorio non asinado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Non se pode obter a lista de ficheiros" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Non se pode obter a lista que requisitos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Non se pode desactivar o repositorio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Detectouse unha descarga restrinxida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Non se puido configurar o paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "O paquete non se puido construír" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Non se puido instalar o paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Non se puido retirar o paquete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, 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:140 +#, kde-format +msgid "The package database changed" +msgstr "A base de datos de paquetes cambiou" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "O tipo fornecido non se admite" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "A raíz da instalación é incorrecta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Non se poden obter as fontes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Cancelouse a prioridade" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transacción non rematada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Requírese un bloqueo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Erro descoñecido %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Un cambio en «%1» suxire que reinicie o seu sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "É necesario reiniciar a aplicación." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "É necesario reiniciar a sesión." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "É necesario reiniciar o sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Estase a agardar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Actualizando a caché…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Configuración…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Estase a procesar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Retirar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Estase a descargar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Instalando…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Estase a actualizar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Estase a limpar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Resolvendo as dependencias…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Estanse a comprobar as sinaturas…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Probar a remisión…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Estase a remitir…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Rematada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Estase a agardar o bloqueo…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Estase a agardar pola autorización…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Estanse a copiar os ficheiros…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Estado descoñecido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Estase a agardar por algo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Configurando a transacción…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "A transacción está en funcionamento…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "A transacción está a retirar os paquetes…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "A transacción está a descargar os paquetes…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "A transacción está a instalar os paquetes…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "A transacción está a actualizar paquetes…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "A transacción está a limpar…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "A transacción rematou!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "A transacción cancelouse" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, 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:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "A transacción está a copiar os ficheiros…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Actualizando a caché dos repositorios…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Estado descoñecido %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Estábel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Inestábel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Probas" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Actualizacións sen Internet" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Non se puido actualizar %1 paquete.\n" +"%2" +msgstr[1] "" +"Non se puideron actualizar %1 paquetes.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Abrir Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Reparar o sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "A reparación fallou" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Informe do problema á súa distribución: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 paquete actualizouse correctamente" +msgstr[1] "%1 paquetes actualizáronse correctamente" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Obsoletos:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Notas de publicación:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Estado da actualización:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Reiniciar:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Vendedor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL do repositorio:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Paquetes para desinstalar" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "
        • %1
        \n" +#| "in order to install:\n" +#| "
        • %2
        " +msgid "" +"The following packages will be removed by the update:
        • %1

        in order to install:
        • %2
        " +msgstr "" +"A actualización retirará os seguintes paquetes:\n" +"
        • %1
        \n" +"para instalar:\n" +"
        • %2
        " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Reinicie o computador para completar a actualización" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Aceptar os termos de uso" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Falta a firma para %1 en %2." + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirmar o retiro do paquete" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Axustar" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Esta aplicación de Snap necesita desactivar as medidas de reclusión de " +"seguranza." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Estragado" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Dispoñíbel" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Anovábel" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Comprobar se hai novas actualizacións" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Offline Updates" +msgid "View Updates" +msgstr "Actualizacións sen Internet" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Iniciando" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Agardando" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Descargando" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instalando" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Retirando" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Cambiando os complementos" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Feito" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Fallou" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancelado" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Actualizacións de aplicacións" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualizacións do sistema" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Complementos" \ 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..3a2f64c --- /dev/null +++ b/po/gl/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# 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, 2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2019-11-01 11: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 19.11.70\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "View Updates" +msgstr "Actualizacións" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Hai dispoñíbeis actualizacións de seguranza." + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Hai actualizacións dispoñíbeis." + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "O sistema está ao día." + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Hai que reiniciar o computador" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Sen Internet" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Reiniciar" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "É necesario reiniciar" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Anovar" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Anovación dispoñíbel" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nova versión: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Notificador de Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Notificador do estado das actualizacións do sistema" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Equipo de desenvolvemento de Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Adrian Chaves (Gallaecio)" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "adrian@chaves.io" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Substituír unha instancia existente" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Non mostrar o notificador" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "agochado" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Actualizacións" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Ver as actualizacións…" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Actualizar…" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Reiniciar…" \ 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..c560141 --- /dev/null +++ b/po/gl/plasma-discover.po @@ -0,0 +1,896 @@ +# 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, 2019. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2019-11-26 22: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 19.08.3\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Non se atoparon infraestruturas de aplicacións, informe do problema á súa " +"distribución." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Non se puido atopar a categoría «%1»." + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Non se puido abrir %1" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Abre directamente a aplicación indicada polo seu nome de paquete." + +#: discover/main.cpp:34 +#, fuzzy, kde-format +#| msgid "Open with a program that can deal with the given mimetype." +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Abrir un programa que poida xestionar o mimetype dado." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostra unha lista de entradas cunha categoría." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Listar todos os modos dispoñíbeis." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modo de visualización (automático, compacto ou completo)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "O ficheiro local de paquete para instalar" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Listar todas as infraestruturas dispoñíbeis." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Cadea de busca." + +#: discover/main.cpp:42 +#, fuzzy, kde-format +#| msgid "We are looking for your feedback!" +msgid "Lists the available options for user feedback" +msgstr "Queremos saber a túa opinión!" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Compatíbel co esquema de URL «appstream:»" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Descubrir" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Un explorador de aplicacións" + +#: discover/main.cpp:93 +#, fuzzy, kde-format +#| msgid "© 2010-2019 Plasma Development Team" +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2019 Equipo de desenvolvemento de Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Adrian Chaves (Gallaecio)" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "adrian@chaves.io" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Infraestruturas dispoñíbeis:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Modos dispoñíbeis:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Complementos" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Máis…" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Aplicar os cambios" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, fuzzy, kde-format +#| msgid "Add a new %1 repository" +msgid "Add New %1 Repository" +msgstr "Engadir un novo repositorio de %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Engadir" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Cancelar" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Cualificación" +msgstr[1] "%1 valoracións" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Aínda non ten valoracións." + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Fontes" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Novidades" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Revisións" + +#: discover/qml/ApplicationPage.qml:245 +#, fuzzy, kde-format +#| msgid "Show %1 review..." +#| msgid_plural "Show all %1 reviews..." +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:257 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write a Review" +msgstr "Escriba unha recensión!" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Install this app to write a review!" +msgid "Install to Write a Review" +msgstr "Instale o aplicativo e escriba unha recensión!" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Categoría:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, publicado o %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versión:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Tamaño:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Orixe:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licenza:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Ver os termos completos da licenza" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, fuzzy, kde-format +#| msgid "Report a Problem:" +msgid "Report a problem" +msgstr "Informar dun problema:" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Busca: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Orde: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Cualificación" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Tamaño" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Data de publicación" + +#: discover/qml/ApplicationsListPage.qml:138 +#, fuzzy, kde-format +#| msgid "Sorry, nothing found..." +msgid "Sorry, nothing found" +msgstr "Non se atopou nada…" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Continúa a busca…" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Recomendado" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Cargando…" + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Non se poden cargar as aplicacións.Verifique a conexión a Internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Volver á páxina salientada" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Non se recomenda executar como root, e non é necesario." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Buscar" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates..." +msgid "Fetching updates..." +msgstr "Obtendo as actualizacións…" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Up to date" +msgid "Up to date" +msgstr "Actualizado" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualizar (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Sobre" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Configuración" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Desculpe…" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Non se puido pechar Discover, é necesario completar algunhas tarefas." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Saír de todos xeitos" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Non foi posíbel atopar o recurso: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Proseguir" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Entregar información de uso" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Envía información de uso anonimizada a KDE para permitirnos entender mellor " +"aos nosos usuarios. Para máis información, consulte https://kde.org/" +"privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Entregando información de uso…" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Configurar" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Configurar as achegas…" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Pode compartir estatísticas e participar en enquisas para axudarnos a " +"mellorar a aplicación." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Colaborar…" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Queremos saber a túa opinión!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Participar…" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalar" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Retirar" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Recursos de «%1»" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Extensións…" + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tarefas (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Tarefas" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, fuzzy, kde-format +#| msgid "Version:" +msgid "Version: %1" +msgstr "Versión:" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "autor descoñecido" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 por %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Comentado por %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Reviewing '%1'" +msgid "Reviewing %1" +msgstr "Revisando «%1»" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Cualificación:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Nome" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Título:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Escriba unha valoración" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Write a title" +msgid "Write the title" +msgstr "Escriba un título" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write the review" +msgstr "Escriba unha recensión!" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Siga escribindo…" + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Demasiado longa!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Enviar a recensión" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Ratings for %1" +msgid "Reviews for %1" +msgstr "Cualificacións de «%1»" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write a Review..." +msgstr "Escriba unha recensión!" + +#: discover/qml/ReviewsPage.qml:59 +#, fuzzy, kde-format +#| msgid "Install this app to write a review!" +msgid "Install this app to write a review" +msgstr "Instale o aplicativo e escriba unha recensión!" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Buscar…" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Buscar en «%1»…" + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (predeterminado)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Engadir unha fonte…" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Converter en predefinido" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Non se puido aumentar a opción «%1»" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Non se puido diminuír a opción «%1»" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Eliminar a orixe" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Mostrar o contido" + +#: discover/qml/SourcesPage.qml:239 +#, 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:41 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Update Issue" +msgstr "Actualizacións" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "Aceptar" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Actualizar os escollidos" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Actualizalo todo" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Todas as actualizacións seleccionadas (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Seleccionouse %1/%2 actualización (%3)" +msgstr[1] "Seleccionáronse %1/%2 actualizacións (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Reiniciar" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Actualizar á versión %1" + +#: discover/qml/UpdatesPage.qml:288 +#, fuzzy, kde-format +#| msgctxt "Do not translate or alter \\x9" +#| msgid "%1 → %2%1 → %2%2" +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Instalando" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Máis información…" + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Obtendo as actualizacións…" + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Actualizacións" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Hai que reiniciar o sistema para aplicar as actualizacións" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Actualizado" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Debería comprobar se hai actualizacións." + +#: discover/qml/UpdatesPage.qml:408 +#, 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." + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# skip-rule: trasno-find \ No newline at end of file diff --git a/po/he/libdiscover.po b/po/he/libdiscover.po new file mode 100644 index 0000000..655a0e3 --- /dev/null +++ b/po/he/libdiscover.po @@ -0,0 +1,1620 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "משחקי לוח" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "קטגורית דמה" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "דמה" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "תוספי דמה" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "דמה 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "דמה עם דברים" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "דמה עם כמה דברים" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "דמה 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "דמה 4" + +#: 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 "יישומים" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "עזרים" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "נגישות" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "כלי מפתחים" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "ניפוי באגים" + +#: 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 "מעצבי ממשק משתמש" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "סביבות פיתוח" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "בינאום" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "חינוכי" + +#: 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 "מדע והדסה" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "אסטרונומיה" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "ביולוגיה" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "כימיה" + +#: 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 "מדעי המחשב ורובוטיקה" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "אלקטרוניקה" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "הנדסה" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "גאוגרפיה" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "גאולוגיה" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "מתמטיקה" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "פיזיקה" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "משחקים" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "ארקייד" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "משחקי לוח" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "משחקי קלפים" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "פזלים" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "משחקי תפקידים" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "סימולציות" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "ספורט" + +#: 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 "יישומים" + +#: 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 "סימולציות" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "גרפיקה" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "תלת מימד" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "שירטוט" + +#: 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 "ציור ועריכה" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "צילום" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "הוצאה לאור" + +#: 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)" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "מציגים" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "אינטרנט" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "צאטים" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "שיתוף קבצים" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "דואר אלקטרוני" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "דפדפני אינטרנט" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "מולטימדיה" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "משרד" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "הגדרות מערכת" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "לא ידוע" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "package-name (version)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "אחזר מידע על הגודל" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "גודל לא ידוע" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 להורדה, %2 על דיסק" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 על דיסק" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "מסיר" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
        • %1
        " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgid "Applications" +msgstr "יישומים" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "תוספי Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "תוספי יישומים" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "תוספי Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "יישומוני Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "גופנים" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "שגיאה לא ידועה %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "ממתין..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "מרענן מטמון..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "מגדיר..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "מעבד..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "מסיר..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "מוריד..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "מתקין..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "מעדכן..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "מנקה..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "הסתיים" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "מבוטל" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "ממתין לאימות" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "מעתיק קבצים" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "מצב לא ידוע" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "מצב לא ידוע %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "יציב" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "לא יציב" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "בבדיקות" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Application Updates" +msgid "Offline Updates" +msgstr "עדכוני יישומים" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "," + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "מצב עדכון:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "הפעל מחדש:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
        • %1

        in order to install:
        • %2
        " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "אשר EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "שבור" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "זמין" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "הותקן" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "ניתן לשדרוג" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, fuzzy, kde-format +#| msgctxt "package-name (version)" +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "בדוק עדכונים" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Application Updates" +msgid "View Updates" +msgstr "עדכוני יישומים" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "מתחיל" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "ממתין" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "מוריד" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "מתקין" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "מסיר" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "סיים" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Canceled" +msgctxt "@info:status" +msgid "Cancelled" +msgstr "מבוטל" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "עדכוני יישומים" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "עדכוני מערכת" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, fuzzy, kde-format +#| msgid "Plasma Addons" +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "תוספי Plasma" \ 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..334a1ba --- /dev/null +++ b/po/he/plasma-discover-notifier.po @@ -0,0 +1,160 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+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:87 +#, kde-format +msgid "View Updates" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "עדכוני אבטחה זמינים" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "עדכונים זמינים" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "המערכת מעודכנת" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:209 +#, fuzzy, kde-format +#| msgid "Updates available" +msgid "Upgrade available" +msgstr "עדכונים זמינים" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:38 +#, fuzzy, kde-format +#| msgid "System update available" +msgid "System update status notifier" +msgstr "עדכוני מערכת זמינים" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..d549e73 --- /dev/null +++ b/po/he/plasma-discover.po @@ -0,0 +1,818 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:41 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search string." +msgstr "חפש ב־%1..." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "עוד..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "החל הגדרות" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "דירוג:" +msgstr[1] "דירוג:" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Sources" +msgstr "עוד..." + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:210 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "סקירה" + +#: discover/qml/ApplicationPage.qml:245 +#, fuzzy, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "עוד הערות (%1)..." +msgstr[1] "עוד הערות (%1)..." + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Write a Review" +msgstr "סקירה" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Install to Write a Review" +msgstr "סקירה" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +msgid "Version:" +msgstr "גרסה" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, fuzzy, kde-format +msgid "Size:" +msgstr "גודל" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:346 +#, fuzzy, kde-format +msgid "License:" +msgstr "רשיון" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, fuzzy, kde-format +msgid "Search: %1" +msgstr "חפש ב־%1..." + +#: discover/qml/ApplicationsListPage.qml:64 +#, fuzzy, kde-format +msgid "Sort: %1" +msgstr "חפש ב־%1..." + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:76 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "דירוג:" + +#: discover/qml/ApplicationsListPage.qml:85 +#, fuzzy, kde-format +msgid "Size" +msgstr "גודל" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:152 +#, fuzzy, kde-format +msgid "Still looking..." +msgstr "מתקין..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "טוען..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "חפש..." + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "מותקן" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +msgid "Fetching updates..." +msgstr "אין עדכונים" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +msgid "Up to date" +msgstr "עדכון" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "עדכון (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +msgid "Settings" +msgstr "דירוג הכי טוב" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Contribute..." +msgstr "עוד..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "התקן" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "הסר" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "תוספים..." + +#: discover/qml/ProgressView.qml:17 +#, fuzzy, kde-format +msgid "Tasks (%1%)" +msgstr " (%1)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, fuzzy, kde-format +msgid "Version: %1" +msgstr "גרסה" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviewing %1" +msgstr "סקירה" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "דירוג:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "" + +#: discover/qml/ReviewDialog.qml:69 +#, fuzzy, kde-format +msgid "Keep writing..." +msgstr "טוען..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews for %1" +msgstr "סקירה" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Write a Review..." +msgstr "סקירה" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "חפש..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "חפש ב־%1..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Add Source..." +msgstr "עוד..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +msgid "Updates" +msgstr "עדכון" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +msgid "Update Issue" +msgstr "עדכון" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "" + +#: discover/qml/UpdatesPage.qml:77 +#, fuzzy, kde-format +msgid "Update Selected" +msgstr "עדכן נבחרים" + +#: discover/qml/UpdatesPage.qml:77 +#, fuzzy, kde-format +msgid "Update All" +msgstr "עדכון" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "All updates selected (%1)" +msgstr "עדכן נבחרים" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "עדכן נבחרים" +msgstr[1] "עדכן נבחרים" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +#| msgid "Installing..." +msgid "Installing" +msgstr "מתקין..." + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "אין עדכונים" + +#: discover/qml/UpdatesPage.qml:373 +#, fuzzy, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "עדכון" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "עדכון" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..089c027 --- /dev/null +++ b/po/hu/libdiscover.po @@ -0,0 +1,1633 @@ +# 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, 2019, 2020. +# Kiszel Kristóf, 2011, 2017. +# Balázs Úr , 2012, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-12-26 12:06+0100\n" +"Last-Translator: Kristóf Kiszel \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 21.03.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kiszel.kristof@gmail.com" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Zárt" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Hiba történt az értékelések lekérésekor: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Hiba történt a hasznosság küldésekor: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Hiba történt az értékelés elküldésekor: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Üres kategória" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "üres" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "üres bővítmények" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "üres1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "üres, dolgokkal" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "üres, néhány dologgal" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "üres 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "üres 4" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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 "Tudományos és műszaki" + +#: 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" + +#: 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" + +#: 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" + +#: 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 "Számítógép-tudomány és robotika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Mérnöki" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizika" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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ó" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Stratégiai" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sportok" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Akció" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulátorok" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: 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" + +#: 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 "Festés és szerkesztés" + +#: 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" + +#: 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" + +#: 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 "Szkennelés és OCR" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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 "Hang- és videoszerkesztők" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Zenelejátszók" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Videolejátszók" + +#: 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 és DVD" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Iroda" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Helyi csomag" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Hibás appstream URL: „%1”" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Ismeretlen" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Méretinformáció lekérdezése" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Ismeretlen méret" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 a lemezen" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Flathub hozzáadása" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Nem sikerült hozzáadni a forrást: %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "A(z) „%1” eltávolítása" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
        • %1
        " +msgstr "" +"A tároló eltávolításához a következő alkalmazások eltávolítása szükséges: " +"
        • %1
        " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "A(z) %1 távoli tároló eltávolítása meghiúsult: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "A(z) %1 nem található" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Adjon meg egy Flatpak tároló URI-t (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "„%1” hozzáadása itt: %2, innen: %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "EULA áttekintése" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"A(z) %1 kéri a licenc elfogadását:\n" +"%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "A(z) %1 backend inicializálása túl sokáig tartott" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Alkalmazások" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma bővítmények" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Alkalmazás-bővítmények" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Hálózati hiba a(z) %1 backendben: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"A(z) %1 backend túl sok kérést küldött a szerver felé. Próbálja újra néhány " +"perc múlva." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" +"A(z) %1 backend érvénytelen, lépjen kapcsolatba a disztribúció készítőivel." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" +"Nem sikerült letölteni a képernyőképet a(z) %1 bejegyzéshez a(z) %2 " +"backendben" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Nem kezelt hiba a(z) %1 backendben. Lépjen kapcsolatba a terjesztővel." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Hibás KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Indítás" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Használat" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Bejelentkezési adatok ehhez: %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Nem lehet elindítani ezt: %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma bővítmények" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma widgetek" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Betűkészletek" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Nincs elég memória" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Nem érhető el hálózati kapcsolat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "A művelet nem támogatott" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Belső hiba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG hiba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "A csomagazonosító érvénytelen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "A csomag nincs telepítve" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "A csomag nem található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "A csomag már telepítve van" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "A csomag letöltése meghiúsult" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "A csomagcsoport nem található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "A csomag csoportlista érvénytelen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "A függőségfeloldás nem sikerült" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "A szűrő érvénytelen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Meghiúsult a szál létrehozása közben" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Tranzakcióhiba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "A tranzakció megszakítva" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Nem érhető el gyorsítótár" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Nem található a tároló" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Nem lehet eltávolítani rendszercsomagot" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "A PackageKit démon összeomlott" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Inicializálási hiba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Nem sikerült befejezni a tranzakciót" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "A beállítás feldolgozása nem sikerült" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Nem lehet megszakítani a tranzakciót" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Nem lehet beszerezni a zárat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Nincsenek frissítendő csomagok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Nem lehet írni a tároló beállítást" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "A helyi telepítés nem sikerült" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Rossz GPG-aláírás található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Nem található GPG-aláírás" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Nem sikerült telepíteni a forrás csomagot" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Tároló beállítási hiba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Nincs licencegyezmény" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Fájlütközések találhatók" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Csomagütközés található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "A tároló nem érhető el" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Érvénytelen csomagfájl" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "A csomag telepítése blokkolva" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Sérült csomag található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Már minden csomag telepítve van" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "A fájl nem található" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Nem érhető el több tükör" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Nincs disztribúció frissítési adat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Nem kompatibilis architektúra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Nincs szabad hely az eszközön" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Adathordozó-csere szükséges" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Nem található frissítés" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, 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:120 +#, 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:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Nem kérhető le a fájllista" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Nem kérhetők le követelmények" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Nem lehet letiltani a tárolót" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Korlátozott letöltés észlelhető" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "A csomag beállítása meghiúsult" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "A csomag fordítása meghiúsult" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "A csomag telepítése meghiúsult" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "A csomag eltávolítása meghiúsult" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "A frissítés futó folyamat miatt megszakadt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "A csomagadatbázis megváltozott" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "A megadott típus nem támogatott" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "A telepítési gyökér érvénytelen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Nem lehet letölteni a forrásokat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Megszakított prioritás" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Befejezetlen tranzakció" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Zárolás szükséges" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Ismeretlen hiba: %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "A(z) „%1” módosítása a rendszer újraindítását javasolja." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Az alkalmazást újra kell indítani." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "A munkamenetet újra kell indítani" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "A rendszert újra kell indítani." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Várakozás…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Gyorsítótár frissítése…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Beállítás…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Feldolgozás…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Eltávolítás…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Letöltés…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Telepítés…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Frissítés…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Tisztítás…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Függőségek feloldása…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Aláírások ellenőrzése…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "A véglegesítés tesztelése…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Véglegesítés…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Befejezve" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Megszakítva" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Várakozás a zárolásra…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Várakozás hitelesítésre…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Fájlok másolása…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Ismeretlen állapot" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Várunk valamire." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Tranzakció beállítása…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "A tranzakció jelenleg dolgozik…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "A tranzakció jelenleg csomagokat távolít el…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "A tranzakció jelenleg csomagokat tölt le…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "A tranzakciók jelenleg csomagokat telepítenek…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "A tranzakció jelenleg csomagokat frissít…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "A tranzakció jelenleg tisztít…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "A tranzakció befejeződött!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "A tranzakció meg lett szakítva" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, 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:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "A tranzakció jelenleg fájlokat másol…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, 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:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Ismeretlen állapot: %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Instabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Teszt" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Offline frissítések" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"%1 csomag frissítése meghiúsult\n" +"%2" +msgstr[1] "" +"%1 csomag frissítése meghiúsult\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Discover megnyitása" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Rendszer javítása" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "A javítás nem sikerült" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Jelentse a disztribúciójának: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 csomag sikeresen frissítve" +msgstr[1] "%1 csomag sikeresen frissítve" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Elavult:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Kiadási megjegyzések:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Frissítés állapota:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Újraindítás:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Gyártó:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plusz %1 függőség)" +msgstr[1] "%2 (plusz %1 függőség)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "Tároló:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Eltávolítandó csomagok" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
        • %1

        in order to install:
        • %2
        " +msgstr "" +"A frissítés az alábbi csomagokat távolítja el:
        • %1

        az " +"alábbiak telepítéséhez:
        • %2
        " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Indítsa újra a számítógépet a frissítés befejezéséhez" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "EULA elfogadása" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "A(z) %1 csomag aláírása hiányzik a(z) %2 tárolóban" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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 "" +"Megbízik az alábbi kulcsban?\n" +"\n" +"URL: %1\n" +"Felhasználó: %2\n" +"Kulcs: %3\n" +"Ujjlenyomat: %4\n" +"Időbélyegző: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Csomageltávolítás megerősítése" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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] "" +"A művelet az alábbi csomagot is eltávolítja:\n" +"%2" +msgstr[1] "" +"A művelet az alábbi csomagokat is eltávolítja:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "Ez a Snap alkalmazás a biztonsági funkciók kikapcsolását kéri." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +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:85 +#, kde-format +msgid "Broken" +msgstr "Törött" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Elérhető" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Telepítve" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Frissíthető" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Frissítések keresése" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Frissítések megtekintése" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Kezdés" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Várakozás" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Letöltés" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Telepítés" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Eltávolítás" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Bővítmények módosítása" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Kész" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Sikertelen" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Megszakítva" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Alkalmazásfrissítések" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Rendszerfrissítések" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Bővítmények" \ 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..2a1a102 --- /dev/null +++ b/po/hu/plasma-discover-notifier.po @@ -0,0 +1,158 @@ +# 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, 2019. +# Kristof Kiszel , 2018, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-12-26 12:07+0100\n" +"Last-Translator: Kristóf Kiszel \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 21.03.70\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Frissítések megtekintése" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Biztonsági frissítések érhetők el" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Frissítések érhetők el" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "A rendszer napra kész" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "A számítógépet újra kell indítani" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Offline" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Újraindítás" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Újraindítás szükséges" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "A rendszert újra kell indítani a frissítések alkalmazásához." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Frissítés" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Frissítés érhetők el" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Új verzió: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Discover értesítő" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Rendszerfrissítés állapotértesítő" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© A Plasma fejlesztői, 2010-2019." + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ulysses@kubuntu.org" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Meglévő példány cseréje" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Ne mutassa az értesítőt" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "rejtett" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Frissítések" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Discover megnyitása…" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Frissítések megtekintése…" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Frissítés…" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Indítsa újra a telepített frissítések alkalmazásához" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Kattintson a számítógép újraindításához" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Újraindítás…" \ 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..27d6170 --- /dev/null +++ b/po/hu/plasma-discover.po @@ -0,0 +1,816 @@ +# 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, 2019. +# Balázs Úr , 2012, 2013, 2014. +# Kiszel Kristóf , 2017, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-12-26 12:37+0100\n" +"Last-Translator: Kristóf Kiszel \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 21.03.70\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Nem találhatóak alkalmazásbackendek, kérjük, jelentse a disztribúciójának." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Nem található kategória: „%1”" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Nem lehet dolgozni Flatpak erőforrásokkal a(z) %1 backend nélkül. Kérjük, " +"telepítse azt." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "A(z) %1 nem nyitható meg" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" +"A megadott alkalmazás közvetlen megnyitása az appstream:// URI-je szerint." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Megnyitás a megadott MIME-típust kezelni képes program keresésével." + +#: discover/main.cpp:35 +#, 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:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Az összes elérhető mód listázása." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompakt mód (automatikus/kompakt/teljes)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Helyi csomagfájlok telepítése" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Az összes elérhető backend listázása." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Szöveg keresése." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Felsorolja a felhasználói visszajelzés lehetőségeit" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Az appstream: url séma támogatása" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Egy alkalmazásfelfedező" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© A Plasma fejlesztői, 2010-2020." + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Minőségbiztosítás, design és használhatóság" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Kiszel Kristóf" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "ulysses@kubuntu.org" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Elérhető háttérprogramok:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Elérhető módok:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Bővítmények" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Több…" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Változtatások alkalmazása" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Visszaállítás" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Új %1 tároló hozzáadása" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Hozzáadás" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Mégsem" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 értékelés" +msgstr[1] "%1 értékelés" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Nincsenek értékelések" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Források" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Újdonságok" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Vélemények" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "További %1 értékelés megjelenítése…" +msgstr[1] "Az összes (%1) értékelés megjelenítése…" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Írjon értékelést" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Telepítse értékelés írásához" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategória:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, megjelent ekkor: %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Verzió:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Szerző:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Méret:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Forrás:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licenc:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Teljes licenc megjelenítése" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Dokumentáció:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Felhasználói kézikönyv elolvasása" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Csatlakozzon:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Az alkalmazás weboldalának meglátogatása" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Pénzadomány küldése" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Hiba bejelentése" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Keresés: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Rendezés: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Név" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Értékelés" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Méret" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Kiadás ideje" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Nincs találat" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Még keressük…" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Kiemelt alkalmazások" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Betöltés…" + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Nem lehet betölteni az alkalmazásokat.Ellenőrizze az internet-" +"kapcsolatát." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Vissza a kiemelt alkalmazásokhoz" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Keresés" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Telepített" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Frissítések letöltése…" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Naprakész" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Frissítés (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Névjegy" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Beállítások" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Elnézést…" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Nem lehet bezárni a Discovert, még vannak befejezendő feladatok." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Kilépés mindenképp" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Nem található erőforrás: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Folytatás" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Használati statisztikák elküldése" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Névtelen használati statisztikák küldése a KDE-nek, hogy jobban megérthessék " +"a felhasználók szokásait. További információkért keresse fel a https://kde." +"org/privacypolicy-apps.php oldalt." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Használati statisztikák küldése…" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Beállítások" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Visszajelzés beállítása…" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"A statisztikák megosztásával és felmérésekben való részvétellel segítheti az " +"alkalmazás fejlesztését." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Hozzájárulás…" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Kíváncsiak vagyunk a véleményére!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Részvétel…" + +#: 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/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Erőforrások ehhez: „%1”" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Bővítmények…" + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Feladatok (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Feladatok" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Verzió: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "ismeretlen értékelő" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1, szerző: %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Megjegyzés, tőle: %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Szavazatok: %1 / %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Hasznos?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Igen" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Nem" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "A(z) %1 értékelése" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Értékelés:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Név:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Cím:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Adjon értékelést" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Írja be a címet" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Írjon értékelést" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Írja tovább…" + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Túl hosszú!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Értékelés elküldése" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Értékelések ehhez: %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Írjon értékelést…" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Telepítse ezt az alkalmazást, és írjon értékelést róla" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Keresés…" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Keresés itt: „%1”…" + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (alapértelmezett)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Forrás hozzáadása…" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Legyen alapértelmezett" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Nem sikerült növelni a(z) „%1” prioritását" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Nem sikerült csökkenteni a(z) „%1” prioritását" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Eredet törlése" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Tartalom megjelenítése" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Hiányzó backendek" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Frissítések" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Frissítési probléma" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Kijelöltek frissítése" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Összes frissítése" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Összes frissítés kijelölve (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 frissítés kijelölve (%3)" +msgstr[1] "%1/%2 frissítés kijelölve (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Újraindítás" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Frissítés erre a verzióra: %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Telepítés" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "További információk…" + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Frissítések letöltése…" + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Frissítések" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "A frissítések alkalmazásához a rendszer újraindítása szükséges" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Naprakész" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Frissítések keresése szükséges" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ No newline at end of file diff --git a/po/ia/libdiscover.po b/po/ia/libdiscover.po new file mode 100644 index 0000000..b0a70cf --- /dev/null +++ b/po/ia/libdiscover.po @@ -0,0 +1,1600 @@ +# 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, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-10-28 21:40+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 2.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Proprietari" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "error durante que on cercava revisiones: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Error durante que il submitteva applicabilitate: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Error durante que il submitteva revision: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoria ficte" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "ficte" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "adjuncte ficte" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "ficte 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "ficte con cosa" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "ficte con quasi alcun cosa" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "ficte 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "ficte 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessorios" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accessibilitate" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Instrumentos de disveloppator" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Cribrar" + +#: 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 "Dessigno de interfacie graphice" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEs" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localisation" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilar" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Education" + +#: 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 "Scientia e Ingenieria" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chimia" + +#: 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 "Scientia de computator e robotica" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Electronica" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Ingenieria" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geographia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Mathematica" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Physica" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jocos" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzles" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Joco de rolo" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulation" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sports" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Action" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatores" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Graphiches" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Designo" + +#: 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 "Picturar e editar" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Photographia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicante" + +#: 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 "Scander e OCR" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Spectatores" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Compartir de file" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Posta" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Navigatores de web" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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 Audio e Video" + +#: 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 audio" + +#: 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 Video" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Officio" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Preferentias de systema" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Fasce local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Url de Appstream '%1' malformate" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Incognite" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Recuperante information de grandor" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Grandor incognite" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 de discargar, %2 sur disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 sur disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Adder Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Non pote adder le fonte %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Removente '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
        • %1
        " +msgstr "" +"Per remover iste receptaculo, le sequente applicationes debe esser de-" +"installate:
        • %1
        " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Il falleva a remover receptaculo remote %1: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Il non pote trovar %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "inserta un URI de receptaculo de Flatpak (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Addente remote '%1' in %2 ex %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Revide EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Le remote %1 require que tu accepta lor licentia:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Retroadministration %1 prendeva troppo tempore per initialisar" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Applicationes" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Addons(Elementos adjunte o additiones) de Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Addons (additiones) de application" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Error de rete in retroadministration %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Troppe requestas inviate al servitor per retroadministration %1. Pro favor " +"essaya de nove in alcun minutas." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Invalide retroadministration %1, tu continge tu distributor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Errate KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Lancea" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Usa" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Information de accesso per %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Non pote lancear %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Addons(Elementos adjunte o additiones) de Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Widgets de Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fonts" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "Foras de Memoria" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operation non supportate" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Error Interne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Filtro invalide" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "File non trovate" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Error Incognite %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Expectante..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Configura..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Processante..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Remove" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Discargante..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Installante..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Il es actualisante..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Nettante..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Terminate" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Cancellate" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Expectante autorisation..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Copiante files..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Stato incognite" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Stato incognite %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Non stabile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Essayante" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Actualisationes foras de linea" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Aperi Discover (Discoperi)" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Notas de Revision:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Actuaisa stato:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Re-starta:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Venditor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL de repositorio:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Pcchettos de remover" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
        • %1

        in order to install:
        • %2
        " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Pro favor tu re-starta le computator per terminar le actualisation" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Accepta EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Signatura mancante per %1 in %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirma elimination de pacchetto" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Lista omne le retroadministrationes (backends) que nos volera haber cargate. " +"separate per virgula ','." + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Rupte" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Disponibile" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Installate" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Actualisabile" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Marcar per actualisationes" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Actualisationes de vista" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Initiante" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Expectante" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Discargante" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installante" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Removente" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Cargante additiones (addons)" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Facite" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Fallite" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancellate" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Actualisationes de application" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualisationes de systema" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Addons(Elementos adjunte)" \ 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..9b74564 --- /dev/null +++ b/po/ia/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# giovanni , 2017, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-09-08 21:46+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 2.0\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Actualisationes de vista" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Actualisationes de securitate disponibile" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Actualisationes disponibile" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Systema actualisate" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Computator necessita restartar" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Foras de linea" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Re-Initia" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Restartar es requirite" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Le systema necessita essere restartate ut actualisatione ha effecto." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Actualisa" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Actualisation disponibile" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nove version: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Notificator de Discoperi (Discover)" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Gerente de notificator de stato de actuaisation de systema" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" +"© 2010-2019 Copyright -2012 Plasma Development Team -Equipa de " +"disveloppamento de Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Reimplacia un instantia existente" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Non monstrar le notificator" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "celate" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Actualisationes" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Aperi Discover (Discoperi)..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Vide actualisationes..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Refresca..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Re-starta per applicar le actualisationes installate" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Pulsa pro re-startar le computator" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Re-Initia..." \ 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..334d880 --- /dev/null +++ b/po/ia/plasma-discover.po @@ -0,0 +1,817 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Giovanni Sora , 2016, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-10-15 12:06+0200\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 20.04.2\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"nulle application de retro-administration trovate, pro favor tu report a tu " +"distribution." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Non pote trovar categoria '%1'" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Non pote interager con ressources de flatpak sin le retroadministration de " +"flatpak %1. Pro favor tu installa illo prime." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Non poteva aperir %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Aperi directemente al application pecificate per su appstream://URI." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Aperi con un cerca de programmas que pote tractar con le date typo mime." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Monstra un lista de entratas con un categorias." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Aperi Discover in un modo dicto. Modos corresponde al buttones de barra de " +"instrumento." + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "Lista omne modos disponibile." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modo compacte (auto/compact/full)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "File de pacchetto local de installar" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Lista tote le retro-administrationes disponibile." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Cerca catena." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Lista le optiones disponibile per responsa al usator" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Supporta appstream: url schema" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover (Discoperi)" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Un explrator de application" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "" +"© 2010-2020 Copyright -2012 Plasma Development Team -Equipa de " +"disveloppamento de Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Assicuration de qualitate, Designo e Usabilitate" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Giovanni Sora" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "g.sora@tiscali.it" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Retro administrationes disponibile:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Modos disponibile:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Addons(Elementos adjunte)" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Altere..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Applica le modificationes" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Reinitialisa" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Adde nove %1 repositorio" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Adde" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Cancella" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 Evalutation" +msgstr[1] "Evalutation: %1%" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Nulle evalutation totevia" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Fontes" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Que es de novo" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Revisiones" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Monstra revision %1 ..." +msgstr[1] "Monstra omne %1 revisiones..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Scribe un Revision" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Installa per scriber un revision" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Categoria:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, relaxate sur %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Version:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Dimension:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Fonte:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licentia:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Vide terminos complete de licentia" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Documentation:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Lege le guida de usator" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Sea involvite:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Visita le sito web del app" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Tu face un donation" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Reporta un problema" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Cerca: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Ordina: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nomine" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Evalutation" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Dimension" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Data de revision" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Desolate,il trovava nulle..." + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Ancora il es guardante..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Eminente" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Cargante..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Incapace a cargar applicationes.Pro favor tu verifica le connexion de " +"Internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Retorn al pagina Eminente" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Executar como root es discoragiate e non necessari." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Cerca" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Installate" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Reportante Actualisationes..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Actualisate" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualisa (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "A proposito" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Preferentias" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Desolate..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Non pote clauder Discover, il ha cargas que necessita esser facite." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Quita in omne caso" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Incapace de trovar ressource: '%1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Procede" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Submitte information de uso" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Invia information de uso ponite anonyme a KDE assi que kde pote meliormente " +"comprender nostre usatores. Pro ulterior information vide httpS://kde.org/" +"privacy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Submitte information de uso..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Configura" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Configura retorno ..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Tu pote adjutar nos a ameliorar iste application per compartir statistica e " +"participar a surveys." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Contribue" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Nos cerca tu retorno!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Participa..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installa" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Remove" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ressources for '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Extensiones..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Cargas (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Cargas" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Version:%1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "revisor incognite" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 per %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Comment per %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Votos: %1 de %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Utile?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Si" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "No" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Revisionante '%1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Evalutation:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nomine:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Titulo:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Inserta un evalutation" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Scribe le titulo" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Scribe le recension" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Mantene scribente ..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Troppo longe!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Submitte recension" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Revisiones per %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Scribe un Revision..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Installa iste app per scriber un revision" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Cerca..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Cerca in '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Predefinite)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Adde fonte..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Face predefinite" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Falleva a accrescer '%1' preferentia" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Falleva a diminuer '%1' preferentia" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Dele le origin" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Monstra contentos" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Retro-administration mancante" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Actualisationes" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Problema de actualisar" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Actualisa selectionate" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Actualisa omne" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Omne actualisationes selegite (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 Actualisation selectionate (%3)" +msgstr[1] "%1 %2 actualisationes selectionate (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Re-Initia" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Actualisa a version %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Installante" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Altere information..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Reportante Actualisationes..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Actualisationes" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Le systema require un reinitio per applicar actualisationes" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Actualisate" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Deberea verificar actualisationes" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Il es discognoscite quando esseva le ultime verifica de atualisationes" \ No newline at end of file diff --git a/po/id/libdiscover.po b/po/id/libdiscover.po new file mode 100644 index 0000000..7a2a661 --- /dev/null +++ b/po/id/libdiscover.po @@ -0,0 +1,1634 @@ +# 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, 2019, 2020. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: KDE Frameworks 5 Applications\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-08-27 21:46+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=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Wantoyo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "wantoyek@gmail.com" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Proprietari" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Error ketika sedang mengambil ulasan: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Error ketika sedang mengajukan kebergunaan: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Error ketika sedang mengajukan ulasan: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Kategori Dumi" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "dumi" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "pernik dumi" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "dumi 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "dumi dengan hal" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "dumi dengan beberapa hal" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "dumi 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "dumi 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Aksesoris" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Aksesibilitas" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Pendebugan" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Pelokalisan" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Perprofilan" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Pendidikan" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologi" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fisika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Permainan" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkade" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Permainan Papan" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Permainan Kartu" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulasi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategi" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Aksi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulator" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Menggambar" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Menerbitkan" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Pirsawan" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Obrolan" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Mail" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Pemutar Audio" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Pemutar Video" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Perkantoran" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Bundel lokal" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Url appstream yang rusak '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Tak diketahui" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Mengambil informasi ukuran" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Ukuran tak diketahui" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 unduh, %2 pada disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 pada disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Tambahkan Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Tidak dapat menambahkan sumber %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Menghapus '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
        • %1
        " +msgstr "" +"Untuk menghapus repositori ini, aplikasi berikut mestinya diuninstal:
        • " +"%1
        " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Gagal menghapus repositori jarak jauh %1: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Tidak bisa menemukan %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Masukkanlah URI repositori Flatpak (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Penambahan jarak jauh '%1' di %2 dari %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Backend %1 terlalu lama untuk diinisialisasi" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Aplikasi" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Pernik Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Pernik Aplikasi" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Error jaringan dalam backend %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Terlalu banyak permintaan yang dikirim ke server untuk backend %1. Silakan " +"coba lagi dalam beberapa menit." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Backend %1 tidak absah, hubungi distibutormu." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Tidak dapat mengambil skrinsut untuk entri %1 dalam backend %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Error yang tak tertangani dalam backend %1. Kontak distibutormu." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI KNewStuff yang salah: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Luncurkan" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Gunakan" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Log informasi untuk %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Tak bisa meluncurkan %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Pernik Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Widgets Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Font" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Kehabisan memori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Tidak ada koneksi jaringan yang tersedia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operasi tidak didukung" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Galat internal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Kegagalan GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "ID paket tidak absah" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Paket enggak terinstal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Paket enggak ketemu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Paket sudah terinstal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Unduh paket gagal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Kelompok paket tidak ditemukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Daftar kelompok paket tidak absah" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Gagal pemberesan ketergantungan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Filter tidak absah" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Gagal saat menciptakan sebuah tapak" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Kegagalan transaksi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaksi dibatalkan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Tidak ada Cache yang tersedia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Tak bisa menemukan repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Tak bisa menghapus paket sistem" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Daemon PackageKit telah mogok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Kegagalan inisialisasi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Gagal menyelesaikan transaksi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Mengurai konfig gagal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Tak bisa membatalkan transaksi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Tak bisa merengkuh kunci" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Tidak ada paket-paket untuk diperbarui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Tak bisa menulis config repo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Pemasangan lokal gagal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Ditemukan tandatangan GPG buruk" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Tidak ada tandatangan GPG yang ditemukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Tak bisa menginstal paket sumber" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Galat konfigurasi repo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Tidak ada persetujuan lisensi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Ditemukan file bentrok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Ditemukan paket bentrok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Repo tidak tersedia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "File paket tidak absah" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Pemasangan paket terhalang" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Ditemukan paket korup" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Semua paket siap diinstal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "File tidak ditemukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Tidak ada lagi cermin tersedia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Tidak ada data upgrade distro" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Arsitektur tak kompatibel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Tidak ada ruang pada perangkat yang tersisa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Sebuah perubahan media diperlukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Pembaruan tidak ditemukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Tak bisa menginstal dari repo yang tanpa ditandatangani" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Tak bisa memperbarui dari repo yang tanpa ditandatangani" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Tak bisa mendapatkan daftar file " + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Tak bisa mendapatkan yang dibutuhkan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Tak bisa menonfungsikan repositori" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Pembatasan unduh terdeteksi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Paket gagal untuk dikonfigurasi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Gagal membangun paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Gagal menginstal paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Paket gagal dihapus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Perbarui gagal karena menjalankan proses" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Database paket diubah" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Jenis yang tersedia tidak didukung" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Instal root tidak absah" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Tidak bisa mengambil sumber" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Prioritas dibatalkan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transaksi tidak terselesaikan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Kunci diperlukan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Galat %1tak diketahui." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' telah diubah dan menyarankan agar dijalankan ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" +"Sebuah perubahan berdasarkan '%1' menyarankan agar sesimu untuk dimulai " +"ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' telah diperbarui untuk alasan keamanan, dianjurkan pemulaian ulang sesi." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' telah diperbarui untuk alasan keamanan, dianjurkan penyalaan ulang " +"sistem." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" +"Sebuah perubahan berdasarkan '%1' menyarankan agar sistemmu untuk dinyalakan " +"ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Aplikasi akan dijalankan ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sesi akan dimulai ulang" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Sistem akan dinyalakan ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Demi keamanan, sesi akan dimulai ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Demi keamanan, sistem akan dinyalakan ulang." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Menunggu..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Menyegarkan Cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Pengesetan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Memroses..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Hapus..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Mengunduh..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Menginstal..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Mengupdate..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Memperbersihkan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Penanggulangan ketergantungan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Mengecek tandatangan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Melakukan uji..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Melakukan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Selesai" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Dibatalkan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Menunggu kunci..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Menunggu otorisasi..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Menyalin file..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Status Tidak Diketahui" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Kami sedang menunggu sesuatu." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Persiapan transaksi ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transaksi saat ini sedang mengerjakan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transaksi saat ini sedang menghapus paket-paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transaksi saat ini sedang mengunduh paket-paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transaksi saat ini sedang menginstal paket-paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transaksi saat ini sedang memperbarui paket-paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transaksi saat ini sedang memperbersihkan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transaksi terselesaikan!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transaksi dibatalkan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transaksi saat ini sedang menunggu kunci..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Menunggu pengguna untuk otorisasi transaksi..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transaksi saat ini sedang menyalin file..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Saat ini sedang menyegarkan cache repositori..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Status %1 tak diketahui." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Labil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Pengujian" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Pembaruan Luring" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Gagal memperbarui %1 paket\n" +"%2" +msgstr[1] "" +"Gagal memperbarui %1 paket\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Buka Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Reparasi Sistem" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Gagal Mereparasi" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Mohon laporkan ke distribusimu: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Berhasil memperbarui %1 paket" +msgstr[1] "%1 paket berhasil diperbarui" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Usang:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Catatan Rilis:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Keadaan Pembaruan:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Nyalakan ulang:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Vendor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus %1 ketergantungan)" +msgstr[1] "%2 (plus %1 ketergantungan)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL repositori:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Paket untuk dihapus" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
        • %1

        in order to install:
        • %2
        " +msgstr "" +"Paket-paket berikut ini akan dihapus oleh karena pembaruan:
        • %1

        • agar dapat menginstal:
          • %2
          " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Mohon nyalakan ulang komputer untuk menyelesaikan pembaruan" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Setujui EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Tandatangan hilang untuk %1 dalam %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Konfirmasi penghapusan paket" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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] "" +"Aksi ini juga akan menghapus paket berikut ini:\n" +"%2" +msgstr[1] "" +"Aksi ini juga akan menghapus paket-paket berikut ini:\n" +"%2" + +# Name +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Aplikasi snap ini memerlukan langkah-langkah pengamanan keamanan yang " +"dinonfungsikan." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Rusak" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Tersedia" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Terinstal" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Dapat ditingkatkan" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Periksa Pembaruan" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Tampilan Pembaruan" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/d" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Memulai" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Menunggu" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Mengunduh" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Menginstal" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Menghapus" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Perubahan Pernik" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Selesai" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Gagal" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Dibatalkan" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Pembaruan Aplikasi" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Pembaruan Sistem" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Pernik" \ 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..b77512d --- /dev/null +++ b/po/id/plasma-discover-notifier.po @@ -0,0 +1,157 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Wantoyo , 2017, 2018, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-08-27 21:04+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=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.04.2\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Tampilan Pembaruan" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Tersedia pembaruan keamanan" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Tersedia pembaruan" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Sistem terbarukan" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Komputer butuh direstart" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Offline" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Nyalakan Ulang" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Diperlukan menyalakan-ulang" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Sistem perlu dinyalakan-ulang supaya pembaruan berpengaruh." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Tingkatkan" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Tersedia peningkatan" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Versi baru: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Penotifikasi Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Penotifikasi status pembaruan sistem" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Tim Pengembangan Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Wantoyo" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "wantoyek@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Ganti sebuah instansi yang ada" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Jangan tampilkan penotifikasi" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "tersembunyi" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Pembaruan" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Buka Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Lihat Pembaruan..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Segarkan..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Nyalakan ulang untuk menerapkan pembaruan yang terinstal" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Klik untuk menyalakan ulang komputer" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Nyalakan Ulang..." \ 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..8a72c57 --- /dev/null +++ b/po/id/plasma-discover.po @@ -0,0 +1,823 @@ +# 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, 2019, 2020. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: KDE Frameworks 5 Applications\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-08-27 22:06+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=2; plural=(n != 1);\n" +"X-Generator: Lokalize 20.04.2\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Tidak ada backend aplikasi yang ditemukan, silakan laporkan kepada " +"distribusimu." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Tidak bisa menemukan kategori '%1'" + +#: discover/DiscoverObject.cpp:281 +#, 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 menginstalnya terlebih dahulu." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Tak mampu membuka %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" +"Secara langsung membuka aplikasi yang ditentukan berdasarkan appstream:// " +"URI." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Buka dengan sebuah pencarian program yang bisa menghadapi dengan mimetype " +"yang diberikan." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Tampilan sebuah daftar dari entri-entri dengan sebuah kategori." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Daftar semua mode-mode yang tersedia." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Mode Ringkas (auto/ringkas/penuh)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "File paket lokal untuk dipasang" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Daftar semua backend yang tersedia." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Cari string." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Daftar opsi yang tersedia untuk tanggapan pengguna" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Dukungan appstream: skema url" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Sebuah penjelajah aplikasi" + +#: discover/main.cpp:93 +#, fuzzy, kde-format +#| msgid "© 2010-2019 Plasma Development Team" +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2019 Tim Pengembang Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Wantoyo" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "wantoyek@gmail.com" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Backend yang tersedia:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Mode-mode yang tersedia:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Addon" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Selebihnya..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Terapkan Perubahan" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Tambahkan Yang Baru Repositori %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Tambah" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Batal" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 peringkat" +msgstr[1] "%1 peringkat" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Belum ada peringkat" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Sumber" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Apa Yang Baru" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Ulasan" + +#: discover/qml/ApplicationPage.qml:245 +#, fuzzy, kde-format +#| msgid "Show %1 review..." +#| msgid_plural "Show all %1 reviews..." +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Tampilkan %1 ulasan..." +msgstr[1] "Tampilkan semua dari %1 ulasan..." + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Write a Review..." +msgid "Write a Review" +msgstr "Tulislah sebuah Ulasan..." + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Install to write a review!" +msgid "Install to Write a Review" +msgstr "Installah untuk menulis sebuah ulasan!" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategori:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, dirilis pada %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versi:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Penulis:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Ukuran:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Sumber:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Lisensi:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Lihat persyaratan lisensi lengkap" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Dokumentasi:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Bacalah panduan penggunaan" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Ikut terlibat:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Kunjungi situs app" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Berikan donasi" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Laporkan masalah" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Cari: '%1'" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Urutkan: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nama" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Peringkat" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Ukuran" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Tanggal Rilis" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Maaf, tidak menemukan apapun" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Sedang mencari..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Berfitur" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Memuat..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Tidak bisa memuat aplikasi. Mohon verifikasikan perkoneksian Internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Kembali ke halaman Berfitur" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Berjalan sebagai root adalah ngeri dan tidak perlu." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Cari..." + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Terinstal" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Mengambil pembaruan..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Terbarukan" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "(%1) pembaruan" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Tentang" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Pengaturan" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Maaf..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Discover tidak bisa ditutup, ada tugas-tugas yang perlu dikelarkan." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Berhentikan Meski Demikian" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Tak dapat menemukan sumberdaya: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Teruskan" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Ajukan informasi penggunaan" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Mengirimkan informasi penggunaan yang dianonimkan ke KDE sehingga kita bisa " +"lebih memahami pengguna kami. Untuk informasi selebihnya lihatlah https://" +"kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Mengajukan informasi penggunaan..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Konfigurasikan" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Konfigurasikan tanggapan..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Kamu bisa membantu kami memperbaiki aplikasi ini dengan berbagi statistik " +"dan berpartisipasi dalam survei." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Kontribusikan..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Kami butuh tanggapanmu!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Berpartisipasi..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instal" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Hapus" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Sumberdaya untuk '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Ekstensi2..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tugas (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Tugas" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versi: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "pengulas tak diketahui" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 menurut %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Komentar menurut %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Vote: %1 dari %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Bermanfaat?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Ya" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Tidak" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Mengulas %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Peringkat:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nama:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Judul:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Masukkan peringkat" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Tulis judul" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Tulis ulasan" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Tetap menulis..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Terlalu panjang!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Ajukan ulasan" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Ulasan untuk %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Tulislah sebuah Ulasan..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Installah aplikasi ini untuk menulis sebuah ulasan" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Cari..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Cari di '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Baku)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Tambahkan Sumber..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Jadikan baku" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Gagal meningkatkan preferensi '%1'" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Gagal menurunkan preferensi '%1'" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Hapus asal" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Tampilkan konten" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Backend Terselip" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Pembaruan" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Masalah Pembaruan" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "Oke" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Perbarui Terpilih" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Perbarui Semua" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Semua pembaruan dipilih (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 pembaruan dipilih (%3)" +msgstr[1] "%1/%2 pembaruan terpilih (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Nyalakan Ulang" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Perbarui ke versi %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Menginstal..." + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Informasi Selebihnya..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Mengambil pembaruan..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Pembaruan" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Sistem memerlukan sebuah penyalaan-ulang untuk menerapkan pembaruan" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Terbarukan" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Seharusnya periksa pembaruan" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Tidak diketahui kapan pemeriksaan terakhir pembaruannya" \ No newline at end of file diff --git a/po/it/libdiscover.po b/po/it/libdiscover.po new file mode 100644 index 0000000..74d9e89 --- /dev/null +++ b/po/it/libdiscover.po @@ -0,0 +1,1629 @@ +# 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, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-10 08:58+0200\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 20.08.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Vincenzo Reale" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "smart2128@baslug.org" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Proprietaria" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Errore durante il recupero delle recensioni: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Errore durante l'invio dell'utilità: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Errore durante l'invio della recensione: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoria fittizia" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "fittizio" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "aggiunte fittizie" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "fittizio 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "fittizio con cose" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "fittizio con qualche cosa" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "fittizio 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "fittizio 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessori" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accessibilità" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Debug" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localizzazione" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilatura" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Istruzione" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chimica" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elettronica" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Ingegneria" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematica" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fisica" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Giochi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzle" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulazione" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Azione" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatori" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafica" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Disegno" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Editoria" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visualizzatori" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chat" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Posta" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Ufficio" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Pacchetto locale" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL di appstream «%1» non corretto" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Sconosciuta" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Recupero delle informazioni sulle dimensioni" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Dimensione sconosciuta" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 sul disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Aggiungi Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Impossibile aggiungere la fonte %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Rimozione «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
          • %1
          " +msgstr "" +"Per rimuovere questo deposito, le seguenti applicazioni saranno " +"disinstallate:
          • %1
          " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Rimozioni del deposito remoto %1 non riuscita: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Impossibile trovare %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Digita l'URI di un deposito Flatpak (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Aggiunta «%1» remoto in %2 da %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Rivedi l'EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Il motore %1 ha richiesto troppo tempo per l'inizializzazione" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Applicazioni" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Aggiunte di Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Aggiunte delle applicazioni" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Errore di rete nel motore %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Troppe richieste inviate al server per il motore %1. Prova ancora tra pochi " +"minuti." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Motore %1 non valido, contatta il tuo distributore." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Impossibile ottenere la schermata per la voce %1 nel motore %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Errore non gestito nel motore %1. Contatta il tuo distributore." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI di KNewStuff errato: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Esegui" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Usa" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Informazioni di accesso per %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Impossibile eseguire %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Aggiunte di Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Oggetti di Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Caratteri" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Memoria esaurita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Nessuna connessione di rete disponibile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operazione non supportata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Errore interno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Errore GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "ID del pacchetto non valido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Pacchetto non installato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Pacchetto non trovato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Il pacchetto è già installato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Scaricamento del pacchetto non riuscito" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Gruppo di pacchetti non trovato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Elenco del gruppo dei pacchetti non valido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Risoluzione della dipendenza non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Filtro non valido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Errore durante la creazione di un thread" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Errore di transazione" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transazione annullata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Nessuna cache disponibile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Impossibile trovare il deposito" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Impossibile rimuovere il pacchetto di sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Il demone PackageKit si è bloccato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Errore di inizializzazione" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Finalizzazione della transazione non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Analisi della configurazione non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Impossibile annullare la transazione" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Impossibile ottenere il blocco" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Nessun pacchetto da aggiornare" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Impossibile scrivere la configurazione del deposito" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Installazione locale non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "È stata trovata una firma GPG non valida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Non è stata trovata alcuna firma GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Impossibile installare il pacchetto sorgente" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Errore di configurazione del deposito" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Nessuna accettazione della licenza" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Trovati conflitti tra file" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Trovato conflitto tra pacchetti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Deposito non disponibile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "File del pacchetto non valido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Installazione del pacchetto bloccata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Trovato pacchetto danneggiato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Tutti i pacchetti sono già installati" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "File non trovato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Non esistono più server mirror disponibili" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Non sono presenti dati per l'aggiornamento della distribuzione" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Architettura incompatibile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Non c'è spazio sul dispositivo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "È necessario un cambio di supporto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Aggiornamento non trovato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Impossibile installare da un deposito non firmato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Impossibile aggiornare da un deposito non firmato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Impossibile scaricare l'elenco dei file" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Impossibile ottenere i requisiti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Impossibile disabilitare il deposito" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Rilevato uno scaricamento limitato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Configurazione del pacchetto non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Costruzione del pacchetto non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Installazione del pacchetto non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Rimozione del pacchetto non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, 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:140 +#, kde-format +msgid "The package database changed" +msgstr "Il database dei pacchetti è stato modificato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Il tipo di dipendenza soddisfatta non è supportata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Il percorso radice di installazione non è valido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Impossibile recuperare le fonti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Priorità annullata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transazione non terminata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Blocco richiesto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Errore sconosciuto %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Una modifica da parte di «%1» suggerisce un riavvio del sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "L'applicazione dovrà essere riavviata." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "La sessione dovrà essere riavviata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Il sistema dovrà essere riavviato." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "In attesa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Aggiornamento della cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Configurazione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Elaborazione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Rimozione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Scaricamento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Installazione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Aggiornamento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Pulizia..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Risoluzione delle dipendenze..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Controllo delle firme..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Analisi del commit..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Commit..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Terminato" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Annullata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "In attesa del lock..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "In attesa di autorizzazione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Copia dei file..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Stato sconosciuto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Siamo in attesa di qualcosa." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Sto configurando la transazione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "La transazione è attualmente in esecuzione..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "La transazione sta rimuovendo i pacchetti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "La transazione sta scaricando i pacchetti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "La transazione sta installando i pacchetti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "La transazione sta aggiornando i pacchetti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "La transazione sta eseguendo la ripulitura..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "La transazione è terminata." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "La transazione è stata annullata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "La transazione sta aspettando il lock..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "La transazione sta copiando i file..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Sto aggiornando la cache del deposito..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Stato sconosciuto %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Instabile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Di prova" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Aggiornamenti non in linea" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Aggiornamento di %1 pacchetto non riuscito\n" +"%2" +msgstr[1] "" +"Aggiornamento di %1 pacchetti non riuscito\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Apri Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Ripara sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Riparazione non riuscita" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Segnala alla tua distribuzione: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 pacchetto aggiornato correttamente" +msgstr[1] "%1 pacchetti aggiornati correttamente" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Obsoleti:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Note di rilascio:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Stato aggiornamento:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Riavvia:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Fornitore:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL del deposito:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Pacchetti da rimuovere" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
          • %1

          in order to install:
          • %2
          " +msgstr "" +"I seguenti pacchetti saranno rimossi dall'aggiornamento:
          • %1

          • per installare:
            • %2
            " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Riavvia il computer per terminare l'aggiornamento" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Accetta EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Firma mancante per %1 in %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Conferma la rimozione del pacchetto" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Danneggiato" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Disponibile" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Installato" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Aggiornabile" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Controlla aggiornamenti" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Visualizza aggiornamenti" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Avvio" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "In attesa" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Scaricamento" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installazione" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Rimozione" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Modifica delle aggiunte" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Fatto" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Non riuscito" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Annullato" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Aggiornamenti applicazioni" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Aggiornamenti di sistema" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Aggiunte" \ 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..d8c6fcb --- /dev/null +++ b/po/it/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the muon package. +# Vincenzo Reale , 2015, 2019, 2020. +# Paolo Zamponi , 2018, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-25 07:53+0200\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 20.12.0\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Visualizza aggiornamenti" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Aggiornamenti di sicurezza disponibili" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Aggiornamenti disponibili" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Sistema aggiornato" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Il computer deve essere riavviato" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Non in linea" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Riavvia" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "È necessario un riavvio" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Aggiorna" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Aggiornamento disponibile" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nuova versione: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Notifiche di Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Notifiche sullo stato di aggiornamento del sistema" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 La squadra di sviluppo di Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Vincenzo Reale" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "smart2128@baslug.org" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Sostituisci un'istanza esistente" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Non mostrare le notifiche" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "nascosto" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Aggiornamenti" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Apri Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Vedi aggiornamenti..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Aggiorna..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Riavvia per applicare gli aggiornamenti installati" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Fai clic per riavviare il computer" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Riavvia..." \ 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..3ba4b87 --- /dev/null +++ b/po/it/plasma-discover.po @@ -0,0 +1,818 @@ +# 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, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-15 18:59+0200\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 20.12.0\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Nessun motore dell'applicazione trovato, segnala il problema alla tua " +"distribuzione." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Impossibile trovare la categoria «%1»" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Impossibile aprire %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" +"Apri direttamente l'applicazione specificata tramite il suo URI appstream://." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Apri con una ricerca di programmi che possono gestire il tipo mime indicato." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostra un elenco di voci con una categoria." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Elenca tutti i modi disponibili." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modalità compatta (auto/compatta/completa)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "File di pacchetto locale da installare" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Elenca tutti i motori disponibili." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Stringa di ricerca." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Elenca le opzioni disponibili per le segnalazioni degli utenti" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Supporta appstream: url scheme" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Esploratore di applicazioni" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 La squadra di sviluppo di Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Controllo di qualità, design e usabilità" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Vincenzo Reale" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "smart2128@baslug.org" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Motori disponibili:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Modi disponibili:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Aggiunte" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Altro..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Applica le modifiche" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Ripristina" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Aggiungi nuovo deposito di %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Aggiungi" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Annulla" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 valutazione" +msgstr[1] "%1 valutazioni" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Ancora nessuna valutazione" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Fonti" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Cosa c'è di nuovo" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Recensioni" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, kde-format +msgid "Write a Review" +msgstr "Scrivi una recensione" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Installa per scrivere una recensione" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Categoria:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, rilasciata il %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versione:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autore:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Dimensione:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Fonte:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licenza:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Vedi i termini di licenza completi" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Documentazione:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Leggi il manuale utente" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Partecipa:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Visita il sito web dell'applicazione" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Fai una donazione" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Segnala un problema" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Cerca: %1»" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Ordina: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Valutazione" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Dimensione" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Data di rilascio" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Spiacenti, non è stato trovato niente" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Ricerca ancora in corso..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "In primo piano" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Caricamento in corso..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Impossibile caricare le applicazioni.Verifica la connessione a Internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Torna alla pagina In primo piano" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "L'esecuzione come root è sconsigliata e non necessaria." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Cerca" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Installati" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Recupero degli aggiornamenti..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Aggiornati" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Aggiornamento (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Informazioni" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Impostazioni" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Spiacenti..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Impossibile chiudere Discover, ci sono attività da completare." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Esci comunque" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Impossibile trovare la risorsa: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Procedi" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Invia le informazioni di utilizzo" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Invia informazioni di utilizzo rese anonime a KDE, in modo che possiamo " +"conoscere meglio i nostri utenti. Per ulteriori informazioni, vedi https://" +"kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Invio delle informazioni di utilizzo in corso..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Configura" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Configura segnalazioni..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Puoi aiutarci a migliorare questa applicazione condividendo le statistiche e " +"partecipando ai sondaggi." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Contribuisci..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Ci piacerebbe avere il tuo riscontro!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Partecipa..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installa" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Rimuovi" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Risorse per «%1»" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Estensioni..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Attività (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Attività" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versione: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "revisore sconosciuto" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 di %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Commenti di %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Voti: %1 di %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Utile?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Sì" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "No" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Recensione di %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Valutazione:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nome:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Titolo:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Inserisci una valutazione" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Scrivi il titolo" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Scrivi la recensione" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Continua a scrivere..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Troppo lunga!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Invia recensione" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Revisioni per %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Scrivi una recensione..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Installa questa applicazione per scrivere una recensione" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Cerca..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Cerca in «%1»..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Predefinito)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Aggiungi fonte..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Rendi predefinito" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Incremento della preferenza «%1» non riuscito" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Riduzione della preferenza «%1» non riuscita" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Elimina l'origine" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Mostra i contenuti" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Motori mancanti" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Aggiornamenti" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Problema di aggiornamento" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Aggiorna selezionati" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Aggiorna tutto" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Tutti gli aggiornamenti selezionati (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 aggiornamento selezionato (%3)" +msgstr[1] "%1/%2 aggiornamenti selezionati (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Riavvia" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Aggiorna alla versione %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Installazione" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Ulteriori informazioni..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Recupero degli aggiornamenti..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Aggiornamenti" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Il sistema richiede un riavvio per applicare gli aggiornamenti" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Aggiornato" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Dovresti controllare gli aggiornamenti" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ No newline at end of file diff --git a/po/ja/libdiscover.po b/po/ja/libdiscover.po new file mode 100644 index 0000000..fc55add --- /dev/null +++ b/po/ja/libdiscover.po @@ -0,0 +1,1637 @@ +# Tomohiro Hyakutake , 2019. +# Fumiaki Okushi , 2019. +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2019-11-02 20:47-0700\n" +"Last-Translator: Fumiaki Okushi \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" +"X-Generator: Lokalize 19.08.2\n" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ボードゲーム" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "ダミー" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "ダミー" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "ダミー アドオン" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "ダミー 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "スタッフのダミー" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "いくつかのダミー" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "ダミー 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "ダミー 4" + +#: 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 "アプリケーション" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "アクセサリ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "アクセシビリティ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "開発用ツール" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "デバッグ" + +#: 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 "グラフィックデザイン" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "ローカライズ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "分析" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "ウェブ開発" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "教育" + +#: 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 "科学と工学" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "天文学" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "生物" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "化学" + +#: 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 "コンピュータとロボット工学" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "電子工学" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "工学" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "地理" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "地質" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "数学" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "物理" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "ゲーム" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "アーケードゲーム" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "ボードゲーム" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "トランプゲーム" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "パズル" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "ロール・プレイング" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "シミュレーション" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "戦略ゲーム" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "スポーツ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "アクション" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "エミュレータ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "グラフィックス" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "ドローイング" + +#: 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 "絵画と編集" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "写真" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "出版" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "ビューア" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "インターネット" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "チャット" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "ファイル共有" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "メール" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "ウェブブラウザ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "マルチメディア" + +#: 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 "音楽およびビデオの編集" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "オーディオプレーヤー" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "ビデオプレーヤー" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "オフィス" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "システム設定" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "ローカルパッケージ" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "不正な AppStream の URL '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "不明" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "サイズ情報を取得します。" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "サイズ不明" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "インストールで %1 をダウンロード、%2 のディスク容量を使用" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "インストールで %1 のディスク容量を使用" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Flathub を追加" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "ソース %1 を追加できませんでした。" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "削除中" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, fuzzy, kde-format +#| msgid "Could not add the source %1" +msgid "Could not find %1" +msgstr "ソース %1 を追加できませんでした。" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, fuzzy, kde-format +#| msgid "Flatpak repository URI (*.flatpakrepo)" +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Flatpak リポジトリ URI (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "リモートの %1 では、ライセンス %2 に同意する必要があります。" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgid "Applications" +msgstr "アプリケーション" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "プラズマのアドオン" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "アプリケーションのアドオン" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "無効な %1 バックエンドです。供給元に連絡してください。" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "%1 バックエンドで未知なエラーです。供給元に連絡してください。" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "間違った KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "起動する" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "使用" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "%1 のログイン情報" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "プラズマのアドオン" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "プラズマのウィジェット" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "フォント" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "AppStream がシステムに正しく設定されているか確認してください。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "メモリ不足" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "利用可能なネットワーク接続がありません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "操作はサポートされていません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "内部エラーです。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG の失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID が無効です。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "パッケージがインストールされていません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "パッケージが見つかりません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "パッケージは既にインストールされています。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "パッケージのダウンロードに失敗しました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "パッケージのグループが見つかりません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "パッケージのグループリストが無効です。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "依存関係の解決に失敗しました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "無効なフィルタです。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "スレッド作成中に失敗しました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "作業が失敗しました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "作業がキャンセルされました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "利用可能なキャッシュはありません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "リポジトリが見つかりません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "システムパッケージを削除できません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit デーモンがクラッシュしました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "初期化の失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "作業を完了できませんでした。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "構成の解析が失敗しました" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "キャンセルできません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "ロックを取得できません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "更新するパッケージはありません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "リポジトリ設定を書き込めません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "ローカルインストールに失敗しました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "不正な GPG 署名が見つかりました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "GPG 署名が見つかりません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "ソースパッケージをインストールできません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "リポジトリの設定エラー" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "使用許諾契約はありません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "ファイルの競合が見つかりました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "パッケージの競合が見つかりました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "リポジトリは利用できません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "無効なパッケージファイル" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "パッケージのインストールがブロックされました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "壊れたパッケージが見つかりました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "すべてのパッケージは既にインストールされています。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "ファイルが見つかりません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "これ以上ミラーはありません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "アップグレードのデータはありません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "互換性のないアーキテクチャ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "デバイスに空き容量がありません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "メディアの変更が必要です。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "この操作を実行する権限がありません" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "更新が見つかりません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "未署名のリポジトリからインストールできません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "未署名のリポジトリから更新できません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "ファイルリストを取得できません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "要求を取得できません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "リポジトリを無効にできません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "制限付きのダウンロードが見つかりました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "パッケージの構成に失敗しました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "パッケージのビルドに失敗しました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "パッケージをインストールできませんでした。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "パッケージを削除できませんでした。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "実行中のプロセスが原因で更新に失敗しました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "パッケージデータベースが変更されました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "そのタイプはサポートされていません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "インストールに使われたルートディレクトリが無効です。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "ソースを取得できません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "優先順位をキャンセルしました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "未完了の作業" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "ロックが必要" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "不明なエラー %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' が変更されたので、再起動してください。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "'%1' の変更で、セッションの再開が必要です。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1' がセキュリティのために更新されました。セッションを再開してください。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1' がセキュリティのために更新されました。システムを再起動してください。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, fuzzy, kde-format +#| msgid "A change by '%1' suggests your system to be rebooted." +msgid "A change by '%1' suggests your system to be restarted." +msgstr "'%1' の変更で、システムの再起動が必要です。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "アプリケーションを再起動する必要があります。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "セッションを再開する必要があります。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, fuzzy, kde-format +#| msgid "The system will have to be rebooted." +msgid "The system will have to be restarted." +msgstr "システムを再起動する必要があります。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "セキュリティのために、セッションの再起動が必要です。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "セキュリティのために、システムの再起動が必要です。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "待機中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "キャッシュを更新しています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "セットアップ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "処理しています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "削除します..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "ダウンロードしています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "インストールしています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "更新しています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "クリーンアップ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "依存関係を解決しています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "署名を確認しています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "テスト送信..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "コミットしています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "終了しました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "キャンセル" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "ロックを待っています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "承認待ち..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "ファイルをコピーしています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "不明なステータス" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "待っています。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "作業を設定しています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "作業は現在、機能しています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "作業は現在、パッケージを削除しています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "作業は現在、パッケージをダウンロードしています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "作業は現在、パッケージをインストールしています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "作業は現在、パッケージを更新しています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "作業は現在、クリーンアップ中です..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "作業は現在、インストールするパッケージの依存関係を解決しています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "作業は現在、パッケージの署名をチェックしています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "作業は現在、この一連のパッケージのコミットをテストしています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "作業は現在、パッケージのセットをコミットしています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "作業は終了しました!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "作業はキャンセルされました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "作業は現在、ロックを待っています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "ユーザが作業を承認するのを待っています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "作業は現在、ファイルをコピーしています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "現在リポジトリのキャッシュを更新しています..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "不明なステータス %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "安定版" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "不安定版" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "テスト版" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "オフライン更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, fuzzy, kde-format +#| msgid "" +#| "Failed to update %1 packages\n" +#| "%2" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"%1 パッケージを更新できませんでした。\n" +"%2" +msgstr[1] "" +"%1 パッケージを更新できませんでした。\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgid "Repair Failed" +msgctxt "@action:button" +msgid "Repair System" +msgstr "失敗しました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "失敗しました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, fuzzy, kde-format +#| msgid "Successfully updated %1 packages" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 パッケージを更新しました。" +msgstr[1] "%1 パッケージを更新しました。" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "," + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "廃止予定:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "リリースノート:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "更新のステータス:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "再起動:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "供給元:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (さらに %1 個の依存関係)" +msgstr[1] "%2 (さらに %1 個の依存関係)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "リポジトリ URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "削除するパッケージ" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "
            • %1
            \n" +#| "in order to install:\n" +#| "
            • %2
            " +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" +"
            • %2
            をインストールするために\n" +"次のパッケージは更新プログラムによって削除されます:\n" +"
            • %1
            " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"タイプ '%1' のメディアを変更する必要があります。\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "EULA (ソフトウェア使用許諾契約) に同意します。" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "%2 に %1 の署名がありません。" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "パッケージの削除を確認" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"この SNAP アプリケーションはセキュリティ制限を無効にする必要があります。" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "ロードしたいすべてのバックエンドをコンマ','で区切ってリストします。" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "壊れています。" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "利用可能" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "インストール済" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "アップグレード可能" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "更新を確認" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Offline Updates" +msgid "View Updates" +msgstr "オフライン更新" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/秒" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "起動" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "待機中" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "ダウンロード中" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "インストール中" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "削除中" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "アドオンを変更します。" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "完了" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "失敗しました。" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "キャンセルされました。" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "アプリケーションの更新" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "システムの更新" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +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..84434d9 --- /dev/null +++ b/po/ja/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# Tomohiro Hyakutake , 2019. +# Fumiaki Okushi , 2019. +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2019-11-02 20:49-0700\n" +"Last-Translator: Fumiaki Okushi \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" +"X-Generator: Lokalize 19.08.2\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "View Updates" +msgstr "更新" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "利用可能なセキュリティの更新" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "利用可能な更新" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "システムは最新です" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "コンピュータを再起動する必要があります。" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "オフライン" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "再起動" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "再起動が必要です。" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "アップデートを有効にするには、システムを再起動する必要があります。" + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "アップグレード可能" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "新しいバージョン : %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:38 +#, fuzzy, kde-format +#| msgid "System up to date" +msgid "System update status notifier" +msgstr "システムは最新です" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "更新" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "更新を表示..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "再読み込み..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..7975ac7 --- /dev/null +++ b/po/ja/plasma-discover.po @@ -0,0 +1,828 @@ +# Tomohiro Hyakutake , 2019. +# Fumiaki Okushi , 2019. +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2019-11-02 12:36+0900\n" +"Last-Translator: Tomohiro Hyakutake \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" +"X-Generator: Lokalize 19.08.2\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "カテゴリ '%1' が見つかりませんでした。" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"flatpak バックエンドの %1 がないと、flatpak リソースと対話できません。最初に" +"インストールしてください。" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "%1 を開けませんでした。" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "指定したアプリケーションをパッケージ名で直接開きます。" + +#: discover/main.cpp:34 +#, fuzzy, kde-format +#| msgid "Open with a program that can deal with the given mimetype." +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "与えられた MIME タイプを扱うことができるプログラムで開きます。" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "カテゴリを付けてエントリの一覧を表示します。" + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Discover を指示されたモードで開きます。モードはツールバーのボタンに対応しま" +"す。" + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "利用可能なすべてのモードを一覧表示します。" + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "コンパクトモード (オート/コンパクト/フル)" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "インストールするローカルパッケージファイル" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "利用可能なすべてのバックエンドを一覧表示します。" + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "文字列を検索" + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "appstream をサポート: URL スキーム" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "アプリケーション エクスプローラ" + +#: discover/main.cpp:93 +#, fuzzy, kde-format +#| msgid "© 2010-2018 Plasma Development Team" +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2018 Plasma Development Team" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "利用可能なバックエンド:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "利用可能なモード:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "アドオン" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "もっと..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "変更を適用" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, fuzzy, kde-format +#| msgid "Add a new %1 repository" +msgid "Add New %1 Repository" +msgstr "新しい %1 リポジトリを追加してください。" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "追加" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "キャンセル" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 の評価" +msgstr[1] "%1 の評価" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "評価はまだありません。" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Sources (ソース)" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "新着情報" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "レビュー" + +#: discover/qml/ApplicationPage.qml:245 +#, fuzzy, kde-format +#| msgid "Show %1 review..." +#| msgid_plural "Show all %1 reviews..." +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "%1 件のレビューを表示..." +msgstr[1] "%1 件のレビューをすべて表示..." + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write a Review" +msgstr "レビューを書く!" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Install this app to write a review!" +msgid "Install to Write a Review" +msgstr "レビューを書くにはこのアプリケーションをインストールしてください!" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "カテゴリ:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, %2 にリリース" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "バージョン:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "作成 :" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "サイズ:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "ソース:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "ライセンス:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, fuzzy, kde-format +#| msgid "Report a Problem:" +msgid "Report a problem" +msgstr "問題を報告:" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "検索 : %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "ソート: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "名前" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "評価" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "サイズ" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "リリース日" + +#: discover/qml/ApplicationsListPage.qml:138 +#, fuzzy, kde-format +#| msgid "Sorry, nothing found..." +msgid "Sorry, nothing found" +msgstr "すみません、何も見つかりませんでした..." + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "検索しています..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "おすすめ" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "読み込み中..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "\"おすすめ\" ページに戻る" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "root として実行することはおすすめできません。" + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "検索" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Installed (インストール済)" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Fetching Updates..." +msgid "Fetching updates..." +msgstr "更新を取得中..." + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Up to Date" +msgid "Up to date" +msgstr "U: 最新です" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "U: 更新があります (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "About (Discover の情報)" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "設定" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "すみません..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Discover を終了できません。終了待ちのタスクがあります。" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "リソースが見つかりません: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "進む" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, fuzzy, kde-format +#| msgid "More Information..." +msgid "Submitting usage information..." +msgstr "詳しくは..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Contribute..." +msgstr "もっと..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "インストール" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "削除" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "'%1' のリソース" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "拡張機能..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "処理状況 (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "処理" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, fuzzy, kde-format +#| msgid "Version:" +msgid "Version: %1" +msgstr "バージョン:" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "不明なレビューア" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 の %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "%1 でコメント" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Reviewing '%1'" +msgid "Reviewing %1" +msgstr "'%1' をレビュー" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "評価:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "名前" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "タイトル:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "評価を入力してください" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Write a title" +msgid "Write the title" +msgstr "タイトルをお書きください" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write the review" +msgstr "レビューを書く!" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "書き続けてください..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "長すぎます!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "レビューを送信" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Reviewing '%1'" +msgid "Reviews for %1" +msgstr "'%1' をレビュー" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write a Review..." +msgstr "レビューを書く!" + +#: discover/qml/ReviewsPage.qml:59 +#, fuzzy, kde-format +#| msgid "Install this app to write a review!" +msgid "Install this app to write a review" +msgstr "レビューを書くにはこのアプリケーションをインストールしてください!" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "検索..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "'%1' を検索..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (デフォルト)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "ソースを追加..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "デフォルトに戻す" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "'%1' 優先度を上げられませんでした。" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "'%1' 優先度を下げられませんでした。" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "オリジンを削除します。" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "欠けているバックエンド" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "更新" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Update Issue" +msgstr "更新" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "選択した更新" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "すべて更新" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "すべての更新が選択されました (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 の更新が選択されました (%3)" +msgstr[1] "%1/%2 の更新が選択されました (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "再起動" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "インストール中" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "詳細情報..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "更新を取得中..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "更新" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "更新を適用するにはシステムの再起動が必要です" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "最新です" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "更新の確認が必要です。" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..74ff202 --- /dev/null +++ b/po/kk/libdiscover.po @@ -0,0 +1,1733 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Тақта ойындар" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Proprietary" +msgid "Proprietary" +msgstr "Меншікті" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: 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 "Қолданбалар" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Әбзелдер" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Арнайы мүмкіндіктер" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Құрастырушы құралдар" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Жөндеу" + +#: 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 "Графикалық интерфейсін жобалау" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Тәржімелеу" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Профильдеу" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Веб жобалау" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Оқу-ағарту" + +#: 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 "Ғылым & Инженерлік іс" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Астрономия" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Биология" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Химия" + +#: 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 "Компьютерлік ғылым & Робототехника" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Электроника" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Инженерлік іс" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "География" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Геология" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Математика" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Физика" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Ойындар" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Аркад ойындар" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Тақта ойындар" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Карта ойындар" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Басқатырғыш" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Рөл ойындар" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Иммитация" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Спорт" + +#: 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 "Қолданбалар" + +#: 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 "Иммитация" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Графика" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "ҰшӨлшемді" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Сурет" + +#: 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 "Кескіндеу & Өңдеу" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Фотография" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Басып шығару" + +#: 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 "Сканерлеу & Тану" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Қарау құралдар" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Интернет" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Чат-әңгіме" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Файл ортақтастыру" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Пошта" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Веб-шолғыш" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Мультимедиа" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Офис" + +#: 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 "Жүйе параметрлері" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "Беймәлім" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Беймәлім" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 жүктейтіні, %2 дискіде" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 дискіде" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "Өшіру" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Applications" +msgstr "Қолданбалар" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "Қолданбалар" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Қаріптер" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, 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:28 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "PackageID invalid" +msgstr "Орнатылмаған" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not installed" +msgstr "Орнатылмаған" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package not found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package is already installed" +msgstr "Орнатылмаған" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Save Package Download List..." +msgid "Package download failed" +msgstr "Десте жүктеу тізімін сақтау..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package group not found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package group list invalid" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Transaction failure" +msgstr "Басқа амалдар бітуін күту" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Transaction canceled" +msgstr "Басқа амалдар бітуін күту" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization Error" +msgid "Initialization failure" +msgstr "Инициализациялау қатесі" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Package History" +msgid "Local install failed" +msgstr "Десте тарихы" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Residual Configuration" +msgid "Repo configuration error" +msgstr "Қалған баптауы" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "File conflicts found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package conflict found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Package History" +msgid "Package install blocked" +msgstr "Десте тарихы" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Corrupt package found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "All packages already installed" +msgstr "Орнатылмаған" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "File not found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "Дистрибутивтің жаңартулары" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Media Change Required" +msgid "A media change is required" +msgstr "Тасушыны ауыстру керек" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Update not found" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to configure" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to build" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to install" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to remove" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "Бұғатталған" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Unknown Error" +msgid "Unknown error %1." +msgstr "Беймәлім қате" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Waiting" +msgid "Waiting..." +msgstr "Күту" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, 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:213 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "Өшіру" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Downloading" +msgid "Downloading..." +msgstr "Жүктелу" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Орнату" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, 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:233 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "Аяқталды" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, fuzzy, kde-format +#| msgctxt "@info Status info, widget title" +#| msgid "Waiting for Authentication" +msgid "Waiting for authorization..." +msgstr "Аутентификацияны күтіп тұр" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown Status" +msgstr "Беймәлім" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, fuzzy, kde-format +#| msgid "Setting up for install..." +msgid "Setting up transaction..." +msgstr "Орнатуға ыңғайлау..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, 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:283 +#, 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:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown status %1." +msgstr "Беймәлім" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "Орнатылған" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "Қолданбалар" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"%1 дегенді жүктеу жаңылысы:\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Open File" +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Файлды ашу" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"base" +#| "\"" +#| msgid "Base System" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Негізгі жүйе" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +"%1 дегенді жүктеу жаңылысы:\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Packages to remove" +msgstr "Дестелер табылған жоқ" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Бүлінген" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Бар" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Орнатылған" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "гЖаңартылмақ" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Жаңартуы бар ма тексеру" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "View Updates" +msgstr "Қолданбалар" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Бастау" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Күту" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Жүктелу" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Орнату" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Өшіру" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Қосымшаларды өзгерту" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Дайын" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Қолданбалар" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Жаңартулар" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +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..f157bd1 --- /dev/null +++ b/po/kk/plasma-discover.po @@ -0,0 +1,845 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Десте атауы бойынша келтірілген қолданбаны тікелей ашу." + +#: discover/main.cpp:34 +#, fuzzy, kde-format +#| msgid "Open with a program that can deal with the given mimetype." +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Көрсеткен MIME түрінмен айналасатын бағдарламен ашу." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Бір санатына жататын аталым тізімінін қорсету." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Қол жеткізер режімдер тізімі." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Қол жеткізер орындағыштар тізімі." + +#: discover/main.cpp:41 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search string." +msgstr "'%1' дегенде іздеу..." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Табу" + +#: discover/main.cpp:92 +#, fuzzy, kde-format +#| msgid "An application discoverer" +msgid "An application explorer" +msgstr "Қолданба тапқышы" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Бар режімдері:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Бар режімдері:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, fuzzy, kde-format +#| msgid "Add-ons" +msgid "Add" +msgstr "Қосымшалар" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Қайту" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Ұпайы" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Көздері" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Пікірлер" + +#: discover/qml/ApplicationPage.qml:245 +#, fuzzy, kde-format +#| msgid "%1 reviews" +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "%1 пікір" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review" +msgstr "Жіберу" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Install to Write a Review" +msgstr "Жіберу" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, fuzzy, kde-format +#| msgid "Total Size: %1
            " +msgid "Size:" +msgstr "Жалпы өлшемі: %1
            " + +#: discover/qml/ApplicationPage.qml:337 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Көздері" + +#: discover/qml/ApplicationPage.qml:346 +#, fuzzy, kde-format +#| msgid "points: %1" +msgid "License:" +msgstr "ұпайы: %1" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search: %1" +msgstr "'%1' дегенде іздеу..." + +#: discover/qml/ApplicationsListPage.qml:64 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Sort: %1" +msgstr "'%1' дегенде іздеу..." + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Атауы" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Ұпайы" + +#: discover/qml/ApplicationsListPage.qml:85 +#, fuzzy, kde-format +#| msgid "Total Size: %1
            " +msgid "Size" +msgstr "Жалпы өлшемі: %1
            " + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:152 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "Орнату" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Жүктеу..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Іздеу..." + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Орнатылған" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Fetching updates..." +msgstr "Жаңарту" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Up to date" +msgstr "Жаңарту" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Жаңарту" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "Жоғары бағалары" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Орнату" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Өшіру" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:17 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "Жаңарту" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, fuzzy, kde-format +#| msgid "%1
            %2" +msgid "%1 by %2" +msgstr "%1
            %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Reviewing %1" +msgid "Reviewing %1" +msgstr "%1 туралы пікір" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Ұпайы:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Атауы" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the title" +msgstr "Жіберу" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the review" +msgstr "Жіберу" + +#: discover/qml/ReviewDialog.qml:69 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "Жүктеу..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Жіберу" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "Reviews for %1" +msgstr "Ұпайы" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review..." +msgstr "Жіберу" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Іздеу..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "'%1' дегенде іздеу..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Көзін қосу" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "Жаңарту" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Update Issue" +msgstr "Жаңарту" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "ОК" + +#: discover/qml/UpdatesPage.qml:77 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "Бүкілін жаңарту" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Бүкілін жаңарту" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "All updates selected (%1)" +msgstr "Бүкілін жаңарту" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Бүкілін жаңарту" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "Орнату" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Жаңарту" + +#: discover/qml/UpdatesPage.qml:373 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "Жаңарту" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Up to date" +msgstr "Жаңарту" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..7e0a04f --- /dev/null +++ b/po/ko/libdiscover.po @@ -0,0 +1,1614 @@ +# 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, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-16 19:17+0200\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 19.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "독점" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "리뷰를 가져오는 중 오류 발생: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "유용성 정보를 제출하는 중 오류 발생: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "리뷰를 제출하는 중 오류 발생: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "더미 분류" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "더미" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "더미 부가 기능" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "더미 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "무언가 들어있는 더미" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "무언가 더 들어있는 더미" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "더미 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "더미 4" + +#: 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 "프로그램" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "보조 프로그램" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "접근성" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "개발 도구" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "디버깅" + +#: 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 "그래픽 인터페이스 디자인" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "통합 개발 환경" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "지역화" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "프로파일링" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "웹 개발" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "교육" + +#: 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 "과학과 공학" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "천문학" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "생물학" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "화학" + +#: 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 "전산학과 로보틱스" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "전자 공학" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "공학" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "지리" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "지질학" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "수학" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "물리학" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "게임" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "아케이드" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "보드 게임" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "카드 게임" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "퍼즐" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "롤 플레잉" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "시뮬레이션" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "전략" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "스포츠" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "액션" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "에뮬레이터" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "그래픽" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "그리기" + +#: 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 "페인팅과 편집" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "사진" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "출판" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "뷰어" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "인터넷" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "채팅" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "파일 공유" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "메일" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "웹 브라우저" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "멀티미디어" + +#: 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 "오디오 및 비디오 편집기" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "오디오 재생기" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "비디오 재생기" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "사무용 도구" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "시스템 설정" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "로컬 번들" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "잘못된 AppStream URL '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "알 수 없음" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1(%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "크기 정보 가져오는 중" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "알 수 없는 크기" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "다운로드 크기 %1, 설치 크기 %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "설치 크기 %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Flathub 추가" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "원본 %1을(를) 추가할 수 없음" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "'%1' 삭제 중" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" +"이 저장소를 삭제하려면 다음 프로그램을 삭제해야 합니다:
            • %1
            " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "%1 원격 저장소를 삭제할 수 없음: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "%1을(를) 찾을 수 없음" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Flatpak 저장소 URI 입력 (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "%3에서 %2에 '%1' 원격 항목 추가 중" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "EULA 검토" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"원격 %1에서 다음 라이선스를 받아들일 것을 요청했습니다:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "%1 백엔드 초기화에 시간이 너무 오래 걸림" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "프로그램" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma 부가 기능" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "프로그램 부가 기능" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "%1 백엔드 네트워크 오류: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"%1 백엔드에서 서버에 너무 많은 요청을 보냈습니다. 잠시 후에 다시 시도하십시" +"오." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "%1 백엔드가 잘못되었습니다. 배포판에 문의하십시오." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "%2 백엔드의 항목 %1의 스크린샷을 가져올 수 없음" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"%1 백엔드에서 처리할 수 없는 오류가 발생했습니다. 배포판에 문의하십시오." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "잘못된 KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "실행" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "사용" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "%1의 로그인 정보" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "%1을(를) 실행할 수 없음" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma 부가 기능" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma 위젯" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "글꼴" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "시스템에 Appstream이 올바르게 설정되어 있는지 확인하십시오" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "메모리 부족" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "네트워크 연결 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "지원하지 않는 동작" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "내부 오류" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG 오류" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID 잘못됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "패키지가 설치되지 않음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "패키지를 찾을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "패키지가 이미 설치됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "패키지 다운로드 실패" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "패키지 그룹을 찾을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "패키지 그룹 목록이 잘못됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "의존성 해결 실패" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "필터가 잘못됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "스레드 생성 중 오류 발생" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "트랜잭션 오류" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "트랜잭션 취소됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "캐시를 사용할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "저장소를 찾을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "시스템 패키지를 삭제할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit 데몬이 충돌함" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "초기화 오류" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "트랜잭션을 마무리지을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "설정 파일 처리 오류" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "트랜잭션을 취소할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "잠금을 얻을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "업데이트할 패키지 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "저장소 설정을 기록할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "로컬 설치 실패" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "잘못된 GPG 서명 발견됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "GPG 서명을 찾을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "소스 패키지를 설치할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "저장소 설정 오류" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "라이선스 조항 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "파일 충돌 발견됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "패키지 충돌 발견됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "저장소를 사용할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "잘못된 패키지 파일" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "패키지 설치 차단됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "잘못된 패키지 발견됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "모든 패키지가 이미 설치됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "파일을 찾을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "사용 가능한 미러 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "배포판 업그레이드 데이터 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "호환되지 않는 아키텍처" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "장치에 공간이 부족함" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "미디어 변경 필요함" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "이 작업을 수행할 권한이 없습니다" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "업데이트를 찾을 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "서명되지 않은 저장소에서 설치할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "서명되지 않은 저장소에서 업데이트할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "파일 목록을 가져올 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "필요한 항목을 가져올 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "저장소를 비활성화할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "제한된 다운로드 발견됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "패키지를 설정할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "패키지를 빌드할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "패키지를 설치할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "패키지를 삭제할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "실행 중인 프로세스 때문에 업데이트할 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "패키지 데이터베이스가 변경됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "지정한 형식을 지원하지 않음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "설치 루트 경로가 잘못됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "원본을 가져올 수 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "취소된 우선 작업" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "완료되지 않은 트랜잭션" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "잠금 필요함" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "알 수 없는 오류 %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1'이(가) 변경되었으며 다시 시작하는 것을 추천합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "'%1'의 변경 사항으로 인하여 세션을 다시 시작하는 것을 추천합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"'%1'이(가) 보안을 이유로 업데이트되었으며, 세션을 다시 시작하는 것을 추천합니" +"다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"'%1'이(가) 보안을 이유로 업데이트되었으며, 시스템을 다시 시작하는 것을 추천합" +"니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "'%1'의 변경 사항으로 인하여 시스템을 다시 시작하는 것을 추천합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "프로그램을 다시 시작해야 합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "세션을 다시 시작해야 합니다" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "시스템을 다시 시작해야 합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "보안 때문에 세션을 다시 시작해야 합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "보안 때문에 시스템을 다시 시작해야 합니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "대기 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "캐시 새로 고치는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "설정 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "처리 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "삭제 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "다운로드 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "설치 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "업데이트 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "청소 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "의존성 확인 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "서명 확인 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "테스트 커밋 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "커밋 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "완료됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "취소됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "잠금 대기 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "인증 대기 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "파일 복사 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "알 수 없는 상태" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "무언가를 기다리고 있습니다." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "트랜잭션 설정 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "트랜잭션 작업 중입니다..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "트랜잭션에서 패키지를 삭제하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "트랜잭션에서 패키지를 다운로드하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "트랜잭션에서 패키지를 설치하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "트랜잭션에서 패키지를 업데이트하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "트랜잭션에서 청소하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "트랜잭션에서 설치할 패키지의 의존성을 파악하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "트랜잭션에서 패키지 서명을 확인하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "트랜잭션에서 현재 패키지 집합 커밋 테스트 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "트랜잭션에서 패키지 집합을 커밋하는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "트랜잭션이 완료되었습니다!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "트랜잭션 취소됨" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "트랜잭션에서 잠금 대기 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "사용자가 트랜잭션을 인증하는 것을 기다리는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "트랜잭션에서 파일 복사 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "저장소 캐시 새로 고치는 중..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "알 수 없는 상태 %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "안정 버전" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "불안정 버전" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "테스팅 버전" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "오프라인 업데이트" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"패키지 %1개를 업데이트할 수 없음\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "둘러보기 열기" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "시스템 복구" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "복구 실패" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "배포판에 보고해 주십시오: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "패키지 %1개를 업데이트함" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1(%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "오래된 항목:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "릴리스 노트:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "업데이트 상태:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "다시 시작:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "제조사:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2(및 의존성 %1개)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "저장소 URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "삭제할 패키지" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" +"업데이트 과정에서
            • %2
            패키지를 설치하려면
            다음 패키지를 " +"삭제해야 합니다:
            • %1
            " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "업데이트를 완료하려면 컴퓨터를 다시 시작하십시오" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"'%1' 형식 미디어 변경이 필요합니다.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "EULA 수락" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "%2의 %1에 서명이 없음" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "패키지 삭제 확인" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "이 Snap 프로그램은 보안 컨테이너 설정을 비활성화해야 합니다." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "불러온 백엔드 목록을 쉼표로 구분하여 표시합니다." + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "깨짐" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "사용 가능" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "설치됨" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "업그레이드 가능" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1(%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "업데이트 확인" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "업데이트 보기" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/초" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "시작 중" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "대기 중" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "다운로드 중" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "설치 중" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "삭제 중" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "부가 기능 변경 중" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "완료" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "실패" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "취소됨" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "프로그램 업데이트" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "시스템 업데이트" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +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..cab9985 --- /dev/null +++ b/po/ko/plasma-discover-notifier.po @@ -0,0 +1,157 @@ +# 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, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-09-06 02:03+0200\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 19.12.3\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "업데이트 보기" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "보안 업데이트 사용 가능" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "업데이트 사용 가능" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "시스템이 최신 상태임" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "컴퓨터를 다시 시작해야 함" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "오프라인" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "다시 시작" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "다시 시작 필요" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "업데이트를 적용하려면 시스템을 다시 시작해야 합니다." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "업그레이드" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "업그레이드 사용 가능" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "새 버전: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "둘러보기 알림이" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "시스템 업데이트 상태 알림이" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Plasma Development Team" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "실행 중인 인스턴스 대체" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "알림이 표시하지 않기" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "숨김" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "업데이트" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "둘러보기 열기..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "업데이트 보기..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "새로 고침..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "설치된 업데이트를 적용하려면 재시작 필요함" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "컴퓨터를 다시 시작하려면 클릭하십시오" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..34d8ff3 --- /dev/null +++ b/po/ko/plasma-discover.po @@ -0,0 +1,806 @@ +# 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, 2019, 2020. +# Jung Hee Lee , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-16 20:04+0200\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 19.12.3\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "프로그램 백엔드를 찾을 수 없습니다. 배포판에 문의하십시오." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "분류 '%1'을(를) 찾을 수 없음" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"flatpak 백엔드 %1이(가) 설치되어 있지 않으면 flatpak 자원에 접근할 수 없습니" +"다. 먼저 설치하십시오." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "%1을(를) 열 수 없음" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "지정한 프로그램을 appstream:// URI로 바로 엽니다." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "지정한 MIME 형식을 처리할 수 있는 프로그램 검색 결과를 엽니다." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "분류별로 항목 목록을 표시합니다." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "둘러보기를 said 모드로 시작합니다. 모드는 도구 모음 단추에 대응합니다." + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "사용 가능한 모드를 표시합니다." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "간편 모드(auto/compact/full)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "설치할 로컬 패키지 파일" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "사용 가능한 백엔드를 표시합니다." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "검색 문자열입니다." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "사용자 피드백 옵션을 표시합니다" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "appstream: URL 형식 지원" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "둘러보기" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "프로그램 탐색기" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Plasma Development Team" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "품질 검증, 디자인, 사용 편의성" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "박신조" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde@peremen.name" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "사용 가능한 백엔드:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "사용 가능한 모드:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "부가 기능" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "더 보기..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "변경 사항 적용" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "초기화" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "새 %1 저장소 추가" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "추가" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "취소" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "별점 %1개" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "별점 없음" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "원본" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "새로운 항목" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "리뷰" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "모든 리뷰 %1개 보기..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "리뷰 작성" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "이 앱을 설치한 다음 리뷰를 작성하십시오" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "분류:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, %2에 출시됨" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "버전:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "작성자:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "크기:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "원본:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "라이선스:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "전체 라이선스 조항 보기" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "문서:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "사용자 설명서 보기" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "참여하기:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "앱 웹 사이트 방문" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "기부하기" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "문제 보고" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "찾기: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "정렬: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "이름" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "별점" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "크기:" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "출시 날짜" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "찾을 수 없습니다" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "계속 찾는 중..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "인기 항목" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "불러오는 중..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "프로그램을 불러올 수 없습니다.인터넷 연결을 확인하십시오." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "인기 항목 페이지로 돌아가기" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"루트 계정으로 실행하는 것은 권장하지 않으며 필요하지 않습니다." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "검색" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "설치됨" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "업데이트 가져오는 중..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "최신 상태" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "업데이트(%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "정보" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "설정" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "죄송합니다..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "진행 중인 작업이 있어서 둘러보기 프로그램을 닫을 수 없습니다." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "그래도 닫기" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "자원을 찾을 수 없음: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "진행" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "사용 정보 제출" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"KDE에 익명화된 사용 정보를 보내서 사용자 이해를 도울 수 있습니다. 더 많은 정" +"보를 보려면 https://kde.org/privacypolicy-apps.php 페이지를 참조하십시오." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "사용 정보 제출 중..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "설정" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "피드백 설정..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"통계를 공유하고 설문 조사에 참여하여 이 프로그램을 개선하는 데 도움을 줄 수 " +"있습니다." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "기여..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "귀하의 피드백을 기다립니다!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "참여하기..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "설치" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "삭제" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "'%1'의 자원" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "확장 기능..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "작업(%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "작업" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "버전: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "알 수 없는 리뷰어" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1, %2 작성" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "%1 님의 댓글" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "투표: %1/%2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "유용한가요?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "예" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "아니요" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "%1 리뷰" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "별점:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "이름:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "제목:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "별점 입력" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "제목 쓰기" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "리뷰 쓰기" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "계속 쓰기..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "너무 깁니다!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "리뷰 제출" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "%1 리뷰" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "리뷰 작성..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "리뷰를 작성하려면 앱을 설치해야 합니다" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "찾기..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "'%1'에서 검색..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1(기본값)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "원본 추가..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "기본값으로 설정" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "'%1' 선호도를 증가시킬 수 없음" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "'%1' 선호도를 감소시킬 수 없음" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "원본 삭제" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "내용 보기" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "사용할 수 없는 백엔드" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "업데이트" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "업데이트 문제" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "확인" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "업데이트 선택됨" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "모두 업데이트" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "모든 업데이트 선택됨(%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "업데이트 %1/%2 선택됨(%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "다시 시작" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "버전 %1(으)로 업데이트" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "설치 중..." + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "자세한 정보..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "업데이트 가져오는 중..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "업데이트" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "업데이트를 적용하려면 시스템 재시작 필요함" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "최신 상태" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "업데이트 확인 여부" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..e334f25 --- /dev/null +++ b/po/lt/libdiscover.po @@ -0,0 +1,1655 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-06-16 16:30+0300\n" +"Last-Translator: Moo\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: Poedit 2.0.6\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Moo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "<>" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Nuosavybinė" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Klaida gaunant apžvalgas: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Klaida pateikiant naudingumą: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Klaida pateikiant apžvalgą: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Kita kategorija" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "kita" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "kiti papildiniai" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "kita 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "kita su turiniu" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "kita su šiek tiek turinio" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "kita 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "kita 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Reikmenys" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Prieinamumas" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Derinimas" + +#: 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 dizainas" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalizavimas" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profiliavimas" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Saityno programavimas" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Švietimas" + +#: 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 "Mokslas ir inžinerija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chemija" + +#: 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 "Kompiuterių mokslas ir robotika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Žaidimai" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkada" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Vaidmenų žaidimai" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simuliacija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sportas" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Veiksmas" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuliatoriai" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: 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" + +#: 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 "Piešimas ir redagavimas" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publikavimas" + +#: 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 "Skenavimas ir optinis ženklų atpažinimas" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internetas" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Pokalbis" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Failų bendrinimas" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Saityno naršyklės" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedija" + +#: 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 "Garso ir vaizdo redaktoriai" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Garso leistuvės" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Vaizdo leistuvės" + +#: 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 ir DVD" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Biuras" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Sistemos nuostatos" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Vietinis paketas" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Netaisyklingas appstream url „%1“" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Nežinoma" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Gaunama dydžio informacija" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Nežinomas dydis" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 atsiųsti, %2 diske" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 diske" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Pridėti Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Nepavyko pridėti šaltinio %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Šalinama \"%1\"" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" +"Norint pašalinti šią saugyklą, privalo būti pašalintos šios programos:" +"
            • %1
            " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Nepavyko pašalinti %1 nuotolinės saugyklos: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Nepavyko rasti %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Įveskite Flatpak saugyklos URI (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Pridedama nuotolinė saugykla \"%1\", ties %2 iš %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Nuotolinė saugykla %1 reikalauja, kad jūs sutiktumėte su jų licencija:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Per ilgai užtruko inicijuoti vidinę pusę %1" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Programos" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma papildiniai" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Programų papildiniai" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Tinklo klaida vidinėje pusėje %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Į serverį išsiųsta per daug vidinės pusės %1 užklausų. Po kelių minučių, " +"bandykite dar kartą." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Neteisinga %1 vidinė pusė, susisiekite su savo platintoju." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Nepavyko gauti ekrano kopijos, skirtos įrašui %1, %2 vidinėje pusėje" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Neapdorota %1 vidinės pusės klaida. Susisiekite su savo platintoju." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Neteisingas KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Paleisti" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Naudoti" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "%1 prisijungimo informacija" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Nepavyksta paleisti %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma įskiepiai" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma valdikliai" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Šriftai" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Įsitikinkite, kad Appstream yra tinkamai nustatyta jūsų sistemoje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "Trūksta atminties" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Nėra prieinamo tinklo ryšio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operacija nepalaikoma" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Vidinė klaida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG klaida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Neteisingas PackageID" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Paketas neįdiegtas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Paketas nerastas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Paketas jau įdiegtas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Nepavyko atsisiųsti paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Nepavyko rasti paketų grupės" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Neteisingas paketų grupės sąrašas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Nepavyko išspręsti paketų priklausomybių" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Neteisingas filtras" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Nepavyko sukurti gijos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Operacijos nesėkmė" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Operacijos atsisakyta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Nėra prieinamo podėlio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Nepavyksta rasti saugyklos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Negalima pašalinti sisteminio paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit tarnyba užlūžo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Inicijavimo nesėkmė" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Nepavyko užbaigti operacijos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Nepavyko išnagrinėti konfigūracijos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Nepavyksta atsisakyti operacijos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Nepavyksta gauti užrakto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Nėra jokių atnaujintinų paketų" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Nepavyksta įrašyti saugyklų konfigūracijos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Vietinis diegimas patyrė nesėkmę" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Rastas blogas GPG parašas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Nerasta jokio GPG parašo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Nepavyksta įdiegti šaltinio paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Saugyklų konfigūracijos klaida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Nėra jokio licencijos sutikimo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Rastas konfliktas tarp failų" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Rastas paketų konfliktas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Saugykla neprieinama" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Neteisingas paketo failas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Paketo diegimas užblokuotas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Rastas sugadintas paketas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Visi paketai jau įdiegti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Failas nerastas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Daugiau nebėra prieinamų tinklaviečių" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Nėra jokių platinimo naujinimo duomenų" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Nesuderinama architektūra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Įrenginyje nebeliko vietos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Reikia pakeisti laikmeną" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Jūs neturite įgaliojimų vykdyti šią operaciją" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "Atnaujinimas nerastas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Negalima diegti iš nepasirašytos saugyklos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Negalima atnaujinti iš nepasirašytos saugyklos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Nepavyksta gauti failų sąrašo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Nepavyksta gauti reikalingų paketų" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Nepavyksta išjungti saugyklos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Aptiktas apribotas atsiuntimas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Nepavyko sukonfigūruoti paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Nepavyko sukurti paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Nepavyko įdiegti paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Nepavyko pašalinti paketo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Nepavyko atnaujinti dėl veikiančių procesų" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Pasikeitė paketų duomenų bazė" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Pateiktas tipas nėra palaikomas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Netinkamas šakninis diegimo katalogas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Nepavyksta gauti šaltinių" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Atsisakyta pirmenybė" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Neužbaigta operacija" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Reikalingas užraktas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Nežinoma klaida %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "„%1“ buvo pakeistas ir siūlo, kad būtų paleistas iš naujo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "„%1“ atliktas pakeitimas siūlo, kad paleistumėte seansą iš naujo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"„%1“ buvo atnaujintas dėl saugumo priežasčių. Yra rekomenduojama paleisti " +"seansą iš naujo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"„%1“ buvo atnaujintas dėl saugumo priežasčių. Yra rekomenduojama paleisti " +"kompiuterį iš naujo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "„%1“ atliktas pakeitimas siūlo, kad paleistumėte kompiuterį iš naujo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Reikės paleisti programą iš naujo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Reikės paleisti seansą iš naujo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Reikės paleisti kompiuterį iš naujo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Saugumo sumetimais, reikės paleisti seansą iš naujo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Saugumo sumetimais, reikės paleisti kompiuterį iš naujo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Laukiama..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Podėlis įkeliamas iš naujo..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Sąranka..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Apdorojama..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Šalinti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Atsiunčiama..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Diegiama..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Atnaujinama..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Išvaloma..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Sprendžiamos priklausomybės..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Tikrinami parašai..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Tikrinama vykdymo galimybė..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Vykdoma..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Užbaigta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Atsisakyta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Laukiama užrakto..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Laukiama prieigos teisių suteikimo..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Kopijuojami failai..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Būsena nežinoma" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Kažko laukiame." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Nustatoma operacija..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Šiuo metu operacija atlieka darbus..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Šiuo metu operacija šalina paketus..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Šiuo metu operacija atsisiunčia paketus..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Šiuo metu operacijos diegia paketus..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Šiuo metu operacija atnaujina paketus..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Šiuo metu operacija išvalo..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Šiuo metu operacija sprendžia ketinamų įdiegti paketų priklausomybes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Šiuo metu operacija tikrina paketų parašus..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Šiuo metu operacija tikrina šio paketų rinkinio vykdymo galimybę..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Šiuo metu operacija vykdo savo paketų rinkinį..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Operacija užbaigė darbą!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Operacijos buvo atsisakyta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Šiuo metu operacija laukia užrakto..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Laukiama, kol naudotojas suteiks prieigos teises..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Šiuo metu operacija kopijuoja failus..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Šiuo metu iš naujo įkeliamas saugyklų podėlis..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Nežinoma būsena „%1“." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabilus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Nestabilus" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Bandomasis" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Autonominiai atnaujinimai" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Nepavyko atnaujinti %1 paketo\n" +"%2" +msgstr[1] "" +"Nepavyko atnaujinti %1 paketų\n" +"%2" +msgstr[2] "" +"Nepavyko atnaujinti %1 paketų\n" +"%2" +msgstr[3] "" +"Nepavyko atnaujinti %1 paketo\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Atverti Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Pataisyti sistemą" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Pataisymas nepavyko" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Praneškite savo platinimui: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Sėkmingai atnaujintas %1 paketas" +msgstr[1] "Sėkmingai atnaujinti %1 paketai" +msgstr[2] "Sėkmingai atnaujinta %1 paketų" +msgstr[3] "Sėkmingai atnaujintas %1 paketas" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Paverčia nebenaudojamais:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Laidos informacija:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Atnaujinimo būsena:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Paleidimas iš naujo:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Tiekėjas:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (ir dar %1 priklausomybė)" +msgstr[1] "%2 (ir dar %1 priklausomybės)" +msgstr[2] "%2 (ir dar %1 priklausomybių)" +msgstr[3] "%2 (ir dar %1 priklausomybė)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "Saugyklos URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Ketinami šalinti paketai" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, fuzzy, kde-format +#| msgid "" +#| "The following packages will be removed by the update:\n" +#| "
            • %1
            \n" +#| "in order to install:\n" +#| "
            • %2
            " +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" +"Atnaujinant, bus pašalinti šie paketai:\n" +"
            • %1
            \n" +"kad būtų įdiegti:\n" +"
            • %2
            " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Norėdami užbaigti atnaujinimą, paleiskite kompiuterį iš naujo" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Užklaustas \"%1\" tipo laikmenos pakeitimas.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Sutinku su licencija" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Paketas %1 ir jo tiekėjas %2 reikalauja, kad sutiktumėte su jų licencija:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Trūksta %1 parašo ties %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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 "" +"Ar pasitikite šiuo raktu?\n" +"\n" +"Url: %1\n" +"Naudotojas: %2\n" +"Raktas: %3\n" +"Kontrolinis kodas: %4\n" +"Laiko žyma: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Patvirtinti paketo šalinimą" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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] "" +"Šis veiksmas taip pat pašalins šį paketą:\n" +"%2" +msgstr[1] "" +"Šis veiksmas taip pat pašalins šiuos paketus:\n" +"%2" +msgstr[2] "" +"Šis veiksmas taip pat pašalins šiuos paketus:\n" +"%2" +msgstr[3] "" +"Šis veiksmas taip pat pašalins šiuos paketus:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Ši snap programa reikalauja, kad būtų išjungtos saugumo izoliavimo priemonės." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Išvardyti visas vidines puses, atskirtas kableliais „,“, kurias norėsime " +"turėti įkeltas." + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Sugadinta" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Prieinama" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Įdiegta" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Galima naujinti" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Tikrinti, ar yra atnaujinimų" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Rodyti atnaujinimus" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/sek." + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Pradedama" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Laukiama" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Atsiunčiama" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Įdiegiama" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Šalinama" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Keičiami papildiniai" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Atlikta" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Nepavyko" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Atsisakyta" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Programų atnaujinimai" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Sistemos atnaujinimai" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Papildiniai" \ 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..0ddad8f --- /dev/null +++ b/po/lt/plasma-discover-notifier.po @@ -0,0 +1,161 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-01-31 01:07+0200\n" +"Last-Translator: Moo\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: Poedit 2.2.4\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Rodyti atnaujinimus" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Yra prieinami saugumo atnaujinimai" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Yra prieinami atnaujinimai" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Sistema pilnai atnaujinta" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Reikia paleisti kompiuterį iš naujo" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Nėra ryšio" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Paleisti iš naujo" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Reikalingas paleidimas iš naujo" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Tam, kad nuostatos įsigaliotų, sistema turi būti paleista iš naujo." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Naujinti" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Yra prieinamas naujinimas" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nauja versija: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Discover pranešiklis" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Sistemos atnaujinimų būsenos pranešiklis" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Plasma plėtojimo komanda" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Moo" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "<>" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Pakeisti esamą egzempliorių" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Nerodyti pranešiklį" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "paslėpta" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Atnaujinimai" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Atverti Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Rodyti atnaujinimus..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Įkelti iš naujo..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Paleisti iš naujo..." \ 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..45d72c3 --- /dev/null +++ b/po/lt/plasma-discover.po @@ -0,0 +1,833 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-06-16 16:29+0300\n" +"Last-Translator: Moo\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: Poedit 2.0.6\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Nerasta jokių programos vidinių pusių, praneškite savo platinamajam paketui." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Nepavyko rasti kategorijos „%1“" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Nepavyksta sąveikauti su flatpak ištekliais be flatpak vidinės pusės %1. Iš " +"pradžių, ją įdiekite." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Nepavyko atverti %1" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Tiesiogiai atverti nurodytą programą pagal jos paketo pavadinimą." + +#: discover/main.cpp:34 +#, fuzzy, kde-format +#| msgid "Open with a program that can deal with the given mimetype." +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Atverti naudojant programą, galinčią apdoroti šį MIME tipą." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Rodyti kategorijos įrašų sąrašą." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Atverti „Discover“ nusakytoje veiksenoje. Veiksenos derinasi prie įrankių " +"juostos mygtukų." + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "Išvardyti visas prieinamas veiksenas." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Glaustoji veiksena (automatinė/glaustoji/pilnoji)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Vietinis paketas, kurį įdiegti" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Rodyti visas prieinamas vidines puses." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Paieškos eilutė." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Išvardija prieinamas naudotojo grįžtamojo ryšio parinktis" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Palaiko appstream: url schemą" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Programų paieškos įrankis" + +#: discover/main.cpp:93 +#, fuzzy, kde-format +#| msgid "© 2010-2019 Plasma Development Team" +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2019 Plasma vystymo komanda" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Moo" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "<>" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Prieinamos vidinės pusės:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Prieinamos veiksenos:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Papildiniai" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Daugiau..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Taikyti pakeitimus" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Pridėti naują %1 saugyklą" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Pridėti" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Atsisakyti" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 įvertinimas" +msgstr[1] "%1 įvertinimai" +msgstr[2] "%1 įvertinimų" +msgstr[3] "%1 įvertinimas" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Kol kas įvertinimų nėra" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Šaltiniai" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Kas naujo" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Apžvalgos" + +#: discover/qml/ApplicationPage.qml:245 +#, fuzzy, kde-format +#| msgid "Show %1 review..." +#| msgid_plural "Show all %1 reviews..." +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Rodyti %1 apžvalgą..." +msgstr[1] "Rodyti visas %1 apžvalgas..." +msgstr[2] "Rodyti visas %1 apžvalgų..." +msgstr[3] "Rodyti visas %1 apžvalgą..." + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Write a Review..." +msgid "Write a Review" +msgstr "Parašykite apžvalgą..." + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Install to write a review!" +msgid "Install to Write a Review" +msgstr "Norėdami rašyti apžvalgą, įsidiekite šią programą!" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategorija:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, išleista ties %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versija:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autorius:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Dydis:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Šaltinis:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licencija:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Rodyti visas licencijos sąlygas" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Dokumentacija:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Skaityti naudotojo vadovą" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Įsitraukti:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Apsilankyti programos internetinėje svetainėje" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Paremti" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Pranešti apie problemą" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Ieškoti: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Rikiuoti: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Pavadinimas" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Įvertinimas" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Dydis" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Laidos data" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Atleiskite, nieko nerasta" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Vis dar ieškoma..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Pasižymėjusios" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Įkeliama..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "Nepavyko įkelti programų.Patikrinkite savo interneto ryšį." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Grįžti į pasižymėjusių sąrašą" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"Paleidimas supernaudotojo (root) teisėmis nereikalingas ir " +"neskatinamas." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Ieškoti" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Įdiegta" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Gaunami atnaujinimai..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Atnaujinta" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Atnaujinimas (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Apie" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Nuostatos" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Apgailestaujame..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Nepavyko užverti Discover, liko nebaigtų užduočių." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Vis tiek išeiti" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Nepavyko rasti ištekliaus: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Tęsti" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Pateikti naudojimosi informacija" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Siunčia anonimizuotą naudojimosi informaciją į KDE, kad tokiu būdu mes " +"galėtume geriau suprasti savo naudotojus. Išsamesnei informacijai žiūrėkite " +"https://kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Pateikiama naudojimosi informacija..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Konfigūruoti" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Konfigūruoti grįžtamąjį ryšį..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Galite mums padėti tobulinti šią programą, bendrindami statistiką ir " +"dalyvaudami apklausose." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Talkinti..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Mes laukiame jūsų grįžtamojo ryšio!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Dalyvauti..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Įdiegti" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Šalinti" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "„%1“ ištekliai" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Plėtiniai..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Užduotys (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Užduotys" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versija: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "nežinomas apžvalgininkas" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 / %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "%1 komentaras" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Balsai: %1 iš %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Naudinga?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Taip" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Ne" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Apžvelgiama %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Įvertinimas:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Pavadinimas:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Antraštė:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Įveskite įvertinimą" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Parašykite antraštę" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Parašykite apžvalgą" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Rašykite toliau..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Pernelyg ilgas!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Pateikti apžvalgą" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "%1 apžvalgos" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Parašykite apžvalgą..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Norėdami rašyti apžvalgą, įdiekite šią programą" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Ieškoti..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Ieškoti kategorijoje „%1“..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (numatytoji)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Pridėti šaltinį..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Paversti numatytąja" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Nepavyko padidinti \"%1\" nuostatos" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Nepavyko sumažinti \"%1\" nuostatos" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Ištrinti kilmę" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Rodyti turinį" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Trūksta vidinių pusių" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Atnaujinimai" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Update Issue" +msgstr "Atnaujinimai" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "Gerai" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Atnaujinti pažymėtus" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Atnaujinti visus" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Pažymėti visi atnaujinimai (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 pažymėtas atnaujinimas (%3)" +msgstr[1] "%1/%2 pažymėti atnaujinimai (%3)" +msgstr[2] "%1/%2 pažymėtų atnaujinimų (%3)" +msgstr[3] "%1/%2 pažymėtas atnaujinimas (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Paleisti iš naujo" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Atnaujinti į versiją %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Įdiegiama" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Daugiau informacijos..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Gaunami atnaujinimai..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Atnaujinimai" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Atnaujinimų pritaikymui, reikia paleisti kompiuterį iš naujo" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Atnaujinta" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Turėtų būti tikrinama ar yra atnaujinimų" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Nežinoma, kada buvo paskutinį kartą tikrinama ar yra atnaujinimų" \ No newline at end of file diff --git a/po/ml/libdiscover.po b/po/ml/libdiscover.po new file mode 100644 index 0000000..4193a4b --- /dev/null +++ b/po/ml/libdiscover.po @@ -0,0 +1,1592 @@ +# Malayalam translations for discover package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the discover package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2019-04-11 03:46+0200\n" +"Last-Translator: Automatically generated\n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\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" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "" \ No newline at end of file diff --git a/po/ml/plasma-discover-notifier.po b/po/ml/plasma-discover-notifier.po new file mode 100644 index 0000000..db7cbc2 --- /dev/null +++ b/po/ml/plasma-discover-notifier.po @@ -0,0 +1,158 @@ +# Malayalam translations for discover package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the discover package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2019-12-23 17:46+0000\n" +"Last-Translator: Subin Siby \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\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:87 +#, kde-format +msgid "View Updates" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 പ്ലാസ്മ വികസന ടീം" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "നിസരി കെ കെ" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "shijualexonline@gmail.com,snalledam@dataone.in,vivekkj2004@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "" \ No newline at end of file diff --git a/po/ml/plasma-discover.po b/po/ml/plasma-discover.po new file mode 100644 index 0000000..2eca793 --- /dev/null +++ b/po/ml/plasma-discover.po @@ -0,0 +1,809 @@ +# Malayalam translations for discover package. +# Copyright (C) 2019 This file is copyright: +# This file is distributed under the same license as the discover package. +# Automatically generated, 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2019-12-29 20:50+0000\n" +"Last-Translator: Subin Siby \n" +"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് \n" +"Language: ml\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" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"ആപ്ലിക്കേഷൻ ബാക്ക്-എന്റുകളൊന്നും കണ്ടെത്തിയില്ല, ദയവായി നിങ്ങളുടെ വിതരണത്തിലേക്ക് റിപ്പോർട്ട് " +"ചെയ്യുക." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "'%1' വിഭാഗം കണ്ടെത്താൻ കഴിഞ്ഞില്ല" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"ഫ്ലാറ്റ്പാക്ക് ബാക്കെൻഡ് %1 ഇല്ലാതെ ഫ്ലാറ്റ്പ്പാക്ക് ഉറവിടങ്ങളുമായി സംവദിക്കാൻ കഴിയില്ല. ആദ്യം " +"അത് ഇൻസ്റ്റാൾ ചെയ്യുക." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "%1 തുറക്കാൻ കഴിഞ്ഞില്ല" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "നിർദ്ദിഷ്ട ആപ്ലിക്കേഷന്റെ പാക്കേജ് നാമം ഉപയോഗിച്ച് നേരിട്ട് തുറക്കുക." + +#: discover/main.cpp:34 +#, fuzzy, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "തന്നിരിക്കുന്ന മൈംറ്റൈപ്പ് കൈകാര്യം ചെയ്യാൻ കഴിയുന്ന ഒരു ആപ്പ് ഉപയോഗിച്ച് തുറക്കുക." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "ഒരു തരം വിഭാഗമുള്ള ഇനങ്ങളുടെ പട്ടിക പ്രദർശിപ്പിക്കുക." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "പറഞ്ഞ രീതിയിൽ ഡിസ്കവർ തുറക്കുക. ഉപകരണപ്പട്ടയിലെ ബട്ടണുകളുമായി മോഡുകൾ യോജിക്കുന്നു." + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "ലഭ്യമായ എല്ലാ രീതികളും പട്ടികപ്പെടുത്തുക." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "കോം‌പാക്റ്റ് രീതി (യാന്ത്രികം / കോം‌പാക്റ്റ് / പൂർണ്ണം)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "ഇൻസ്റ്റാൾ ചെയ്യാനുള്ള തദ്ദേശ പാക്കേജ് ഫയൽ" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "ലഭ്യമായ എല്ലാ ബാക്കെൻഡുകളും പ്രദര്‍ഷിപ്പിക്കുക." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "സ്ട്രിംഗ് തിരയുക." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "ആപ്സ്ട്രീം പിന്തുണയ്ക്കുന്നു: url പദ്ധതി" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "ഡിസ്കവർ " + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "ഒരു ആപ്ലിക്കേഷൻ പരിവേക്ഷക" + +#: discover/main.cpp:93 +#, fuzzy, kde-format +#| msgid "© 2010-2019 Plasma Development Team" +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2019 പ്ലാസ്മ വികസന ടീം" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "നിസരി കെ കെ,പ്രേയസ് പ്രതാപ് " + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "nisarikoolath@gmail.com,preyasprathap@yahoo.com" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "ലഭ്യമായ ബാക്കെൻഡുകൾ:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "ലഭ്യമായ രീതികൾ:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "ആഡോണുകൾ" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "കൂടുതൽ..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "മാറ്റങ്ങൾ വരുത്തു" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, fuzzy, kde-format +msgid "Add New %1 Repository" +msgstr "ഒരു പുതിയ %1 സംഭരണി കൂട്ടിച്ചേര്‍ക്കുക" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "കൂട്ടിച്ചേര്‍ക്കുക" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "റദ്ദാക്കുക" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 റേറ്റിംഗ്" +msgstr[1] "%1 റേറ്റിംഗുകൾ" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "ഇതുവരെ റേറ്റിംഗുകളൊന്നുമില്ല" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "ഉറവിടങ്ങൾ" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "പുതിയത്" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "അവലോകനങ്ങൾ" + +#: discover/qml/ApplicationPage.qml:245 +#, fuzzy, kde-format +#| msgid "Show %1 review..." +#| msgid_plural "Show all %1 reviews..." +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "%1 വിശകലനം കാണിക്കുക..." +msgstr[1] "%1 വിശകലനങ്ങള്‍ കാണിക്കുക..." + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +msgid "Write a Review" +msgstr "ഒരു അവലോകനം എഴുതുക!" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +msgid "Install to Write a Review" +msgstr "അവലോകനം എഴുതാൻ ഈ ആപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുക!" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "വിഭാഗം:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%2 ന് പുറത്തിറങ്ങിയ %1" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "പതിപ്പ്:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "രചയിതാവ്:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "വലുപ്പം:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "ഉറവിടം:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "ലൈസൻസ്:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "എല്ലാ ലൈസൻസ് നിബന്ധനകളും കാണുക" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, fuzzy, kde-format +msgid "Report a problem" +msgstr "ഒരു പ്രശ്നം രേഖപ്പെടുത്തുക:" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "തിരയുക: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "അടുക്കുക: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "പേര്" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "റേറ്റിംഗ്" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "വലുപ്പം" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "പ്രകാശന തീയതി" + +#: discover/qml/ApplicationsListPage.qml:138 +#, fuzzy, kde-format +msgid "Sorry, nothing found" +msgstr "ക്ഷമിക്കണം, ഒന്നും കണ്ടെത്തിയില്ല ..." + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "ഇപ്പോഴും നോക്കികൊണ്ടിരിക്കുന്നു..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "തിരഞ്ഞെടുത്തത്" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "" + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "അപ്ലിക്കേഷനുകൾ ലോഡുചെയ്യാനായില്ല.ഇന്റർനെറ്റ് കണക്റ്റിവിറ്റി സ്ഥിരീകരിക്കുക." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "തിരഞ്ഞെടുത്ത താളിലേക്ക് മടങ്ങുക" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "തിരയുക" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "ഇൻസ്റ്റാളുചെയ്‌തു" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +msgid "Fetching updates..." +msgstr "അപ്‌ഡേറ്റുകൾ നേടുന്നു..." + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +msgid "Up to date" +msgstr "കാലികമാണ്" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "ഇതിനെ കുറിച്ച്" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "സജ്ജീകരണങ്ങള്‍" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "ക്ഷമിക്കണം..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "ക്രമീകരിക്കുക" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "ഒഴിവാക്കുക" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, fuzzy, kde-format +msgid "Version: %1" +msgstr "പതിപ്പ്:" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +msgid "Reviewing %1" +msgstr "അവലോകനങ്ങൾ" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +msgid "Name:" +msgstr "പേര്" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "തലക്കെട്ട്:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +msgid "Write the title" +msgstr "ഒരു അവലോകനം എഴുതുക!" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +msgid "Write the review" +msgstr "ഒരു അവലോകനം എഴുതുക!" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "" + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +msgid "Reviews for %1" +msgstr "അവലോകനങ്ങൾ" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +msgid "Write a Review..." +msgstr "ഒരു അവലോകനം എഴുതുക!" + +#: discover/qml/ReviewsPage.qml:59 +#, fuzzy, kde-format +msgid "Install this app to write a review" +msgstr "അവലോകനം എഴുതാൻ ഈ ആപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുക!" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "തിരയുക..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "" + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "ശെരി" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "" +msgstr[1] "" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "അപ്‌ഡേറ്റുകൾ നേടുന്നു..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "കാലികമാണ്" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" \ No newline at end of file diff --git a/po/mr/libdiscover.po b/po/mr/libdiscover.po new file mode 100644 index 0000000..8f96ecb --- /dev/null +++ b/po/mr/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. +# +# Chetan Khona , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "खेळ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Proprietary" +msgid "Proprietary" +msgstr "विशिष्ठ मालकीचे" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: 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 "अनुप्रयोग" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "सुलभता" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "" + +#: 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 "डिबग" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "शिक्षण" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "खगोलशास्त्र" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "खेळ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "" + +#: 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 "खेळ" + +#: 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 "खेळ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: 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 "शिक्षण" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "" + +#: 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 "अनुप्रयोग" + +#: 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 "शिक्षण" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "आलेखीय" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "मल्टीमीडिया" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "ऑफिस" + +#: 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 "प्रणाली व संयोजना" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "अपरिचीत" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "अपरिचीत" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 डाउनलोड करायचे आहे, %2 डिस्कवर आहे" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 डिस्कवर आहे" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "काढून टाकत आहे" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Applications" +msgstr "अनुप्रयोग" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "अनुप्रयोग" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "फॉन्ट" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "PackageID invalid" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package not installed" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package not found" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package is already installed" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package download failed" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package group not found" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package group list invalid" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Transaction failure" +msgstr "जुन्या क्रिया संपण्याची वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Transaction canceled" +msgstr "जुन्या क्रिया संपण्याची वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Local install failed" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, fuzzy, kde-format +#| msgctxt "@info Status info, widget title" +#| msgid "Waiting for Authentication" +msgid "Repo configuration error" +msgstr "अधिप्रमाणनाची वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package install blocked" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "All packages already installed" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "वितरण अद्ययावतता" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Media Change Required" +msgid "A media change is required" +msgstr "मीडिया बदल आवश्यक" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Package failed to install" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "कुलूपबंद" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown error %1." +msgstr "अपरिचीत" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Waiting" +msgid "Waiting..." +msgstr "वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "काढून टाका" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Downloading" +msgid "Downloading..." +msgstr "डाउनलोड करत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "प्रतिष्ठापन करत आहे..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, 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:233 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "संपले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, fuzzy, kde-format +#| msgctxt "@info Status info, widget title" +#| msgid "Waiting for Authentication" +msgid "Waiting for authorization..." +msgstr "अधिप्रमाणनाची वाट पाहत आहे" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown Status" +msgstr "अपरिचीत" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, fuzzy, kde-format +#| msgid "Setting up for install..." +msgid "Setting up transaction..." +msgstr "प्रतिष्ठापनाकरिता संयोजना करत आहे..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, 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:283 +#, 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:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown status %1." +msgstr "अपरिचीत" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "अनुप्रयोग" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Open File" +msgctxt "@action:button" +msgid "Open Discover" +msgstr "फाईल उघडा" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, fuzzy, kde-format +#| msgid "Installed" +msgid "Packages to remove" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "तुटलेले" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "उपलब्ध" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "प्रतिष्ठापीत केलेले" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "अद्ययावत करण्यायोग्य" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "अद्ययावत तपासा" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "View Updates" +msgstr "अनुप्रयोग" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "सुरु करत आहे" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "वाट पाहत आहे" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "डाउनलोड करत आहे" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "प्रतिष्ठापन करत आहे" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "काढून टाकत आहे" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "एडोन्स बदलत आहे" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "झाले" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "अनुप्रयोग" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +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..f7c3f78 --- /dev/null +++ b/po/mr/plasma-discover.po @@ -0,0 +1,849 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "निर्देशीत अनुप्रयोग त्याच्या पॅकेज नावाने उघडा." + +#: discover/main.cpp:34 +#, fuzzy, kde-format +#| msgid "Open with a program that can deal with the given mimetype." +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "दिलेल्या माइम प्रकाराशी चालू शकेल अशा कार्यक्रमात उघडा." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "नोंदींची यादी विभागासहित दर्शवा." + +#: discover/main.cpp:36 +#, 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:37 +#, 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:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:40 +#, 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:41 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search string." +msgstr "यामध्ये शोधा '%1'..." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "शोधा" + +#: discover/main.cpp:92 +#, fuzzy, kde-format +#| msgid "An application discoverer" +msgid "An application explorer" +msgstr "अनुप्रयोग शोधक" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "एलैक्स पोल गोन्झालेझ" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, fuzzy, kde-format +#| msgid "Available modes:\n" +msgid "Available backends:\n" +msgstr "उपलब्ध पद्धती :\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "उपलब्ध पद्धती :\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, fuzzy, kde-format +#| msgid "Add-ons" +msgid "Add" +msgstr "एडोन्स" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "रद्द करा" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "गुणवत्ताश्रेणी" +msgstr[1] "गुणवत्ताश्रेणी" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "स्रोत" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "प्रतिक्रिया" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review" +msgstr "सादर करा" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Install to Write a Review" +msgstr "सादर करा" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, fuzzy, kde-format +#| msgid "Total Size: %1
            " +msgid "Size:" +msgstr "एकूण आकार : %1
            " + +#: discover/qml/ApplicationPage.qml:337 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "स्रोत" + +#: discover/qml/ApplicationPage.qml:346 +#, fuzzy, kde-format +#| msgid "points: %1" +msgid "License:" +msgstr "गुण : %1" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search: %1" +msgstr "यामध्ये शोधा '%1'..." + +#: discover/qml/ApplicationsListPage.qml:64 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Sort: %1" +msgstr "यामध्ये शोधा '%1'..." + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "नाव" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "गुणवत्ताश्रेणी" + +#: discover/qml/ApplicationsListPage.qml:85 +#, fuzzy, kde-format +#| msgid "Total Size: %1
            " +msgid "Size" +msgstr "एकूण आकार : %1
            " + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:152 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "प्रतिष्ठापीत करा" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "दाखल करत आहे..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "शोधा..." + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "प्रतिष्ठापीत केलेले" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Fetching updates..." +msgstr "अद्ययावत करा" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Up to date" +msgstr "अद्ययावत करा" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "अद्ययावत करा" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "सर्वोत्कृष्ट गुणवत्ताश्रेणी" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "प्रतिष्ठापीत करा" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "काढून टाका" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:17 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "अद्ययावत करा" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, fuzzy, kde-format +#| msgid "%1
            %2" +msgid "%1 by %2" +msgstr "%1
            %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Reviewing %1" +msgid "Reviewing %1" +msgstr "समीक्षा करत आहे %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "गुणवत्ताश्रेणी :" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "नाव" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the title" +msgstr "सादर करा" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the review" +msgstr "सादर करा" + +#: discover/qml/ReviewDialog.qml:69 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "दाखल करत आहे..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "सादर करा" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "Reviews for %1" +msgstr "गुणवत्ताश्रेणी" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review..." +msgstr "सादर करा" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "शोधा..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "यामध्ये शोधा '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "स्रोत जोडा" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Update Issue" +msgstr "अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "ठीक आहे" + +#: discover/qml/UpdatesPage.qml:77 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "सर्व अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "सर्व अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "All updates selected (%1)" +msgstr "सर्व अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "सर्व अद्ययावत करा" +msgstr[1] "सर्व अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "प्रतिष्ठापीत करा" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:373 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Up to date" +msgstr "अद्ययावत करा" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..fa87149 --- /dev/null +++ b/po/nb/libdiscover.po @@ -0,0 +1,1601 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "attrapp" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: 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 "" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Tilgjengelighet" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Lokalisering" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilering" + +#: 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" + +#: 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" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kjemi" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronikk" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Teknikk" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematikk" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fysikk" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Spill" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkade" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puslespill" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulering" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafikk" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Tegning" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografering" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Forlagsvirksomhet" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Framvisning" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internett" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Prat" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kontor" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Ukjent" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Ukjent størrelse" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 på disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Start" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Bruk" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Logg i informasjon for %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Skrifter" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "Slapp opp for minne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Ingen nettverkstilkobling tilgjengelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Handlingen er ikke støttet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Intern feil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG-svikt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Pakka er ikke installert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Fant ikke pakka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Pakka er installert fra før" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Pakkenedlasting mislyktes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Fant ikke pakkegruppa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Lista over pakkegrupper er ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Avhengigheter ble ikke løst" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Ugyldig filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Klarte ikke å lage en tråd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Transaksjonsfeil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaksjon avbrutt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Ikke noe mellomlager tilgjengelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Kan ikke finne pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Kan ikke fjerne systempakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit-daemonen har krasjet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Klargjøringsfeil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Klarte ikke å avslutte transaksjon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Klarte ikke å tolke oppsettet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Kan ikke avbryte transaksjon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kan ikke sette lås" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Ingen pakker trenger oppdatering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Kan ikke skrive til brønnoppsettet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Lokalinstallasjonen var mislykket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Ødelagt GPG-signatur funnet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Fant ingen GPG-signatur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Kan ikke installere kildepakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Feil i oppsettet for pakkebrønnen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Ingen lisensbetingelse" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Fant fillkonflikter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Fant pakkekonflikter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Pakkebrønn ikke tilgjengelig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Ugyldig pakkefil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Pakkeinstallasjonen ble blokkert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Fant ødelagt pakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Alle pakkene er installert fra før" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Fant ikke fila" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Ingen flere speil er tilgjengelige" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ingen data om distribusjonsoppgradering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Inkompatibel arkitektur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Ingen plass igjen på enheten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Må bytte medium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Fant ikke oppdatering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Kan ikke installere fra usignert pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Kan ikke oppdatere fra usignert pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Kan ikke hente fillista" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Kan ikke finne hva pakka krever" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Kan ikke slå av pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Fant nedlasting med restriksjoner" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Klarte ikke å sette opp pakka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Klarte ikke å bygge pakka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Pakke kunne ikke installeres" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Kunne ikke fjerne pakka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Oppdatering mislyktes på grunn av en kjørende prosess" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Pakkedatabasen ble endret" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Det er ikke støtte for den leverte typen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Installasjonsroten er ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Kansellert prioritet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Ufullført transaksjon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Låsing kreves" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Ukjent feil %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Skal programmet starte minimert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Økta må startes på nytt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Venter …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Oppdaterer mellomlager …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Oppsett …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Behandler …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Fjern …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Laster ned …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Installerer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Oppdaterer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Rydder opp …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Løser opp avhengigheter …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Kontrollerer signaturer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Test-innlevering …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Innleverer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Ferdig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Avbrutt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Venter på lås …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Venter på autorisasjon …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Kopierer filer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Ukjent status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Vi venter på noe." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Setter opp transaksjon …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transaksjonen arbeider nå …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transaksjonen fjerner nå pakker …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transaksjonen laster nå ned pakker …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transaksjonene installerer nå pakker …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transaksjonen oppdaterer nå pakker …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transaksjonen rydderr nå opp …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transaksjonen innleverer nå pakkene sine …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transaksjonen er nå avsluttet." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transaksjonen ble kansellert." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transaksjonen venter nå på låsen …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Venter på at brukeren skal autorisere transaksjonen …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transaksjonen kopierer nå filer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Frisker nå opp pakkebrønn-mellomlager …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Ukjent status: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ustabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Tester" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Utdaterer:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Oppdateringsstatus:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Omstart:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Produsent:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Godta EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 – %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Ødelagt" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Tilgjengelig" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Installert" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Oppgraderbar" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Se etter oppdateringer" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Starter" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Venter" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Laster ned" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installerer" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Fjerner" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Endrer tillegg" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Ferdig" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Mislyktes" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +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..1d16336 --- /dev/null +++ b/po/nb/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# Translation of plasma-discover-notifier to Norwegian Bokmål +# +# Bjørn Steensrud , 2015. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+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:87 +#, kde-format +msgid "View Updates" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Sikkerhetsoppdateringer tilgjengelige" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Oppdateringer tilgjengelige" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Systemet er oppdatert" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..01a0d68 --- /dev/null +++ b/po/nb/plasma-discover.po @@ -0,0 +1,803 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Vis en liste over oppføringer med en kategori." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "List alle tilgjengelige moduser." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "List alle tilgjengelige bakgrunnsmotorer." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "" + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Oppdag" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "En programutforsker" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Tilgjengelige motorer:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Tilgjengelige moduser:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Tillegg" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Bruk endringene" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Avbryt" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "" +msgstr[1] "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Kilder" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Hva er nytt" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Gjennomganger" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "" +msgstr[1] "" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versjon:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Størrelse:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Kilde:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Lisens:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Navn" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Karakter" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Størrelse" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Laster …" + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Søk" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Installert" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Innstillinger" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Fortsett" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installer" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Fjern" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ressurser for «%1»" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Oppgaver" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Karakter:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Tittel:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "" + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Søk …" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Søk i «%1» …" + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Gjør til standard" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Slett kilden" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Oppdateringer" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Oppdater alle" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "" +msgstr[1] "" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Mer informasjon …" + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" \ No newline at end of file diff --git a/po/nds/libdiscover.po b/po/nds/libdiscover.po new file mode 100644 index 0000000..0097dcd --- /dev/null +++ b/po/nds/libdiscover.po @@ -0,0 +1,1802 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: 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:" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "" + +#: 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" + +#: 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" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: 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" + +#: 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" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "" + +#: 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 "" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "" + +#: 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" + +#: 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" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, 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:102 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, 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:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Removing '%1'" +msgstr "Wegmaken" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Location" +msgid "Applications" +msgstr "Steed" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: 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" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, 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:24 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, 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:28 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, fuzzy, kde-format +#| msgid "Not installed" +msgid "PackageID invalid" +msgstr "Nich installeert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, fuzzy, kde-format +#| msgid "Not installed" +msgid "Package not installed" +msgstr "Nich installeert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, 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:36 +#, fuzzy, kde-format +#| msgid "Not installed" +msgid "Package is already installed" +msgstr "Nich installeert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, 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:40 +#, 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:42 +#, 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:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization error" +msgid "Transaction failure" +msgstr "Fehler bi't Torechtmaken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "No Screenshot Available" +msgid "No Cache available" +msgstr "Keen Schirmfoto to finnen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization error" +msgid "Initialization failure" +msgstr "Fehler bi't Torechtmaken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgid "Not installed" +msgid "Local install failed" +msgstr "Nich installeert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Residual Configuration" +msgid "Repo configuration error" +msgstr "Övrigbleven Instellen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, 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:90 +#, 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:92 +#, 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:94 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, fuzzy, kde-format +#| msgid "Package" +msgid "Package install blocked" +msgstr "Paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, 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:100 +#, fuzzy, kde-format +#| msgid "Not installed" +msgid "All packages already installed" +msgstr "Nich installeert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, 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:104 +#, 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:106 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "Distributschoon-Opfrischen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, 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:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, 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:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, 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:132 +#, 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:134 +#, 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:136 +#, 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:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +#| msgctxt "@action:button Cancels the download" +#| msgid "Cancel" +msgid "Canceled priority" +msgstr "Afbreken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "Afslaten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, 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:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, 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:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, 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:213 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "Wegmaken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, 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:217 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Install" +msgid "Installing..." +msgstr "Installeren" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, 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:233 +#, kde-format +msgid "Finished" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, fuzzy, kde-format +#| msgctxt "@action:button Cancels the download" +#| msgid "Cancel" +msgid "Canceled" +msgstr "Afbreken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Authentication error" +msgid "Waiting for authorization..." +msgstr "Identiteetprööv fehlslaan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, 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:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, 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:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, 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:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "Offline Updates" +msgstr "Opfrischen" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"\"%1\" lett sik nich daalladen.\n" +"%2\n" +"\n" +msgstr[1] "" +"\"%1\" lett sik nich daalladen.\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Open File" +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Datei opmaken" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"base" +#| "\"" +#| msgid "Base System" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Grundsysteem" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +"\"%1\" lett sik nich daalladen.\n" +"%2\n" +"\n" +msgstr[1] "" +"\"%1\" lett sik nich daalladen.\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, 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:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Schaadhaftig" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, fuzzy, kde-format +#| msgid "Available updates" +msgid "Available" +msgstr "Verföögbor Opfrischen" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, fuzzy, kde-format +#| msgctxt "@info:status describes a past-tense action" +#| msgid "Installed" +msgid "Installed" +msgstr "Installeert" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Opgradeerbor" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Na Opfrischen kieken" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgid "View Updates" +msgstr "Opfrischen" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, 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:82 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Install" +msgctxt "@info:status" +msgid "Installing" +msgstr "Installeren" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgctxt "@info:status" +msgid "Removing" +msgstr "Wegmaken" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when done" +#| msgid "Done" +msgctxt "@info:status" +msgid "Done" +msgstr "Afslaten" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, fuzzy, kde-format +#| msgctxt "@action:button Cancels the download" +#| msgid "Cancel" +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Afbreken" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Opfrischen" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "" \ 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..fdff4fa --- /dev/null +++ b/po/nds/plasma-discover.po @@ -0,0 +1,851 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Dat angeven Programm direktemang över em sien Paketnaam opmaken" + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "All verföögbor Bedriefoorden wiesen" + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "All verföögbor Hülpprogrammen wiesen" + +#: discover/main.cpp:41 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search string." +msgstr "Söken..." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Verföögbor Hülpprogrammen:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Verföögbor Bedriefoorden:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Verwiedern" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Verwiedern" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Afbreken" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Beweerten" +msgstr[1] "Beweerten" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Borns" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:210 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Nakiek" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review" +msgstr "Loosstüern" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Install to Write a Review" +msgstr "Loosstüern" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +#| msgid "Version: " +msgid "Version:" +msgstr "Verschoon: " + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, fuzzy, kde-format +#| msgid "Total Size: " +msgid "Size:" +msgstr "Heel Grött: " + +#: discover/qml/ApplicationPage.qml:337 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Borns" + +#: discover/qml/ApplicationPage.qml:346 +#, fuzzy, kde-format +#| msgid "License: " +msgid "License:" +msgstr "Verlööfnis: " + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search: %1" +msgstr "Söken..." + +#: discover/qml/ApplicationsListPage.qml:64 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Sort: %1" +msgstr "Söken..." + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Naam" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Beweerten" + +#: discover/qml/ApplicationsListPage.qml:85 +#, fuzzy, kde-format +#| msgid "Total Size: " +msgid "Size" +msgstr "Heel Grött: " + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:152 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "Installeren" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Bi to laden..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Söken..." + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Installeert" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Fetching updates..." +msgstr "Opfrischen" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Up to date" +msgstr "Opfrischen" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Opfrischen" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "Best Beweerten" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +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/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:17 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "Opfrischen" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, fuzzy, kde-format +#| msgid "Version: " +msgid "Version: %1" +msgstr "Verschoon: " + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, fuzzy, kde-format +#| msgid "%1
            %2" +msgid "%1 by %2" +msgstr "%1
            %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, fuzzy, kde-format +#| msgid "Comments" +msgid "Comment by %1" +msgstr "Kommentaren" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviewing %1" +msgstr "Nakiek" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Beweerten:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Naam" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the title" +msgstr "Loosstüern" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the review" +msgstr "Loosstüern" + +#: discover/qml/ReviewDialog.qml:69 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "Bi to laden..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Loosstüern" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "Reviews for %1" +msgstr "Beweerten" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review..." +msgstr "Loosstüern" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Söken..." + +#: discover/qml/SearchField.qml:27 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search in '%1'..." +msgstr "Söken..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Born tofögen" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "Opfrischen" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Update Issue" +msgstr "Opfrischen" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "All opfrischen" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "All opfrischen" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "All updates selected (%1)" +msgstr "All opfrischen" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "All opfrischen" +msgstr[1] "All opfrischen" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "Installeren" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Opfrischen" + +#: discover/qml/UpdatesPage.qml:373 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "Opfrischen" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Up to date" +msgstr "Opfrischen" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..7fca5d5 --- /dev/null +++ b/po/nl/libdiscover.po @@ -0,0 +1,1634 @@ +# 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-09 23:25+0200\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 20.08.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Freek de Kruijf - 2019 t/m 2020" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "freekdekruijf@kde.nl" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Bedrijfseigendom" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Fout bij ophalen van reviews: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Fout bij indienen van nuttigheid: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Fout bij indienen van review: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Dummy categorie" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "dummy" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "dummy add-ons" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "dummy 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "dummy met stuf" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "dummy met heel wat stuf" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "dummy 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "dummy 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accessoires" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Toegankelijkheid" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Debuggen" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profileren" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Onderwijs" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Scheikunde" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Electronics" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Techniek" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Wiskunde" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Natuurkunde" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Spellen" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzels" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulatie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Actie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulators" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Illustraties" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Tekenen" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Uitgeven" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Viewers" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chat" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kantoor" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Lokale bundel" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Misvormde appstream-URL '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Onbekend" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Informatie over grootte wordt opgehaald" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Onbekende grootte" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 op schijf" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Flathub toevoegen" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Kon de bron %1 niet toevoegen" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "'%1' wordt verwijderd" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" +"Om deze opslagruimte te verwijderen moet de installatie van de volgende " +"toepassingen ongedaan worden gemaakt:
            • %1
            " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Verwijderen van %1 opslagruimte op afstand is mislukt: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Kon %1 niet vinden" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Flatpak opslagruimte URI (*.flatpakrepo) invoeren:" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "'%1' op afstand in %2 van %3 wordt toegevoegd" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "EULA nakijken" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Initialisatie van backend %1 duurde te lang" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Toepassingen" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma-add-ons (illustraties)" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Add-ons (thema's) van KDE-toepassingen" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Netwerkfout in backend %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Teveel verzonden verzoeken naar de server voor backend %1. Probeer opnieuw " +"na een paar minuten." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Ongeldige %1 backend, neem contact op met uw leverancier." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Kon schermafdruk niet ophalen voor het entry %1 in backend %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Niet behandelde fout in %1 backend. Neem contact op met uw distributeur." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Foute KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Opstarten" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Gebruik" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Aanmeldinformatie voor %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Kan %1 niet starten" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma-add-ons (widgets)" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma-widgets" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Lettertypen" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Onvoldoende geheugen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Geen netwerkverbinding beschikbaar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Handeling wordt niet ondersteund" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Interne fout" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Ongeldige pakket-ID" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Pakket is niet geïnstalleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Pakket is niet gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Pakket is al geïnstalleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Het downloaden van het pakket is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Pakketgroep is niet gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "De lijst van de pakkettengroep is ongeldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Het oplossen van afhankelijkheden is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Het filter is ongeldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Aanmaken van een thread is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Transactie uitvoeren is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transactie is geannuleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Er is geen cache beschikbaar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Kan installatiebron niet vinden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Kan systeempakket niet verwijderen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "De PackageKit-daemon is gecrasht" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Initialisatiefout" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Afmaken van transactie is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Ontleden van configuratie is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Kan transactie niet annuleren" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kan geen vergrendeling verkrijgen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Geen pakketten om te opwaarderen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Kan configuratie van installatiebron niet wegschrijven" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Lokale installatie is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Foute GPG-ondertekening gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Geen GPG-ondertekening gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Kan broncodepakket niet installeren" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Configuratiefout in installatiebron" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Geen licentieovereenkomst" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Conflicten tussen bestanden gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Conflicten tussen pakketten gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Installatiebron niet beschikbaar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Ongeldig pakketbestand" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Pakketinstallatie is geblokkeerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Corrupt pakket gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Alle pakketten zijn al geïnstalleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Bestand niet gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Meer mirrors zijn niet beschikbaar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Geen gegevens voor opwaardering van distributie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Incompatibele architectuur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Geen ruimte meer beschikbaar op het apparaat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Een wijziging van medium is vereist" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Bijwerken is niet gevonden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Kan niet installeren vanaf een niet-ondertekende installatiebron" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Kan niet bijwerken vanaf een niet-ondertekende installatiebron" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Kan lijst met bestanden niet ophalen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Kan de vereisten niet ophalen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Kan installatiebron niet uitschakelen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Verboden download ontdekt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Pakket instellen is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Pakket bouwen is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Pakket installeren is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Pakket verwijderen is mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Bijwerken is mislukt vanwege een actief proces" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "De database van het pakket is gewijzigd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Het geleverde type wordt niet ondersteund" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Hoofdmap voor installatie is ongeldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Kan bronnen niet ophalen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Prioriteit geannuleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Niet afgemaakte transacties" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Vergrendeling vereist" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Onbekende fout %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' is gewijzigd en suggereert een herstart." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Een wijziging van '%1' suggereert om uw systeem opnieuw te starten." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "De toepassing zal opnieuw gestart moeten worden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "De sessie zal opnieuw gestart moeten worden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Het systeem zal opnieuw opgestart moeten worden." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Bezig met wachten..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Cache vernieuwen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Instellingen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Bezig met verwerken..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Verwijderen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Bezig met downloaden..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Installeren..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Bezig met bijwerken..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Bezig met opschonen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Afhankelijkheden oplossen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Ondertekening aan het controleren..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Bezig met testen van vastleggen (commit)..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Vastleggen(commit)..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Voltooid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Geannuleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Wacht op vergrendeling..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Bezig met wachten op autorisatie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Bezig met bestanden kopiëren..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Onbekende status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "We wachten ergens op." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Bezig met opzetten van transactie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "De transactie is nu bezig..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "De transactie is nu bezig pakketten te verwijderen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "De transactie is nu bezig pakketten te downloaden..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "De transactie is nu bezig pakketten te installeren..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "De transactie is nu bezig pakketten bij te werken..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "De transactie is nu bezig met opschonen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "De transactie is gereed!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "De transactie is geannuleerd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "De transactie wacht nu op de vergrendeling..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "De transactie is nu bezig bestanden te kopiëren..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Nu cache van installatiebron aan het verversen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Onbekende status %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabiel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Onstabiel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testen" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Offline elementen voor bijwerken" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Bijwerken van %1 pakket is mislukt\n" +"%2" +msgstr[1] "" +"Bijwerken van %1 pakketten is mislukt\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Discover openen" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Systeem repareren" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Herstel mislukt" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Rapporteer aan uw distributie: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Met succes %1 pakket bijgewerkt" +msgstr[1] "Met succes %1 pakketten bijgewerkt" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Vervangt:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Uitgavenotities:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Bijwerkstatus:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Opnieuw starten:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Fabrikant:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "Opslagruimte-URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Te verwijderen pakketten" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" +"De volgende pakketten zullen door het bijwerken verwijderd worden:
            • " +"%1

            om:
            • %2

            te installeren" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Herstart de computer om het bijwerken af te ronden" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "EULA accepteren" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Ontbrekende ondertekening voor %1 in %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Verwijderen van pakket bevestigen" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Vastklikken" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Beschadigd" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Beschikbaar" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Geïnstalleerd" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Kan worden opgewaardeerd" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Controleren op bijwerken" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Elementen voor bijwerken bekijken" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Bezig met starten" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Bezig met wachten" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Bezig met downloaden" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Bezig met installeren" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Verwijderen" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Add-ons worden gewijzigd" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Gereed" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Mislukt" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Geannuleerd" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Bijwerken van toepassingen" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Bijwerken van systeem" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Add-ons" \ 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..0f96124 --- /dev/null +++ b/po/nl/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-25 10:18+0200\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 20.04.2\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Elementen voor bijwerken bekijken" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Bijwerken van beveiliging is beschikbaar" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Elementen voor bijwerken beschikbaar" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Systeem is geheel bijgewerkt" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Opnieuw opstarten van de computer is nodig" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Offline" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Opnieuw starten" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Een herstart is vereist" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Opwaardering" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Opwaardering beschikbaar" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nieuwe versie: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Meldingenprogramma van Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Statusmeldingenprogramma voor bijwerken van systeem" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Ontwikkelteam van Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Freek de Kruijf - 2019" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "freekdekruijf@kde.nl" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Een bestaand exemplaar vervangen" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Het meldingenprogramma niet tonen" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "verborgen" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Elementen voor bijwerken" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Discover openen..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Zie elementen voor bijwerken..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Vernieuwen..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Opnieuw starten om het bijgewerkte toe te passen" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Klik om de computer opnieuw te starten" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Opnieuw starten..." \ 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..3485562 --- /dev/null +++ b/po/nl/plasma-discover.po @@ -0,0 +1,814 @@ +# 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-15 11:05+0200\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 20.08.1\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Geen back-ends van toepassing gevonden, rapporteer dat aan uw distributie." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Kon categorie '%1' niet vinden" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Kon %1 niet openen" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "De gespecificeerde toepassing direct openen met zijn appstream:// URI." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Openen met een zoekopdracht naar programma's die overweg kunnen met het " +"gegeven mimetype." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Toon een lijst met items met een categorie." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Maak een lijst met de beschikbare modi." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Compacte modus (auto/compact/volledig)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Lokaal bestand met te installeren pakket" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Maak een lijst met de beschikbare backends." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Zoekterm." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" +"Geeft een lijst met de beschikbare opties voor terugkoppeling van gebruiker" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Ondersteunt appstream: url schema" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Ontdekken" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Een zoekprogramma naar toepassingen" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Ontwikkelteam van Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Kwaliteitscontrole, ontwerp en bruikbaarheid" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Freek de Kruijf" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "freekdekruijf@kde.nl" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Beschikbare backends:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Beschikbare modi:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Add-ons" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Meer..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Wijzigingen toepassen" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Reset" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Een nieuwe opslagruimte %1 toevoegen" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Toevoegen" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Annuleren" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 waardering" +msgstr[1] "%1 waarderingen" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Nog geen waarderingen" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Bronnen" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Wat is nieuw" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Recensies" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, kde-format +msgid "Write a Review" +msgstr "Een review schrijven" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Installeren om een review te schrijven" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Categorie:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, uitgegeven op %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versie:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Auteur:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Grootte:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Bron:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licentie:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Zie de volledige licentievoorwaarden" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Documentatie:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Lees de gebruikersgids" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Doe mee:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Bezoek de website van de toepassing" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Doe een donatie" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Rapporteer een probleem" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Zoeken: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Sorteren: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Naam" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Waardering" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Grootte" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Uitgiftedatum" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Helaas, niets gevonden" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Nog steeds aan het zoeken..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Ondersteund" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Bezig met laden..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "Toepassingen laden lukt niet.Controleer uw internet verbinding." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Ga terug naar de pagina Mogelijkheden" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Als root uitvoeren is ontmoedigd en niet noodzakelijk." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Zoeken" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Geïnstalleerd" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Elementen voor bijwerken worden opgehaald..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Bijgewerkt" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Bijwerken (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Info over" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Instellingen" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Helaas..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Kon Discover niet sluiten, er zijn taken die nog gedaan moeten worden." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Toch stoppen" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Hulpbron '%1' kon niet worden gevonden" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Verder gaan" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Gebruiksinformatie aanleveren" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Stuurt geanoniemiseerde gebruiksinformatie naar KDE zodat we onze gebruikers " +"beter begrijpen. Voor meer informatie zie https://kde.org/privacypolicy-apps." +"php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Gebruiksinformatie wordt aangeleverd..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Configureren" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Terugkoppeling configureren..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"U kunt ons helpen deze toepassing te verbeteren door statistieken te delen " +"en deel te nemen aan enquêtes." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Meewerken..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Wij zijn op zoek naar uw feedback!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Deelnemen..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installeren" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Verwijderen" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Hulpbronnen voor '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Extensies..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Taken (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Taken" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versie: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "onbekende recensent" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 door %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Commentaar door %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Stemmen: %1 uit %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Bruikbaar?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Ja" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Nee" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Review maken van %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Waardering:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Naam:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Titel:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Waardering invoeren" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Een titel schrijven" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Een review schrijven" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Blijven schrijven..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Te lang!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Review indienen" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Reviews voor %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Een review schrijven..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Deze toepassing installeren om een review te schrijven" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Zoeken..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Zoeken in '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (standaard)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Bron toevoegen..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Maak standaard" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Ophogen van '%1' voorkeur is mislukt" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Verlagen van '%1' voorkeur is mislukt" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Oorsprong verwijderen" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Inhoud tonen" + +#: discover/qml/SourcesPage.qml:239 +#, 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:41 +#, kde-format +msgid "Update Issue" +msgstr "Probleem bijwerken" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Selectie Bijwerken" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Alles bijwerken" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Alle elementen voor bijwerken geselecteerd (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 element voor bijwerken geselecteerd (%3)" +msgstr[1] "%1/%2 elementen voor bijwerken geselecteerd (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Herstarten" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Naar versie %1 bijwerken" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Bezig met installeren" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Meer informatie..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Elementen voor bijwerken worden opgehaald..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Elementen voor bijwerken" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Het systeem heeft een herstart nodig om het bijgewerkte toe te passen" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Actueel" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Zou moeten controleren op bijwerken" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ No newline at end of file diff --git a/po/nn/libdiscover.po b/po/nn/libdiscover.po new file mode 100644 index 0000000..87580bd --- /dev/null +++ b/po/nn/libdiscover.po @@ -0,0 +1,1628 @@ +# Translation of libdiscover to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2015, 2016, 2017, 2018, 2019, 2020. +# Øystein Steffensen-Alværvik , 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-20 10:09+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 21.03.70\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Proprietær" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Feil ved henting av vurderingar: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Feil ved innsending av nyttevurdering: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Feil ved innsending av vurdering: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Eksempelkategori" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "eksempel" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "eksempel-tillegg" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "eksempel 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "eksempel med ting" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "eksempel med mykje ting" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "eksempel 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "eksempel 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Tilbehøyr" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Tilgjenge" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Omsetjing" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilering" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kjemi" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronikk" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Teknikk" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematikk" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fysikk" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Spel" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkade" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puslespel" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulering" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Action" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatorar" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafikk" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Teikning" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografering" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Forlagsverksemd" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Framvising" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internett" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Prat" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kontor" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Lokal samling" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Ugyldig appstream-adresse «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Ukjend" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Hentar storleiksinformasjon" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Ukjend storleik" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 på disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Legg til Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Klarte ikkje leggja til kjelda %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Fjernar «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" +"Desse programma må avinstallerast om du vil fjerna pakkebrønnen:
            • %1
            " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Klarte ikkje fjerna %1 pakkebrønn: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Fann ikkje %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Skriv in adresse til Flatpak-pakkebrønn (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Legg til fjernkjelde «%1» i %2 frå %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Les EULA-avtale" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Motoren %1 brukte for langt tid på å starta opp" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Program" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma-tillegg" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Programtillegg" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Nettverksfeil i motoren %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"For mange førespurnadar til tenaren for motoren %1. Prøv om att om nokre " +"minutt." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Ugyldig %1-motor. Kontakt distributøren din." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Klarte ikkje henta skjermbilete for oppføringa %1 i motoren %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Uhandtert feil i %1-motor. Kontakt distributøren din." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Feil adresse til KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Start" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Bruk" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Innloggingsinformasjon for %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Klarar ikkje starta %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma-tillegg" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma-element" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Skrifter" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Ikkje nok minne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Inga nettverkstilkopling tilgjengeleg" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operasjonen er ikkje støtta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Intern feil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG-feil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Ugyldig PackageID" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Pakken er ikkje installert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Fann ikkje pakken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Pakken er installert frå før" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Klarte ikkje lasta ned pakken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Fann ikkje pakkegruppa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Pakkegruppelista er ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Avhengnadane vart ikkje løyste" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Ugyldig filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Klarte ikkje laga tråd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Transaksjonsfeil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaksjon avbroten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Ikkje noko mellomlager tilgjengeleg" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Fann ikkje pakkebrønnen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Kan ikkje fjerna systempakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit-tenesta krasja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Klargjeringsfeil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Klarte ikkje fullføra transaksjon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Klarte ikkje tolka oppsettet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Kan ikkje avbryta transaksjon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kan ikkje setja lås" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Ingen pakkar treng oppdatering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Kan ikkje skriva til pakkebrønnoppsettet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Lokalinstallasjonen var mislukka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Øydelagd GPG-signatur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Fant ikkje GPG-signatur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Kan ikkje installera kjeldepakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Feil i oppsettet for pakkebrønnen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Inga lisensavtale" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Fann fillkonfliktar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Fann pakkekonflikt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Pakkebrønn ikkje tilgjengeleg" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Ugyldig pakkefil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Pakkeinstallasjonen vart blokkert" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Fant øydelagd pakke" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Alle pakkane er installerte frå før" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Fann ikkje fil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Ingen fleire speglar er tilgjengelege" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ingen data om distribusjonsoppgradering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Ikkje-kompatibel arkitektur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Ikkje meir plass på eininga" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Må byta medium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Fann ikkje oppdatering" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Kan ikkje installera frå usignert pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Kan ikkje oppdatera frå usignert pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Kan ikkje henta filliste" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Kan ikkje finna kva pakken krev" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Kan ikkje slå av pakkebrønn" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Oppdaga nedlasting med avgrensingar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Klarte ikkje setja opp pakken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Klarte ikkje byggja pakken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Klarte ikkje installera pakken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Klarte ikkje fjerna pakken" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Mislukka oppdatering, på grunn av ein køyrande prosess" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Pakkedatabasen vart endra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Det er ikkje støtte for den leverte typen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Installeringsrota er ugyldig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Kan ikkje henta installasjonskjelder" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Kansellert prioritet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Ufullført transaksjon" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Låsing påkravd" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Ukjend feil %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Ei endring av «%1» gjer at du bør starta maskina på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Programmet må startast på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Du må logga ut og inn att." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Maskina må startast på nytt." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Ventar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Oppdaterer mellomlager …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Set opp …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Handsamar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Fjern …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Lastar ned …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Installerer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Oppdaterer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Ryddar opp …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Løyser opp i avhengnadar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Kontrollerer signaturar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Endringstest …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Tek i bruk endringar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Fullført" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Avbrote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Ventar på lås …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Ventar på godkjenning …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Kopierer filer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Ukjend status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Me ventar på noko." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Set opp transaksjon …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transaksjonen arbeider no …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transaksjonen fjernar no pakkar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transaksjonen lastar no ned pakkar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transaksjonane installerer no pakkar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transaksjonen oppdaterer no pakkar …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transaksjonen ryddar no opp …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transaksjonen gjer no endringar for pakkane …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transaksjonen er no fullført." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transaksjonen vart avbroten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transaksjonen ventar no på lås …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Ventar på at brukaren skal godkjenna transaksjonen …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transaksjonen kopierer no filer …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Friskar opp pakkebrønn-mellomlager …" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Ukjend status %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ustabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testing" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Oppdateringar fråkopla" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Klarte ikkje oppdatera %1 pakke\n" +"%2" +msgstr[1] "" +"Klarte ikkje oppdatera %1 pakkar\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Opna Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Reparer systemet" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Mislukka reparering" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Meld frå til distribusjonen din: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 pakke vart oppdatert" +msgstr[1] "%1 pakkar vart oppdaterte" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Utdaterer:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Versjonsmerknadar:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Oppdateringsstatus:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Omstart:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Leverandør:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "Adresse til pakkebrønn:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Pakkar å fjerna" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" +"Desse pakkane vert fjerna av oppdateringa:
            • %1

            Dette er " +"for å kunna installera:
            • %2
            " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Start maskina på nytt for å fullføra oppdateringa" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Godta EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Manglar signatur for %1 i %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Stadfest pakkefjerning" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, 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:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Øydelagd" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Tilgjengeleg" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Installert" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Oppgraderbar" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Sjå etter oppdateringar" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Vis oppdateringar" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Startar" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Ventar" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Lastar ned" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installerer" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Fjernar" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Endrar tillegg" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Fullført" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Mislukka" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Avbroten" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Programoppdateringar" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Systemoppdateringar" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Tillegg" \ 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..baaeec4 --- /dev/null +++ b/po/nn/plasma-discover-notifier.po @@ -0,0 +1,160 @@ +# Translation of plasma-discover-notifier to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2015, 2018, 2019, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-08-28 18:54+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 20.12.0\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Vis oppdateringar" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Tryggleiksoppdateringar tilgjengelege" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Oppdateringar tilgjengelege" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Systemet er oppdatert" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Maskina må startast på nytt" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Fråkopla" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Start på nytt" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Du må starta maskina på nytt" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Oppgrader" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Oppgradering tilgjengeleg" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Ny versjon: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Discover-varslingar" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Varsling om systemoppdatering" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010–2019 Utviklingslaget for Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Erstatt ein instans som finst frå før" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Ikkje vis varsling" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "gøymd" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Oppdateringar" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Opna Discover …" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Sjå oppdateringar …" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Frisk opp …" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Start på nytt for å ta i bruk oppdateringane" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Trykk for å starta maskina på nytt" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Start på nytt …" \ 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..b7097a5 --- /dev/null +++ b/po/nn/plasma-discover.po @@ -0,0 +1,816 @@ +# Translation of plasma-discover to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2015, 2016, 2017, 2018, 2019, 2020. +# Øystein Steffensen-Alværvik , 2018. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-10-03 11:24+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 21.03.70\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Fann ingen programvaremotorar. Meld frå om feilen til distribusjonen din." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Fann ikkje kategorien «%1»" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Klarte ikkje opna %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Opna direkte det oppgjevne programmet med appstream://-adresssa." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Opna søk etter program som kan handtera den aktuelle MIME-typen." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Vis ei liste over oppføringar med ein kategori." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Vis alle tilgjengelege modusar." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompakt modus (auto/kompakt/full)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Lokal pakkefil som skal installerast" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Vis alle tilgjengelege bakgrunnsmotorar." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Søkjetekst." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Vis tilgjengelege val for tilbakemeldingar" + +#: discover/main.cpp:44 +#, 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:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Ein programutforskar" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010–2020 Utviklingslaget for Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Kvalitetskontroll, design og brukskvalitet" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Karl Ove Hufthammer,Øystein Steffensen-Alværvik" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org,ystein@posteo.net" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Tilgjengelege motorar:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Tilgjengelege modusar:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Tillegg" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Meir …" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Bruk innstillingane" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Nullstill" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Legg til nytt %1-depot" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Legg til" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Avbryt" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "– %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 karakter" +msgstr[1] "%1 karakterar" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Ingen karakterar enno" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Kjelder" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 – %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Nytt i denne utgåva" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Tilbakemeldingar" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, kde-format +msgid "Write a Review" +msgstr "Skriv ei vurdering" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Installer for å skriva ei vurdering" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategori:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, utgjeven %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versjon:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Opphavsperson:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Storleik:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Kjelde:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Lisens:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Sjå fullstendige lisensvilkår" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Hjelpetekstar:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Les brukarrettleiinga" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Vert med:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Besøk heimesida til programmet" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Gje pengegåve" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Meld frå om problem" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Søk: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Sortering: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Namn" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Karakter" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Storleik" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Utgjevingsdato" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Fann dessverre ingenting" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Leitar framleis …" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Framheva" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Lastar …" + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Klarte ikkje lasta inn program.Sjå til at Internett-sambandet verkar." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Gå tilbake til «Framheva»-sida" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Søk" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Installerte" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Hentar oppdateringar …" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "À jour" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Oppdater (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Om" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Innstillingar" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Beklagar …" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Kunne ikkje lukka Discover. Det finst oppgåver som ikkje er fullførte." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Avslutt likevel" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Finn ikkje ressurs: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Hald fram" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Send inn bruksinformasjon" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Sender anonymisert bruksinformasjon til KDE, slik at me kan forstå brukarane " +"våre betre. For meir informasjon, sjå https://kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Sender inn bruksinformasjon …" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Set opp" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Set opp tilbakemeldingar …" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Du kan hjelpa oss med å gjera programmet betre ved å dela bruksstatistikk og " +"delta i spørjeundersøkingar." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Bidra …" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Me ønskjer tilbakemelding frå deg!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Delta …" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Installer" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Fjern" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ressursar for «%1»" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Utvidingar …" + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Oppgåver (%1 %)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Oppgåver" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 – %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 – %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versjon: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "ukjend vurderar" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1: av %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Kommentar frå %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Røyster: %1 av %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Nyttig?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Ja" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Nei" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Vurderer %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Karakter:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Namn:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Tittel:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Skriv inn vurdering" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Skriv tittel" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Skriv vurdering" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Skriv vidare …" + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "For langt!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Send inn vurdering" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Vurderingar av %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Skriv ei vurdering …" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Installer programmet for å skriva ei vurdering" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Søk …" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Søk i «%1» …" + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (standard)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Legg til kjelde …" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Gjer til standard" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Klarte ikkje auka prioriteten for «%1»" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Klarte ikkje senka prioriteten for «%1»" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Slett kjelda" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Vis innhald" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Manglar bakgrunnsmotorar" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Oppdateringar" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Oppdateringsproblem" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Oppdater valde" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Oppdater alle" + +# Viser kor mange oppdateringar som er valde (huka av for). Bør derfor vera med eit «er» her. +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Alle oppdateringane er valde (%1)" + +# Viser kor mange oppdateringar som er valde (huka av for). Bør derfor vera med eit «er» her. +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 oppdatering er vald (%3)" +msgstr[1] "%1/%2 oppdateringar er valde (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Start på nytt" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Oppdater til versjon %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Installerer" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Meir informasjon …" + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Hentar oppdateringar …" + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Oppdateringar" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Datamaskina må startast på nytt for å ta i bruk oppdateringane" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "À jour" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Skal sjå etter oppdateringar" + +#: discover/qml/UpdatesPage.qml:408 +#, 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." \ No newline at end of file diff --git a/po/pa/libdiscover.po b/po/pa/libdiscover.po new file mode 100644 index 0000000..b824b7c --- /dev/null +++ b/po/pa/libdiscover.po @@ -0,0 +1,1739 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਬੋਰਡ ਖੇਡਾਂ" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Proprietary" +msgid "Proprietary" +msgstr "ਪਰੋਪ੍ਰੈਟਰੀ" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: 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 "ਐਪਲੀਕੇਸ਼ਨ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "ਸਹਾਇਕ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "ਸੁਲੱਭਤਾ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "ਡਿਵੈਲਪਰ ਟੂਲ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "ਡੀਬੱਗ" + +#: 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 "ਗਰਾਫਿਕਸ ਇੰਟਰਫੇਸ ਡਿਜ਼ਾਇਨ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "ਲੋਕਲਾਈਜ਼ੇਸ਼ਨ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "ਪਰੋਫਾਇਲਿੰਗ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "ਸਿੱਖਿਆ" + +#: 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 "ਵਿਗਿਆਨ ਤੇ ਇੰਜਨਅਰਿੰਗ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "ਗਰੈਹ ਵਿਦਿਆ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "ਬਾਇਓਲੋਜੀ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "ਰਸਾਇਣ-ਵਿਗਿਆਨ" + +#: 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 "ਕੰਪਿਊਟਰ ਵਿਗਿਆ ਤੇ ਰੋਬੋਟ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "ਇਲੈਕਟਰੋਨਿਕਸ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "ਇੰਜਨੀਅਰਗ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "ਭੂਗੋਲ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "ਜਿਓਲੋਜੀ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "ਗਣਿਤ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "ਭੌਤਿਕ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "ਖੇਡਾਂ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "ਅਰਕਾਡੀ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "ਬੋਰਡ ਖੇਡਾਂ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "ਤਾਸ਼ ਖੇਡਾਂ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: 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 "ਸਿੱਖਿਆ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "ਖੇਡਾਂ" + +#: 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 "ਐਪਲੀਕੇਸ਼ਨ" + +#: 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 "ਸਿੱਖਿਆ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "ਗਰਾਫਿਕਸ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "ਡਰਾਇੰਗ" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "ਫੋਟੋਗਰਾਫ਼ੀ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "ਪਰਕਾਸ਼ਨ" + +#: 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 "ਸਕੈਨ ਅਤੇ ਓਸੀਆਰ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "ਦਰਸ਼ਕ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "ਇੰਟਰਨੈੱਟ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "ਗੱਲਬਾਤ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "ਫਾਇਲ ਸਾਂਝ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "ਮੇਲ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "ਵੈੱਬ ਬਰਾਊਜ਼ਰ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "ਮਲਟੀਮੀਡਿਆ" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "ਦਫਤਰ" + +#: 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 "ਸਿਸਟਮ ਅਤੇ ਸੈਟਿੰਗ" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "ਅਣਜਾਣ" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "ਡਿਸਕ ਉੱਤੇੇ %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Applications" +msgstr "ਐਪਲੀਕੇਸ਼ਨ" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "ਐਪਲੀਕੇਸ਼ਨ" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "ਫੋਂਟ" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, 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:28 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "PackageID invalid" +msgstr "ਇੰਸਟਾਲ ਨਹੀਂ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not installed" +msgstr "ਇੰਸਟਾਲ ਨਹੀਂ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package not found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package is already installed" +msgstr "ਇੰਸਟਾਲ ਨਹੀਂ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Save Package Download List..." +msgid "Package download failed" +msgstr "…ਪੈਕੇਜ ਡਾਊਨਲੋਡ ਸੂਚੀ ਸੰਭਾਲੋ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package group not found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package group list invalid" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Transaction failure" +msgstr "ਹੋਰ ਟਰਾਂਸੈਕਸ਼ਨ ਪੂਰੀਆਂ ਹੋਣ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, fuzzy, kde-format +#| msgctxt "@info Status info" +#| msgid "Waiting for other transactions to finish" +msgid "Transaction canceled" +msgstr "ਹੋਰ ਟਰਾਂਸੈਕਸ਼ਨ ਪੂਰੀਆਂ ਹੋਣ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization Error" +msgid "Initialization failure" +msgstr "ਸ਼ੁਰੁਆਤ ਗਲਤੀ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Package History" +msgid "Local install failed" +msgstr "ਪੈਕੇਜ ਅਤੀਤ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Authentication error" +msgid "Repo configuration error" +msgstr "ਪਰਮਾਣਕਿਤਾ ਗਲਤੀ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "File conflicts found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package conflict found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Package History" +msgid "Package install blocked" +msgstr "ਪੈਕੇਜ ਅਤੀਤ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Corrupt package found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "All packages already installed" +msgstr "ਇੰਸਟਾਲ ਨਹੀਂ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "File not found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਅੱਪਗਰੇਡ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Update not found" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to configure" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to build" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to install" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Package failed to remove" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "ਲਾਕ ਕੀਤਾ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Unknown Error" +msgid "Unknown error %1." +msgstr "ਅਣਜਾਣ ਗਲਤੀ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Waiting" +msgid "Waiting..." +msgstr "ਉਡੀਕ ਜਾਰੀ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, 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:213 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "ਹਟਾਓ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Downloading" +msgid "Downloading..." +msgstr "ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "…ਇੰਸਟਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, 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:233 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "ਮੁਕੰਮਲ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, fuzzy, kde-format +#| msgctxt "@info Status info, widget title" +#| msgid "Waiting for Authentication" +msgid "Waiting for authorization..." +msgstr "ਪਰਮਾਣਕਿਤਾ ਲਈ ਉਡੀਕ ਜਾਰੀ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown Status" +msgstr "ਅਣਜਾਣ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, fuzzy, kde-format +#| msgid "Setting up for install..." +msgid "Setting up transaction..." +msgstr "…ਇੰਸਟਾਲ ਲਈ ਸੈਟਅੱਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, 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:283 +#, 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:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown status %1." +msgstr "ਅਣਜਾਣ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "ਇੰਸਟਾਲ ਹੈ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "ਐਪਲੀਕੇਸ਼ਨ" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"%1 ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਫੇਲ੍ਹ\n" +"%2\n" +"\n" +msgstr[1] "" +"%1 ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਫੇਲ੍ਹ\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Open File" +msgctxt "@action:button" +msgid "Open Discover" +msgstr "ਫਾਇਲ ਖੋਲ੍ਹੋ" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"base" +#| "\"" +#| msgid "Base System" +msgctxt "@action:button" +msgid "Repair System" +msgstr "ਬੇਸ ਸਿਸਟਮ" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +"%1 ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਫੇਲ੍ਹ\n" +"%2\n" +"\n" +msgstr[1] "" +"%1 ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਫੇਲ੍ਹ\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Packages Could Not be Found" +msgid "Packages to remove" +msgstr "ਪੈਕੇਜ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "ਖਰਾਬ" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "ਉਪਲੱਬਧ" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "ਇੰਸਟਾਲ ਹੈ" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "ਅੱਪਗਰੇਡਯੋਗ" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "ਅੱਪਡੇਟ ਲਈ ਚੈੱਕ ਕਰੋ" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "View Updates" +msgstr "ਐਪਲੀਕੇਸ਼ਨ" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "ਉਡੀਕ ਜਾਰੀ" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "ਇੰਸਟਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "ਸਮਾਪਤ" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "ਐਪਲੀਕੇਸ਼ਨ" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "ਅੱਪਡੇਟ" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +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..371abba --- /dev/null +++ b/po/pa/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+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:87 +#, kde-format +msgid "View Updates" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "ਸੁਰੱਕਿਆ ਅੱਪਡੇਟ ਮੌਜੂਦ ਹਨ" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "ਅੱਪਡੇਟ ਮੌਜੂਦ ਹਨ" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "ਸਿਸਟਮ ਅੱਪ ਟੂ ਡੇਟ ਹੈ" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:209 +#, fuzzy, kde-format +#| msgid "Updates available" +msgid "Upgrade available" +msgstr "ਅੱਪਡੇਟ ਮੌਜੂਦ ਹਨ" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:38 +#, fuzzy, kde-format +#| msgid "System update available" +msgid "System update status notifier" +msgstr "ਸਿਸਟਮ ਅੱਪਡੇਟ ਮੌਜੂਦ ਹੈ" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..9c139bc --- /dev/null +++ b/po/pa/plasma-discover.po @@ -0,0 +1,842 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:41 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search string." +msgstr "ਖੋਜ..." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "ਖੋਜ" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, fuzzy, kde-format +#| msgid "Add-ons" +msgid "Add" +msgstr "ਐਡ-ਆਨ" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "ਰੱਦ ਕਰੋ" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "ਰੇਟਿੰਗ" +msgstr[1] "ਰੇਟਿੰਗ" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "ਸਰੋਤ" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "ਪੜਤਾਲ" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review" +msgstr "ਭੇਜੋ" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Install to Write a Review" +msgstr "ਭੇਜੋ" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, fuzzy, kde-format +#| msgid "Total Size: %1
            " +msgid "Size:" +msgstr "ਕੁੱਲ ਸਾਈਜ਼: %1
            " + +#: discover/qml/ApplicationPage.qml:337 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "ਸਰੋਤ" + +#: discover/qml/ApplicationPage.qml:346 +#, fuzzy, kde-format +#| msgid "points: %1" +msgid "License:" +msgstr "ਅੰਕ: %1" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search: %1" +msgstr "ਖੋਜ..." + +#: discover/qml/ApplicationsListPage.qml:64 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Sort: %1" +msgstr "ਖੋਜ..." + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "ਨਾਂ" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "ਰੇਟਿੰਗ" + +#: discover/qml/ApplicationsListPage.qml:85 +#, fuzzy, kde-format +#| msgid "Total Size: %1
            " +msgid "Size" +msgstr "ਕੁੱਲ ਸਾਈਜ਼: %1
            " + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:152 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "ਇੰਸਟਾਲ" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "…ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "ਖੋਜ..." + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "ਇੰਸਟਾਲ ਹੋਇਆ" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Fetching updates..." +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Up to date" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "ਸਭ ਤੋਂ ਵਧੀਆ ਰੇਟਿੰਗ" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "ਇੰਸਟਾਲ" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "ਹਟਾਓ" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:17 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, fuzzy, kde-format +#| msgid "%1
            %2" +msgid "%1 by %2" +msgstr "%1
            %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviewing %1" +msgstr "ਰੀਵਿਊ" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "ਰੇਟਿੰਗ:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "ਨਾਂ" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the title" +msgstr "ਭੇਜੋ" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the review" +msgstr "ਭੇਜੋ" + +#: discover/qml/ReviewDialog.qml:69 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "…ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "ਭੇਜੋ" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "Reviews for %1" +msgstr "ਰੇਟਿੰਗ" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review..." +msgstr "ਭੇਜੋ" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "ਖੋਜ..." + +#: discover/qml/SearchField.qml:27 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search in '%1'..." +msgstr "ਖੋਜ..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "ਸਰੋਤ ਸ਼ਾਮਿਲ" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Update Issue" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "ਠੀਕ ਹੈ" + +#: discover/qml/UpdatesPage.qml:77 +#, fuzzy, kde-format +#| msgid "Update All!" +msgid "Update Selected" +msgstr "ਸਭ ਅੱਪਡੇਟ ਕਰੋ!" + +#: discover/qml/UpdatesPage.qml:77 +#, fuzzy, kde-format +#| msgid "Update All!" +msgid "Update All" +msgstr "ਸਭ ਅੱਪਡੇਟ ਕਰੋ!" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All!" +msgid "All updates selected (%1)" +msgstr "ਸਭ ਅੱਪਡੇਟ ਕਰੋ!" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All!" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "ਸਭ ਅੱਪਡੇਟ ਕਰੋ!" +msgstr[1] "ਸਭ ਅੱਪਡੇਟ ਕਰੋ!" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "ਇੰਸਟਾਲ" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/UpdatesPage.qml:373 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Up to date" +msgstr "ਅੱਪਡੇਟ" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..a513e0b --- /dev/null +++ b/po/pl/libdiscover.po @@ -0,0 +1,1635 @@ +# 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, 2019, 2020. +# Marta Rybczyńska , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-11-15 09:21+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 20.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Łukasz Wojniłowicz" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukasz.wojnilowicz@gmail.com" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Własnościowe" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Błąd przy pobieraniu ocen: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Błąd przy wysyłaniu użyteczności: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Błąd przy wysyłaniu oceny: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Fikcyjna kategoria" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "fikcyjny" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "fikcyjne dodatki" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "fikcyjny 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "fikcyjny z zawartością" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "fikcyjny z dużą zawartością" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "fikcyjny 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "fikcyjny 4" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Akcesoria" + +#: 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ść" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Diagnozowanie" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilowanie" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Edukacja" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chemia" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematyka" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizyka" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Gry" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzle" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Symulacje" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sporty" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatory" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Rysowanie" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publikowanie" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Rozmowa" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Poczta" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Biuro" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Lokalny pęk" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Zniekształcony adres url appstream '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Nieznane" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Pobieranie informacji o rozmiarze" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Nieznany rozmiar" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 na dysku" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Dodaj Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Nie można dodać źródła %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Usuwanie '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" +"Aby usunąć to repozytorium, muszą zostać usunięte następujące aplikacje: " +"
            • %1
            " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Nie udało się usunąć zdalnego repozytorium %1: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Nie można znaleźć %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Wpisz URI repozytorium Flatpak (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Dodawanie zdalnego źródła '%1' w %2 z %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "EULA oceny" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Strona trzecia %1 wymaga zgody na ich licencję:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Silnikowi %1 zajmuje zbyt dużo, żeby się uruchomić" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Programy" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Dodatki do Plazmy" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Dodatki do programów" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Błąd sieci w silniku %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Wysłano zbyt wiele żądań do serwera dla silnika %1. Spróbuj ponownie za " +"kilka minut." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Nieprawidłowy silnik %1, napisz do swojego dystrybutora." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Nie można pobrać zrzutu ekranu dla wpisu %1 w silniku %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Nieobsługiwany błąd w silniku %1. Napisz do swojego dystrybutora." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Zły adres URI KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Uruchom" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Użyj" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Dane logowania dla %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Nie można uruchomić %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Dodatki do Plazmy" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Elementy interfejsu Plazmy" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Czcionki" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Brak pamięci" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Brak połączenia z siecią" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Działanie jest nieobsługiwane" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Błąd wewnętrzny" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Niepowodzenie GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Nieprawidłowy identyfikator pakietu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Nie wgrano pakietu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Nie znaleziono pakietu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Pakiet jest już wgrany" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Pobieranie pakietu nie powiodło się" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Nie znaleziono grupy pakietów" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Wykaz grup pakietów jest nieprawidłowy" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Rozwiązywanie kwestii zależności nie powiodło się" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Nieprawidłowy filtr" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Niepowodzenie przy tworzeniu wątku" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Niepowodzenie transakcji" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Porzucono transakcję" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Brak pamięci podręcznej" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Nie można znaleźć repozytorium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Nie można usunąć pakietu systemowego" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Usługa PackageKit uległa awarii" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Niepowodzenie inicjalizacji" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Niepowodzenie przy kończeniu transakcji" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Niepowodzenie przetwarzania ustawień" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Nie można zaniechać transakcji" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Nie można uzyskać blokady" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Brak pakietów do uaktualnienia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Nie można zapisać ustawień repozytorium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Wgrywanie lokalne nie powiodło się" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Znaleziono zły podpis GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Nie znaleziono podpisu GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Nie można wgrać pakietu źródłowego" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Błąd ustawień repozytorium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Brak umowy licencyjnej" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Znaleziono niezgodność plików" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Znaleziono niezgodność pakietów" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Repozytorium jest niedostępne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Niepoprawny plik pakietu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Zablokowano wgrywanie pakietu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Znaleziono uszkodzony pakiet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Wszystkie pakiety wgrano wcześniej" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Nie znaleziono pliku" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Brak dodatkowych serwerów lustrzanych" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Brak danych do uaktualnienia dystrybucji" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Niezgodna architektura" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Brak wolnego miejsca na urządzeniu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Wymagana zmiana nośnika" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Nie znaleziono uaktualnienia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Nie można wgrać z niepodpisanego repozytorium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Nie można uaktualnić z niepodpisanego repozytorium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Nie można uzyskać wykazu plików" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Nie można uzyskać zależności" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Nie można wyłączyć repozytorium" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Wykryto ograniczone pobieranie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Ustawienie pakietu nie powiodło się" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Budowa pliku nie powiodła się" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Wgrywanie pakietu nie powiodło się" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Nieudane usuwanie pakietu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, 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:140 +#, kde-format +msgid "The package database changed" +msgstr "Baza danych pakietów uległa zmianie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Podany rodzaj jest nieobsługiwany" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Główny katalog wgrywania jest nieprawidłowy" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Nie można pobrać źródeł" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Porzucono priorytet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Nieukończone transakcje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Wymagana blokada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Nieznany błąd %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' został zmieniony i sugeruje ponowne uruchomienie." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Zmiana '%1' zaleca ponowne uruchomienie systemu." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Program będzie musiał być uruchomiony ponownie." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sesję będzie trzeba uruchomić ponownie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "System będzie trzeba uruchomić ponownie." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Oczekiwanie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Odświeżanie pamięci podręcznej pakietów..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Ustawienia..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Przetwarzanie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Usuń..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Pobieranie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Wgrywanie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Uaktualnianie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Czyszczenie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Rozwiązywanie zależności..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Sprawdzanie podpisów..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Próba zastosowania..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Stosowanie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Ukończono" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Porzucona" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Oczekiwanie na blokadę..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Oczekiwanie na uwierzytelnienie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Kopiowanie plików..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Nieznany stan" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Czekamy na coś." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Ustawianie transakcji..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transakcja jest obecnie w trakcie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transakcja obecnie usuwa pakiety..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transakcja obecnie pobiera pakiety..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transakcja obecnie wgrywa pakiety..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transakcja obecnie uaktualnia pakiety..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transakcja obecnie czyści..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transakcja obecnie zastosowuje zestaw pakietów..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transakcja ukończyła!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Porzucono transakcję" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transakcja obecnie czeka na blokadę..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Czekanie na zatwierdzenie transakcji przez użytkownika..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transakcja obecnie kopiuje pliki..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Obecnie odświeża pamięć podręczną pakietów..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Nieznany stan %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabilne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Niestabilne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testowe" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Uaktualnienia bez sieci" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Nie można uaktualnić %1 pakietów\n" +"%2" +msgstr[1] "" +"Nie można uaktualnić %1 pakietów\n" +"%2" +msgstr[2] "" +"Nie można uaktualnić %1 pakietów\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Otwórz Odkrywcę" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Napraw system" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Nie udało się naprawić" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Napisz do swojego dystrybutora: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Pomyślnie uaktualniono %1 pakiet" +msgstr[1] "Pomyślnie uaktualniono %1 pakiety" +msgstr[2] "Pomyślnie uaktualniono %1 pakiety" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Przestarzałe: " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Uwagi do wydania:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Stan uaktualnienia:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Ponowne uruchomienie:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Wytwórca:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "Adres URL repozytorium:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Pakiety do usunięcia" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" +"Uaktualnienie usunie następujące pakiety:
            • %1

            ,aby wgrać:" +"
            • %2
            " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Uruchom komputer ponownie, aby ukończyć uaktualnianie" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Akceptuj EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Brak podpisu dla %1 w %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Potwierdź usunięcie pakietu" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Zrzuty" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "Ta aplikacja snap wymaga wyłączenia ustawień bezpieczeństwa." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Uszkodzony" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Dostępny" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Wgrany" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Do uaktualnienia" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Sprawdź uaktualnienia" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Zobacz uaktualnienia" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Uruchamianie" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Oczekiwanie" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Pobieranie" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Wgrywanie" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Usuwanie" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Zmienianie dodatków" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Gotowe" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Niepowodzenie" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Porzucona" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Uaktualnienia programów" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Uaktualnienia systemu" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Dodatki" \ 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..890d03b --- /dev/null +++ b/po/pl/plasma-discover-notifier.po @@ -0,0 +1,158 @@ +# 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-11-15 09:27+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 20.08.1\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Zobacz uaktualnienia" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Dostępne uaktualnienie bezpieczeństwa" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Dostępne uaktualnienia" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Twój system jest aktualny" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Komputer wymaga ponownego uruchomienia" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Rozłączony" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Uruchom ponownie" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Wymagane ponowne uruchomienie" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Uaktualnienie" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Dostępne uaktualnienie" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nowa wersja: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Powiadomienia Odkrywcy" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Powiadomienia o stanie uaktualnień systemu" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Zespół programistów Plazmy" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Łukasz Wojniłowicz" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukasz.wojnilowicz@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Zastąp istniejące wystąpienie" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Nie pokazuj powiadomień" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "ukryte" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Uaktualnienia" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Otwórz Odkrywcę..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Obejrzyj uaktualnienia..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Odśwież..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Uruchom ponownie, aby zastosować wgrane uaktualnienia" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Naciśnij, aby uruchomić komputer ponownie" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Uruchom ponownie..." \ 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..baf4947 --- /dev/null +++ b/po/pl/plasma-discover.po @@ -0,0 +1,816 @@ +# 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, 2019, 2020. +# Marta Rybczyńska , 2013. +# Kris Zadra , 2013. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-11-15 09:25+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 20.08.1\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "Nie znaleziono silników aplikacji. Zgłoś to swojej dystrybucji." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Nie można znaleźć kategorii '%1'" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Nie można otworzyć %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Otwórz bezpośrednio podany program po jego URI appstream://." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Otwórz z wyszukiwaniem w programie, który radzi sobie z podanym typem mime." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Wyświetl listę wpisów z kategorią." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Wyszczególnij wszystkie dostępne tryby." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Tryb kompaktowy (auto/kompaktowy/pełny)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Lokalny plik pakietu do wgrania" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Wyszczególnij wszystkie dostępne silniki." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Znajdź ciąg znaków." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Wymień dostępne możliwości informacji zwrotnej" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Obsługuje strumień aplikacji: schemat url" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Odkrywca" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Przeglądarka programów" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Zespół programistów Plazmy" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Zapewnienie jakości, projekt i użyteczność" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Łukasz Wojniłowicz" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "lukasz.wojnilowicz@gmail.com" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Dostępne silniki:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Dostępne tryby:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Dodatki" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Więcej..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Zastosuj zmiany" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Wyzeruj" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Dodaj nowe repozytorium %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Dodaj" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Anuluj" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 ocena" +msgstr[1] "%1 oceny" +msgstr[2] "%1 ocen" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Brak ocen" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Źródła programów" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Co nowego" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Opinie" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Pokaż %1 opinię..." +msgstr[1] "Pokaż wszystkie %1 opinie..." +msgstr[2] "Pokaż wszystkie %1 opinii..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Wyraź swoją opinię" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Wgraj, aby podzielić się opinią" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategoria:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, wydany w dniu %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Wersja:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Rozmiar:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Źródło:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licencja:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Przeczytaj pełne warunki licencji" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Dokumentacja:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Przeczytaj podręcznik użytkownika" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Współtwórz:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Odwiedź stronę aplikacji w sieci" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Złóż datek" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Zgłoś kłopot" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Szukaj: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Uszeregowane wg: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nazwy" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Oceny" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Rozmiaru" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Daty wydania" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Wybacz, nic nie znaleziono" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Nadal szukam..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Wyróżnione" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Wczytywanie..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "Nie można wczytać aplikacji.Sprawdź połączenie sieciowe." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Wróć do strony głównej" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Uruchamianie jako root jest niezalecane i niepotrzebne." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Szukaj" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Wgrane programy" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Pobieranie uaktualnień..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Aktualne" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Uaktualnienia (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "O programie" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Ustawienia" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Wybacz..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Nie można zamknąć Odkrywcy, zostały zadania do wykonania." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Zamknij mimo to" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Nie można znaleźć zasobu: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Kontynuuj" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Podeślij dane o użytkowaniu" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Wysyła anonimowe dane o użytkowaniu do KDE, tak abyśmy mogli lepiej " +"zrozumień naszych użytkowników. Więcej można dowiedzieć się na https://kde." +"org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Podeślij dane o użytkowaniu..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Ustawienia" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Ustawienia informacji zwrotnej..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Możesz pomóc nam ulepszyć tę aplikację udostępniając statystyki i " +"uczestnicząc w ankietach." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Współtwórz..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Czekamy na twoją informację zwrotną!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Weź udział..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Wgraj" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Usuń" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Zasoby dla '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Rozszerzenia..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Zadania (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Zadania" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Wersja: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "nieznany opiniujący" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 przez %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Skomentowane przez %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Głosy: %1 z %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Użyteczna?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Tak" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Nie" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Opiniowanie '%1'" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Ocena:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nazwa:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Tytuł:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Podaj ocenę" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Podaj tytuł" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Wyraź swoją opinię" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Pisz dalej..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Zbyt długa!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Podeślij opinię" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Opinie nt %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Wyraź swoją opinię..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Wgraj tę aplikację, aby napisać opinię" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Szukaj..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Znajdź w '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Domyślne)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Dodaj źródło..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Ustaw jako domyślne" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Nie udało się bardziej polubić '%1'" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Nie udało się mniej polubić '%1'" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Usuń źródło" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Pokaż zawartość" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Brakuje silników" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Uaktualnienia" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Kłopot z uaktualnieniem" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Uaktualnij zaznaczone" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Uaktualnij wszystko" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Wybrano wszystkie uaktualnienia (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Wybrano %1/%2 uaktualnienia (%3)" +msgstr[1] "Wybrano %1/%2 uaktualnień (%3)" +msgstr[2] "Wybrano %1/%2 uaktualnień (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Uruchom ponownie" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Uaktualnienie do wersji %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Wgrywanie" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Więcej danych..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Pobieranie uaktualnień..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Uaktualnienia" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "System wymaga ponownego uruchomienia do zastosowania uaktualnień" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Aktualne" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Należy wyszukać uaktualnień" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Nie wiadomo kiedy po raz ostatni sprawdzano 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..d1c022e --- /dev/null +++ b/po/pt/libdiscover.po @@ -0,0 +1,1635 @@ +msgid "" +msgstr "" +"Project-Id-Version: muon\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-09 10:21+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 Discover\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Proprietário" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Erro ao obter as revisões: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Erro ao enviar a utilidade: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Erro ao enviar a revisão: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoria de Testes" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "teste" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "extensões de testes" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "teste 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "testes com coisas" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "testes com mais algumas coisas" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "teste 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "teste 4" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Acessibilidade" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Engenharia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jogos" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcada" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzles" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Desporto" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuladores" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Desenhos" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografia" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visualizadores" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Correio" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Grupo local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL do AppStream inválido '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Desconhecido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "A obter a informação do tamanho" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Tamanho desconhecido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 no disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Adicionar um Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Não foi possível adicionar a fonte %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "A remover o '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
            • %1
            " +msgstr "" +"Para remover este repositório, as seguintes aplicações têm de ser " +"desinstaladas:
            • %1
            " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Não foi possível remover o repositório remoto %1: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Não foi possível encontrar o %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Indique um URI do repositório Flatpak (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "A adicionar o repositório remoto '%1' em %2 de %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Rever a EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "A infra-estrutura %1 demorou demasiado tempo na sua inicialização" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Aplicações" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Extensões do Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Extensões das Aplicações" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Erro de rede na infra-estrutura %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Foram enviados demasiados pedidos ao servidor para a infra-estrutura %1. Por " +"favor, tente de novo daqui a uns minutos." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, 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:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Não foi possível obter a imagem do elemento %1 na infra-estrutura %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Ocorreu um erro desconhecido na infra-estrutura %1. Contacte o seu " +"distribuidor." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI Inválido do KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Lançar" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Usar" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Informação da sessão para %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Não é possível lançar o %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Extensões do Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Elementos do Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Tipos de Letra" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Sem memória" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Não está disponível nenhuma ligação de rede" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "A operação não é suportada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Erro interno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Erro no GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "O PackageID é inválido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "O pacote não foi instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "O pacote não foi encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "O pacote já está instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Não foi possível transferir o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "O grupo de pacotes não foi encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "A lista de grupos de pacotes é inválida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "A resolução de dependências foi mal-sucedida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "O filtro é inválido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Erro ao criar uma sub-tarefa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Problemas na transacção" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "A transacção foi cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Sem 'cache' disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Não é possível encontrar o repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Não é possível remover um pacote do sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "O serviço do PackageKit estoirou" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Erro de inicialização" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Não foi possível finalizar a transacção" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "O processamento da configuração foi mal-sucedido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Não é possível cancelar a transacção" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Não é possível obter o bloqueio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Não existem pacotes para actualizar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Não é possível gravar a configuração do repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "A instalação local foi mal-sucedida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Foi encontrada uma assinatura de GPG inválida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Não foi encontrada nenhuma assinatura de GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Não é possível instalar um pacote de código" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Erro na configuração do repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Não existe acordo da licença" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Foram encontrados conflitos nos ficheiros" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Foi encontrado um conflito de pacotes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "O repositório não está disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "O ficheiro do pacote é inválido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "A instalação do pacote foi bloqueada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "O pacote encontrado está danificado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Todos os pacotes já estão instalados" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "O ficheiro não foi encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Não existem mais réplicas do servidor disponíveis" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Não existem dados de actualização da distribuição" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "A arquitectura é incompatível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Não existe mais espaço disponível no disco" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "É necessária uma mudança de disco" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "A actualização não foi encontrada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, 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:120 +#, 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:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Não é possível obter a lista de ficheiros" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Não é possível obter os requisitos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Não é possível desactivar o repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Foi detectada uma transferência restrita" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Não foi possível configurar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Não foi possível compilar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Não foi possível instalar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Não foi possível remover o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, 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:140 +#, kde-format +msgid "The package database changed" +msgstr "A base de dados de pacotes foi alterada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "O tipo fornecido não é suportado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "A pasta de base de instalação é inválida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Não é possível obter as fontes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "A prioridade foi cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "A transacção não foi finalizada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "É necessário o bloqueio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "O erro %1 é desconhecido." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "A alteração do '%1' sugere que reinicie o seu sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "A aplicação terá de ser reiniciada." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "A sessão terá de ser reiniciada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "O sistema terá de ser reiniciado." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "À espera..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "A Actualizar a 'Cache'..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Configurar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "A processar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Remover..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "A transferir..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "A Instalar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "A actualizar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "A limpar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "A resolver as dependências..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "A verificar as assinaturas..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "A testar a confirmação da transacção..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "A enviar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Terminado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Cancelado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "À espera do bloqueio..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "À espera da autorização..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "A copiar os ficheiros..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Estado Desconhecido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Estamos à espera de algo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "A configurar a transacção..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "A transacção está actualmente em curso..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "A transacção está a remover pacotes de momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "A transacção está a transferir pacotes de momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, 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:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "A transacção está de momento a actualizar pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "A transacção está a limpar dados neste momento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "A transacção terminou!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "A transacção foi cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, 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:287 +#, 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:292 +#, 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:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "A actualizar de momento a 'cache' do repositório..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "O estado %1 é desconhecido." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Estável" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Instável" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testes" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Actualizações Desligadas" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Não foi possível actualizar %1 pacote\n" +"%2" +msgstr[1] "" +"Não foi possível actualizar %1 pacotes\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Abrir o Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Reparar o Sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Reparação sem Sucesso" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Por favor, comunique à sua distribuição: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Foi instalado com sucesso %1 pacote" +msgstr[1] "Foram instalados com sucesso %1 pacotes" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Torna obsoleto:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Notas de Lançamento:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Estado da Actualização:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Reinício:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Fornecedor:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL do repositório:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Pacotes a remover" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
            • %1

            in order to install:
            • %2
            " +msgstr "" +"Os seguintes pacotes serão removidos pela actualização:
            • %1

            • para poder instalar:
              • %2
              " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Por favor, reinicie o computador para terminar a actualização" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Aceitar a EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Falta a assinatura do %1 em %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirmar a remoção do pacote" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Ajustar" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Quebrada" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Disponível" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Actualizável" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Procurar Actualizações" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Ver as Actualizações" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "A iniciar" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "À espera" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "A Transferir" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "A Instalar" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "A Remover" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "A Mudar as Extensões" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Pronto" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Mal-Sucedida" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancelada" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Actualizações da Aplicação" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualizações do Sistema" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Extensões" \ 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..320df2f --- /dev/null +++ b/po/pt/plasma-discover-notifier.po @@ -0,0 +1,158 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-24 19:56+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" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Ver as Actualizações" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Actualizações do sistema disponíveis" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Actualizações disponíveis" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Sistema actualizado" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "É necessário reiniciar o computador" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Desligado" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Reiniciar" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "É necessário reiniciar" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Actualização" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Actualização disponível" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nova versão: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Notificação do Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Notificação do estado de actualização do sistema" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 da Equipa de Desenvolvimento do Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Substituir uma instância existente" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Não mostrar a notificação" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "escondida" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Actualizações" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Abrir o Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Ver as Actualizações..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Actualizar..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Reiniciar para aplicar as actualizações instaladas" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Carregue para reiniciar o computador" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Reiniciar..." \ 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..b087a45 --- /dev/null +++ b/po/pt/plasma-discover.po @@ -0,0 +1,826 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-15 10:20+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 Jensen Turthra\n" +"X-POFile-IgnoreConsistency: Update\n" +"X-POFile-IgnoreConsistency: Name\n" +"X-POFile-IgnoreConsistency: Discover\n" +"X-POFile-SpellExtra: KNewStuff Graham Nate Leinir\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Não foram encontradas infra-estruturas de aplicações; por favor, comunique-" +"as à sua distribuição." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Não foi possível encontrar a categoria '%1'" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Não foi possível aceder ao %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" +"Abre directamente a aplicação indicada de acordo com o seu URI do " +"appstream://." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Abrir com uma pesquisa por programas que consigam lidar com o tipo MIME " +"indicado." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostrar uma lista de elementos com uma dada categoria." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Mostra todos os modos disponíveis." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modo Compacto (auto/compacto/completo)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "O ficheiro local do pacote a instalar" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Mostra todas as infra-estruturas disponíveis." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Procurar pelo texto." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Apresenta as opções disponíveis para as reacções dos utilizadores" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Suporta o esquema de URL's 'appstream:'" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Um explorador de aplicações" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 da Equipa de Desenvolvimento do Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Controlo de Qualidade, Desenho e Usabilidade" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "José Nuno Pires" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zepires@gmail.com" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Infra-estruturas disponíveis:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Modos disponíveis:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Extensões" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Mais..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Aplicar as Alterações" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Reiniciar" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Adicionar um Novo Repositório de %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Adicionar" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Cancelar" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 classificação" +msgstr[1] "%1 classificações" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Ainda sem classificações" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Fontes" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "O Que Há de Novo" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Revisões" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, kde-format +msgid "Write a Review" +msgstr "Escrever uma Revisão" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Instalar para Escrever uma Revisão" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Categoria:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, lançado a %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versão:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Tamanho:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Origem:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licença:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Mostrar os termos completos da licença" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Documentação:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Ler o guia do utilizador" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Envolver-se:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Visitar a página Web da aplicação" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Fazer uma doação" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Comunicar um problema" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Procurar: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Ordenação: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Classificação" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Tamanho" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Data de Lançamento" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Infelizmente, nada foi encontrado" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Ainda à procura..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Em Destaque" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "A carregar..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Não foi possível carregar as aplicações.Verifique por favor a ligação à " +"Internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Voltar à página de Destaques" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Procurar" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "A obter as actualizações..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Actualizado" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualização (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Acerca" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Configuração" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Desculpe..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" +"Não foi possível fechar o Discover; existem tarefas que precisam de terminar." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Sair à Mesma" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Não foi possível descobrir o recurso: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Prosseguir" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Enviar as informações de utilização" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Envia informações de utilização anónimas para o KDE, para que possamos " +"compreender melhor os nossos utilizadores. Para mais informações, veja em " +"https://kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Enviar informações de utilização..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Configurar" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Configurar as reacções..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Poder-nos-á ajudar a melhor esta aplicação, partilhando estatísticas e " +"participando em inquéritos." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Contribuir..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Estamos à procura das suas reacções!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Participar..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalar" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Remover" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Recursos de '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Extensões..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tarefas (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Tarefas" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versão: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "revisor desconhecido" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 de %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Comentário de %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Votos: %1 em %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Útil" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Sim" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Não" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "A rever o '%1'" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Classificação:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nome:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Título:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Indique uma classificação" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Escreva o título" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Escreva a revisão" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Continue a escrever..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Demasiado longo!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Enviar a revisão" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Revisões do %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Escrever uma Revisão..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Instale esta aplicação para escrever uma revisão" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Procurar..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Procurar no '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Predefinição)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Adicionar uma Fonte..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Tornar predefinido" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Não foi possível aumentar a performance do '%1'" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Não foi possível diminuir a performance do '%1'" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Remover a origem" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Mostrar o conteúdo" + +#: discover/qml/SourcesPage.qml:239 +#, 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:41 +#, kde-format +msgid "Update Issue" +msgstr "Problema na Actualização" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Actualizar os Seleccionados" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Actualizar Tudo" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Todas as actualizações seleccionadas (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 actualização seleccionada (%3)" +msgstr[1] "%1/%2 actualizações seleccionadas (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Reiniciar" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Actualizar para a versão %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "A Instalar" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Mais Informações..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "A obter as actualizações..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Actualizações" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "O sistema precisa de ser reiniciado para aplicar as actualizações" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Actualizado" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Se deve procurar por actualizações" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ 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..65650e1 --- /dev/null +++ b/po/pt_BR/libdiscover.po @@ -0,0 +1,1634 @@ +# Translation of libdiscover.po to Brazilian Portuguese +# Copyright (C) 2010-2020 This file is copyright: +# 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, 2019, 2020. +# Marcus Gama , 2011, 2012, 2013. +# Luiz Fernando Ranghetti , 2012, 2016, 2017, 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: libdiscover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-09 12:03-0300\n" +"Last-Translator: Luiz Fernando Ranghetti \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 20.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alvarenga@kde.org" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Proprietário" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Erro ao obter as análises: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Erro ao enviar a utilidade: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Erro ao enviar a análise: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categoria fictícia" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "teste" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "extensão teste " + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "teste 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "teste com coisas" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "testes com mais algumas coisas" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "teste 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "teste 4" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Acessibilidade" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDEs" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Auditoria" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologia" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Engenharia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologia" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jogos" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcade" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzles" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Esportes" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emuladores" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Desenho" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografia" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visualizadores" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Pacote local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL do Appstream mal formada '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Desconhecido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Obtendo informação do tamanho" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Tamanho desconhecido" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 no disco" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Adicionar Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Não foi possível adicionar a fonte %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Removendo '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
              • %1
              " +msgstr "" +"Para remover este repositório, os seguintes aplicativos devem ser " +"desinstalados:
              • %1
              " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Falha ao remover %1 repositório remoto: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Não foi possível encontrar %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Digite uma URI de repositório Flatpak URI (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Adicionando '%1' remoto em %2 a partir de %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Revisar EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "A infraestrutura %1 demorou muito para inicializar" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Aplicativos" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Extensões do Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Extensões de aplicativos" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Erro de rede na infraestrutura %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Muitas requisições enviadas ao servidor para a infraestrutura %1. Tente " +"novamente em alguns minutos." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Infraestrutura %1 inválida, contate sua distribuição." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" +"Não foi possível obter a captura de tela para a entrada %1 na infraestrutura " +"%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Erro não manejado na infraestrutura %1 inválida. Contate sua distribuição." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI do KNewStuff errada: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Iniciar" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Usar" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Informações de autenticação para %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Não foi possível iniciar %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Extensões do Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Widgets do Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fontes" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Memória insuficiente" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Nenhuma conexão de rede disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operação não suportada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Erro interno" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Falha do GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "ID do pacote inválido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Pacote não instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Pacote não encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "O pacote já está instalado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Falha ao baixar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Grupo do pacote não encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "A lista de grupos de pacotes é inválida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Falha ao resolver a dependência" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Filtro inválido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Erro ao criar uma subtarefa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Problemas na transação" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transação cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Nenhum cache disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Não foi possível encontrar o repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Não foi possível remover um pacote do sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "O serviço do PackageKit falhou" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Erro de inicialização" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Não foi possível finalizar a transação" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Ocorreu uma falha no processamento da configuração" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Não foi possível cancelar a transação" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Não foi possível obter o bloqueio" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Nenhum pacote a atualizar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Não foi possível gravar a configuração do repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Falha na instalação local" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Foi encontrada uma assinatura GPG inválida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Não foi encontrada nenhuma assinatura GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Não foi possível instalar o pacote fonte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Erro na configuração do repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Não existe contrato de licença" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Foram encontrados conflitos nos arquivos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Foi encontrado um conflito de pacotes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "O repositório não está disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Arquivo de pacote inválido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "A instalação do pacote está bloqueada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "O pacote encontrado está danificado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Todos os pacotes já estão instalados" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Arquivo não encontrado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Nenhum outro espelho disponível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Não há dados de atualização da distribuição" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Arquitetura incompatível" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Não há mais espaço disponível no disco" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "É necessário trocar a mídia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "A atualização não foi encontrada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Não foi possível instalar de um repositório não-assinado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Não foi possível atualizar de um repositório não-assinado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Não foi possível obter a lista de arquivos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Não foi possível obter os requisitos" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Não foi possível desativar o repositório" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Foi detectado um download restrito" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Falha ao configurar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Falha ao compilar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Falha ao instalar o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Falha ao remover o pacote" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, 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:140 +#, kde-format +msgid "The package database changed" +msgstr "O banco de dados de pacotes foi alterado" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Não há suporte ao tipo fornecido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "A pasta base de instalação é inválida" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Não foi possível obter as fontes" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Prioridade cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transação não concluída" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Bloqueio necessário" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Erro desconhecido %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "A alteração do '%1' sugere que reinicie o seu sistema." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "O aplicativo deverá ser reiniciado." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "A sessão deverá ser reiniciada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "O sistema deverá ser reiniciado." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Aguardando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Atualizando o cache..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Configurar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Processando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Remover..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Baixando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Instalando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Atualizando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Limpando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Resolvendo dependências..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Verificando assinaturas..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Testando o envio..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Enviando..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Concluído" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Aguardando bloqueio..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Aguardando autorização..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Copiando arquivos..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Status desconhecido" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Estamos esperando algo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Configurando a transação..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "A transação está em andamento..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "A transação está removendo os pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "A transação está baixando os pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "As transação está instalando os pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "A transação está atualizando os pacotes..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "A transação está limpando as informações..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "A transação foi concluída!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "A transação foi cancelada" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "A transação está aguardando o bloqueio..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "A transação está copiando os arquivos..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Atualizando o cache do repositório..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Status desconhecido %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Estável" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Instável" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testes" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Atualizações offline" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Falha ao atualizar %1 pacote\n" +"%2" +msgstr[1] "" +"Falha ao atualizar %1 pacotes\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Abrir o Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Reparar sistema" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Falha no reparo" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Relate a sua distribuição: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 pacote atualizado com sucesso" +msgstr[1] "%1 pacotes atualizados com sucesso" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Torna obsoleto:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Notas de lançamento:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Estado da atualização:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Reiniciar:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Fabricante:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL do repositório:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Pacotes a remover" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
              • %1

              in order to install:
              • %2
              " +msgstr "" +"Os seguintes pacotes serão removidos pela atualização:
              • %1

              • para poder instalar:
                • %2
                " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Reinicie o computador para concluir a atualização" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Aceitar a EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Assinatura faltando para %1 em %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirmar remoção de pacote" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Quebrado" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Disponível" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Atualizável" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Procurar atualizações" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Exibir atualizações" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Iniciando" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Aguardando" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Baixando" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Instalando" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Removendo" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Alterando as Extensões" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Concluído" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Falhou" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Cancelado" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Atualizações de aplicativos" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Atualizações do sistema" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Extensões" \ 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..fb7fc54 --- /dev/null +++ b/po/pt_BR/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# Translation of plasma-discover-notifier.po to Brazilian Portuguese +# Copyright (C) 2015-2020 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# André Marcelo Alvarenga , 2015, 2019, 2020. +# Luiz Fernando Ranghetti , 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover-notifier\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-24 13:45-0300\n" +"Last-Translator: Luiz Fernando Ranghetti \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 20.04.0\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Exibir atualizações" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Atualizações de segurança disponíveis" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Atualizações disponíveis" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Sistema atualizado" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "O computador necessita ser reiniciado" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Offline" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Reiniciar" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "A reinicialização é necessária" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Atualizar" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Atualização disponível" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nova versão: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Notificador do Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Notificador do estado de atualização do sistema" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 da equipe de desenvolvimento do Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "André Marcelo Alvarenga" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alvarenga@kde.org" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Substituir uma instância existente" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Não mostrar o notificador" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "oculta" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Atualizar" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Abrir o Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Ver atualizações..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Atualizar..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Reinicie para aplicar as atualizações instaladas" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Clique para reiniciar o computador" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Reiniciar..." \ 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..1e6759b --- /dev/null +++ b/po/pt_BR/plasma-discover.po @@ -0,0 +1,821 @@ +# Translation of plasma-discover.po to Brazilian Portuguese +# Copyright (C) 2012-2020 This file is copyright: +# This file is distributed under the same license as the discover package. +# +# Luiz Fernando Ranghetti , 2012, 2017, 2018, 2019, 2020. +# André Marcelo Alvarenga , 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020. +# Marcus Gama , 2012. +# Blumen Herzenschein , 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-21 09:43-0300\n" +"Last-Translator: Luiz Fernando Ranghetti \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 20.04.3\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Nenhuma infraestrutura do aplicativo encontrada. Informe sua distribuição." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Não foi possível encontrar a categoria '%1'" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Não foi possível abrir %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Abre diretamente o aplicativo especificado pela sua URI appstream://." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Abrir com a pesquisa por programas que consigam lidar com o tipo MIME " +"indicado." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Mostrar uma lista de itens com determinada categoria." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Listar todos os modos disponíveis." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Modo compacto (automático/compacto/completo)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Arquivo de pacote local a instalar" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Lista todas as infraestruturas disponíveis." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Texto de pesquisa." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Lista as opções disponíveis para os comentários dos usuários" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Suporta o esquema de URLs 'appstream:'" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Um explorador de aplicativos" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Equipe de desenvolvimento do Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Garantia de qualidade, design e usabilidade" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luiz Fernando Ranghetti" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "elchevive@opensuse.org" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Infraestruturas disponíveis:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Modos disponíveis:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Extensões" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Mais..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Aplicar alterações" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Restaurar" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Adicionar novo repositório %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Adicionar" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Cancelar" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 avaliação" +msgstr[1] "%1 avaliações" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Sem avaliações ainda" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Fontes" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "O que há de novo" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Análises" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Mostrar %1 análise..." +msgstr[1] "Mostrar todas as %1 análises..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Escreva uma análise" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Instale este aplicativo para escrever uma análise" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Categoria:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, lançado em %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versão:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Tamanho:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Fonte:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licença:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Mostrar a licença completa" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Documentação:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Leia o manual do usuário" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Contribua:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Visite o site do aplicativo" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Faça uma doação" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Relatar um problema:" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Pesquisar: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Ordenar: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Nome" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Avaliação" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Tamanho" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Data de lançamento" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Desculpe, nada encontrado" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Ainda procurando..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Em destaque" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Carregando..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Não foi possível carregar os aplicativos.Verifique a sua conexão com a " +"Internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Voltar à página Em destaque" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Pesquisar" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Instalado" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Obtendo atualizações..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Atualizado" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Atualizar (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Sobre" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Configurações" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Desculpe..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" +"Não foi possível fechar o Discover pois há tarefas que precisam ser " +"concluídas." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Sair mesmo assim" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Não foi possível encontrar o recurso: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Prosseguir" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Enviar informações de uso" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Envia informações de uso anônimas para o KDE, para entendermos melhor os " +"nossos usuários. Para mais informações, consulte https://kde.org/" +"privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Enviando informações de uso..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Configurar" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Configurar sugestões..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Você pode nos ajudar a melhorar este aplicativo, compartilhando estatísticas " +"e participando de enquetes." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Contribuir..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Estamos procurando suas sugestões!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Participar..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalar" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Remover" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Recursos de '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Extensões..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Tarefas (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Tarefas" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versão: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "analista desconhecido" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 por %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Comentado por %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Votos: %1 em %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Útil?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Sim" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Não" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Analisando %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Avaliação:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nome:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Título:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Insira uma avaliação" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Escreva o título" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Escreva a análise" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Continue escrevendo..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Muito longo!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Enviar análise" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Análises de %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Escreva uma análise..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Instale este aplicativo para escrever uma análise" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Pesquisar..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Pesquisar em '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Padrão)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Adicionar fonte..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Tornar padrão" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Falha ao aumentar a preferência de '%1'" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Falha ao diminuir a preferência de '%1'" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Excluir a origem" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Mostrar conteúdos" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Infraestruturas faltantes" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Atualizações" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Problema da atualização" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Atualizar selecionados" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Atualizar tudo" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Todas as atualizações selecionadas (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 atualização selecionada (%3)" +msgstr[1] "%1/%2 atualizações selecionadas (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Reiniciar" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Atualizar para a versão %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Instalando" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Mais informações..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Obtendo atualizações..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Atualizações" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "O sistema requer uma reinicialização para aplicar as atualizações" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Atualizado" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Deve verificar por atualizações" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ No newline at end of file diff --git a/po/ro/libdiscover.po b/po/ro/libdiscover.po new file mode 100644 index 0000000..29e29e3 --- /dev/null +++ b/po/ro/libdiscover.po @@ -0,0 +1,1637 @@ +# 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, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-13 16:04+0100\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 19.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Proprietar" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Eroare la preluarea recenziilor: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Eroare la trimiterea utilității: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Eroare la trimiterea recenziei: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Categorie fictivă" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "fictivă" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "suplimente fictive" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "fictivă 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "fictivă cu chestii" + +#: 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 "fictivă 2.1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "fictivă cu multe chestii" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "fictivă 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "fictivă 4" + +#: 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ții" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Accesorii" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Accesibilitate" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Depanare" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Localizare" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilare" + +#: 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" + +#: 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" + +#: 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 "Știință și inginerie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Chimie" + +#: 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 "Științe informatice și robotică" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Electronică" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Inginerie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematică" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizică" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Jocuri" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arcadă" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Puzzle" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Jocuri pe roluri" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulare" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sporturi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Acțiune" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatoare" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafică" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Desen" + +#: 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 "Pictură și retușare" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicistică" + +#: 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 "Scanare și recunoaștere optică" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Vizualizare" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: 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" + +#: 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" + +#: 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ă" + +#: 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 web" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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 "Redactori audio și video" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Lectori audio" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Lectori video" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Birou" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Configurări de sistem" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Pachet local" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "URL appstream eronat „%1”" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Necunoscut" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Se preiau informații despre dimensiune" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Dimensiune necunoscută" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 pe disc" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Adaugă Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Nu se poate adăuga sursa %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Se elimină „%1”" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                • %1
                " +msgstr "" +"Pentru a elimina acest depozit, trebuiesc dezinstalate următoarele aplicații:" +"
                • %1
                " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Nu s-a putut elimina depozitul distant %1: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Nu s-a putut găsi %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Introduceți un URI de depozit Flatpak (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Se adaugă de la distanță „%1” în %2 din %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Consultă acordul" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Sursa distantă %1 vă cere să-i acceptați licența:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Platformei %1 i-a luat prea mult să se inițializeze" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Aplicații" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Suplimente Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Suplimente pentru aplicații" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Eroare de rețea în platforma %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Prea multe cereri trimise la server pentru platforma %1. Reîncercați în " +"câteva minute." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Platformă %1 nevalidă, contactați-vă distribuitorul." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" +"Nu s-a putut prelua captura de ecran pentru înregistrarea %1 în platforma %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Eroare neprevăzută în platforma %1. Contactați-vă distribuitorul." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "URI KNewStuff greșit: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Lansează" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Folosește" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Informații de autentificare pentru %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Nu se poate lansa %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Suplimente Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Controale grafice Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fonturi" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Asigurați-vă că Appstream e configurat corect în sistem" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "Memorie insuficientă" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Nicio conexiune de rețea disponibilă" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operația nu este susținută" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Eroare internă" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Eșec GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID nevalid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Pachetul nu e instalat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Pachetul nu a fost găsit" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Pachetul e instalat deja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Descărcarea pachetului a eșuat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Grupul de pachete nu poate fi găsit" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Grupul de pachete nu e valid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Rezolvarea dependențelor a eșuat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Filtru nevalid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Eșec la crearea unui fir de execuție" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Eroare de tranzacție" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Tranzacție anulată" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Nicio prestocare disponibilă" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Depozitul nu poate fi găsit" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Nu se poate elimina pachetul de sistem" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Demonul PackageKit a eșuat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Eroare de inițializare" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Finalizarea tranzacției a eșuat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Parcurgerea configurărilor a eșuat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Tranzacția nu poate fi anulată" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Nu se poate obține lacătul" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Niciun pachet de actualizat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Nu se poate scrie configurația depozitului" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Instalarea locală a eșuat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "S-a găsit semnătură GPG greșită" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Nu s-a găsit semnătura GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Pachetul-sursă nu poate fi instalat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Eroare de configurare a depozitului" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Fără acord de licență" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Au fost găsite conflicte de fișiere" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "A fost găsit un conflict de pachete" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Depozitul nu e disponibil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Fișier cu pachet nevalid" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Instalare pachet blocată" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "A fost găsit un pachet corupt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Toate pachetele sunt instalate deja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Fișierul nu a fost găsit" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Nu mai sunt oglinzi disponibile" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Nu sunt date despre înnoirea distribuției" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Arhitectură incompatibilă" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Nu a mai rămas loc pe dispozitiv" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Este necesară o schimbare a mediului" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Nu aveți autorizare să executați această operație" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "Actualizarea nu a fost găsită" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Nu se poate instala din depozit nesemnat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Nu se poate actualiza din depozit nesemnat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Lista fișierelor nu poate fi obținută" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Cerințele nu pot fi obținute" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Depozitul nu poate fi dezactivat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "A fost detectată o descărcare restricționată" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Configurarea pachetului a eșuat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Compilarea pachetului a eșuat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Instalarea pachetului a eșuat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Eliminarea pachetului a eșuat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Actualizarea a eșuat din cauza unui proces ce rulează" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Baza de date cu pachete s-a modificat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Tipul furnizat nu e susținut" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Rădăcina instalării nu este validă" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Nu se pot prelua sursele" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Prioritate anulată" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Tranzacție nefinalizată" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Lacăt necesar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Eroare necunoscută %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"„%1” a fost modificat din motive de securitate, se recomandă repornirea " +"sesiunii." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"„%1” a fost modificat din motive de securitate, se recomandă repornirea " +"sistemului." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "O modificare adusă de „%1” sugerează repornirea sistemului." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Aplicația va trebui repornită." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sesiunea va trebui repornită" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Sistemul va trebui repornit." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Pentru securitate, sesiunea va trebui repornită." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "Pentru securitate, sistemul va trebui repornit." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Se așteaptă..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Se împrospătează prestocarea..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Configurare..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Se prelucrează..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Eliminare..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Se descarcă..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Se instalează..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Se actualizează..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Se curăță..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Se rezolvă dependențe..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Se verifică semnături..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Se testează comiterea..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Se comite..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Încheiat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Anulat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Se așteaptă lacătul..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Se așteaptă autorizarea..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Se copiază fișiere..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Stare necunoscută" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Se așteaptă ceva." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Se configurează tranzacția..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Tranzacția lucrează acum..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Tranzacția elimină pachete momentan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Tranzacția descarcă pachete momentan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Tranzacția instalează pachete momentan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Tranzacția actualizează pachete momentan..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Tranzacția curăță acum..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Tranzacția testează momentan comiterea acestui set de pachete..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Tranzacția își comite momentan setul de pachete..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Tranzacția s-a încheiat!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Tranzacția a fost anulată" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Tranzacția așteaptă lacătul acum..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Tranzacția copiază fișiere acum..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Se împrospătează prestocarea depozitelor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Stare necunoscută %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Instabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testare" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Actualizări offline" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Actualizarea a eșuat pentru %1 pachet\n" +"%2" +msgstr[1] "" +"Actualizarea a eșuat pentru %1 pachete\n" +"%2" +msgstr[2] "" +"Actualizarea a eșuat pentru %1 de pachete\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Deschide „Descoperă”" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Repară sistemul" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Repararea a eșuat" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Raportați distribuției: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Actualizarea a reușit pentru %1 pachet" +msgstr[1] "Actualizarea a reușit pentru %1 pachete" +msgstr[2] "Actualizarea a reușit pentru %1 de pachete" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Învechește:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Note de lansare:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Starea actualizării:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Repornește:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Vânzător:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (plus %1 dependență)" +msgstr[1] "%2 (plus %1 dependențe)" +msgstr[2] "%2 (plus %1 de dependențe)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL depozit:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Pachete de eliminat" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
                • %1

                in order to install:
                • %2
                " +msgstr "" +"Următoarele pachete vor fi eliminate de către actualizare:
                • %1

                • pentru a instala:
                  • %2
                  " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Reporniți calculatorul pentru a finaliza actualizarea" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Este cerută schimbarea mediului de tip „%1”.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Acceptă acordul" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" +"Pachetul %1 și vânzătorul acestuia %2 vă cer să le acceptați licența:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Lipsește semnătura pentru %1 în %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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 "" +"Aveți încredere în următoarea cheie?\n" +"\n" +"URL: %1\n" +"Utilizator: %2\n" +"Cheie: %3\n" +"Amprentă: %4\n" +"Amprentă temporală: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Confirmă eliminarea pachetului" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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] "" +"Această acțiune va elimina și următorul pachet:\n" +"%2" +msgstr[1] "" +"Această acțiune va elimina și următoarele pachete:\n" +"%2" +msgstr[2] "" +"Această acțiune va elimina și următoarele pachete:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Această aplicație Snap necesită dezactivarea măsurilor de restrângere a " +"securității." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Enumeră platformele pe care vom vrea să le fi încărcat, separate prin " +"virgulă." + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Deteriorat" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Disponibil" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Instalat" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Actualizabil" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Caută actualizări" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Vezi actualizările" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Se pornește" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Se așteaptă" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Se descarcă" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Se instalează" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Se elimină" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Se modifică suplimentele" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Gata" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Eșuat" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Anulat" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Actualizări de aplicații" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Actualizări de sistem" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Suplimente" \ 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..882fa2a --- /dev/null +++ b/po/ro/plasma-discover-notifier.po @@ -0,0 +1,158 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Sergiu Bivol , 2015, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-08-30 17:42+0100\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 19.12.3\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Vezi actualizările" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Actualizări de securitate disponibile" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Actualizări disponibile" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Sistem la zi" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Calculatorul trebuie repornit" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Deconectat" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Repornește" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Repornire necesară" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Sistemul trebuie repornit pentru ca actualizările să intre în vigoare." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Înnoire" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Înnoiri disponibile" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Versiune nouă: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Notificator „Descoperă”" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Notificator pentru actualizări de sistem" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Echipa de dezvoltatori Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Înlocuiește o instanță existentă" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Nu arăta notificatorul" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "ascuns" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Actualizări" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Deschide „Descoperă”..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Vedere actualizări..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Împrospătare..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Reporniți pentru a aplica actualizările instalate" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Apăsați pentru a reporni calculatorul" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Repornire..." \ 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..1544bf3 --- /dev/null +++ b/po/ro/plasma-discover.po @@ -0,0 +1,817 @@ +# 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, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-18 23:34+0100\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 19.12.3\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Nu s-a găsit nicio platformă pentru aplicații, raportați aceasta " +"distribuției dumneavoastră." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Nu s-a putut găsi categoria „%1”" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Nu se poate interacționa cu resurse Flatpak fără platforma Flatpak %1. " +"Instalați-o mai întâi." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Nu s-a putut deschide %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" +"Deschide aplicația specificată direct, conform URI-ului său appstream://." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Deschide cu căutarea după programe care se descurcă cu tipul MIME dat." + +#: discover/main.cpp:35 +#, 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:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Deschide „Descoperă” într-un regim dat. Regimurile corespund butoanelor de " +"pe bara de unelte." + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "Enumeră toate regimurile disponibile." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Regim compact (automat/compact/deplin)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Fișier cu pachet local de instalat" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Enumeră toate platformele disponibile." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Șir de căutat." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Enumeră opțiunile disponibile pentru reacții din partea utilizatorului" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Susține schema de URL appstream:" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Descoperă" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Explorator de aplicații" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Echipa de dezvoltatori Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Asigurarea calității, proiectare și ușurință în utilizare" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Sergiu Bivol" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sergiu@cip.md" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Platforme disponibile:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Regimuri disponibile:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Suplimente" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Mai multe..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Aplică modificările" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Reinițializează" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Adaugă depozit %1 nou" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Adaugă" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Renunță" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 evaluare" +msgstr[1] "%1 evaluări" +msgstr[2] "%1 de evaluări" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Nicio evaluare deocamdată" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Surse" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Ce-i nou" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Recenzii" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Arată %1 recenzie..." +msgstr[1] "Arată toate %1 recenzii..." +msgstr[2] "Arată toate %1 de recenzii..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Scrie o recenzie" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Instalează pentru a scrie o recenzie" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Categorie:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, lansat pe %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Versiune:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Dimensiune:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Sursă:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licență:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Vezi termenii compleți ai licenței" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Documentație:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Citește ghidul utilizatorului" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Implică-te:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Vizitează pagina aplicației" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Fă o donație" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Raportează o problemă" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Căutare: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Sortare: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Denumire" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Evaluare" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Dimensiune" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Data lansării" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Scuze, nu s-a găsit nimic" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Încă se caută..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Promovat" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Se încarcă..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "Nu se pot încărca aplicațiile.Verificați conexiunea la Internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Înapoi la pagina Promovat" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Rularea ca root e descurajată și inutilă." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Caută" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Instalat" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Se preiau actualizări..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "La zi" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Actualizare (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Despre" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Configurări" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Scuze..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Nu s-a putut închide Descoperă, sunt sarcini de finalizat." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Termină oricum" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Nu s-a putut găsi resursa: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Continuă" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Trimite informații despre utilizare" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Trimite informații anonimizate despre utilizare către KDE pentru a putea să " +"ne înțelegem utilizatorii. Pentru informații suplimentare, vedeți https://" +"kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Se trimit informații despre utilizare..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Configurează" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Configurare reacții..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Ne puteți ajuta să îmbunătățim această aplicație partajând statistici și " +"participând în sondaje." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Contribuire..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Vă așteptăm reacțiile!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Participare..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Instalează" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Elimină" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Resurse pentru „%1”" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Extensii..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Sarcini (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Sarcini" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Versiune: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "recenzent necunoscut" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 de %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Comentariu de %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Voturi: %1 din %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Util?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Da" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Nu" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Se recenzează %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Evaluare:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Nume:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Titlu:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Introduceți o evaluare" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Scrieți titlul" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Scrieți recenzia" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Continuați să scrieți..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Prea lung!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Trimite recenzia" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Recenzii pentru %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Scrie o recenzie..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Instalează această aplicație pentru a scrie o recenzie" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Căutare..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Caută în „%1”..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Implicit)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Adăugare sursă..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Stabilește ca implicit" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Creșterea preferinței pentru „%1” a eșuat" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Descreșterea preferinței pentru „%1” a eșuat" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Șterge originea" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Arată conținutul" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Platforme lipsă" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Actualizări" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Problemă cu actualizarea" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "Bine" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Actualizează selecția" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Actualizează tot" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Toate actualizările alese (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 actualizare aleasă (%3)" +msgstr[1] "%1/%2 actualizări alese (%3)" +msgstr[2] "%1/%2 de actualizări alese (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Repornește" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Actualizează la versiunea %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Se instalează" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Informații suplimentare..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Se preiau actualizări..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Actualizări" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Sistemul trebuie repornit pentru a aplica modificările" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "La zi" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Ar trebui căutate actualizări" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Nu se știe când s-au verificat actualizările ultima dată" \ No newline at end of file diff --git a/po/ru/libdiscover.po b/po/ru/libdiscover.po new file mode 100644 index 0000000..1c27e42 --- /dev/null +++ b/po/ru/libdiscover.po @@ -0,0 +1,1656 @@ +# 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, 2019, 2020. +# Alexander Lakhin , 2013. +# Alexander Yavorsky , 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-10-04 13:16+0200\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 19.12.2\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Юрий Ефремов,Александр Поташев,Александр Лахин,Александр Яворский" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"yur.arh@gmail.com,aspotashev@gmail.com,exclusion@gmail.com,kekcuha@gmail.com" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "С закрытым кодом" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Не удалось получить отзывы: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Не удалось отправить данные о полезности: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Не удалось отправить отзыв: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Тестовая категория" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "тест" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "тестовые расширения" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "тест 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "тест с содержимым" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "тест со значительным содержимым" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "тест 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "тест 4" + +#: 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 "Приложения" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Инструменты" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Специальные возможности" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Инструменты для разработки" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Отладка" + +#: 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 "Построение интерфейсов" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Среды разработки" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Локализация" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Средства профилирования" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Веб-разработка" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Образование" + +#: 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 "Научные и инженерные" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Астрономия" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Биология" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Химия" + +#: 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 "Информационные технологии" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Электроника" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Инженерия" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "География" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Геология" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Математика" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Физика" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Игры" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Аркады" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Настольные игры" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Карточные игры" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Головоломки" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Ролевые игры" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Симуляторы" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Стратегические игры" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Спортивные игры" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Сюжетные игры" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Эмуляторы" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Графические" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Черчение и рисование" + +#: 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 "Рисование и редактирование" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Фотография" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Публикация" + +#: 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 "Сканирование и распознавание" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Программы просмотра" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Интернет" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Общение" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Общий доступ к файлам" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Почта" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Веб-браузеры" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Мультимедиа" + +#: 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 "Редакторы аудио и видео" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Аудиопроигрыватели" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Видеопроигрыватели" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Офис" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Параметры системы" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Локальный файл пакета Flatpak" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Некорректная ссылка AppStream «%1»." + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "неизвестная" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Определение размера..." + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Неизвестный размер" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "Для загрузки: %1, будет занято на диске: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "Будет занято %1 на диске" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Добавить репозиторий Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Не удалось добавить репозиторий %1." + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Удаление «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" +"Перед удалением этого репозитория требуется удалить следующие приложения: " +"
                  • %1
                  " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Не удалось удалить репозиторий %1: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Не удалось найти %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Введите адрес репозитория Flatpak (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Добавление «%1» (%2) из %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Ознакомление с лицензионным соглашением" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Поставщик %1 требует принять условия лицензионного соглашения:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Инициализация механизма %1 выполняется очень долго" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Приложения" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Расширения к Plasma" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Расширения к приложениям" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Ошибка сети в подсистеме %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Слишком много обращений на сервер от подсистемы %1. Повторите попытку через " +"несколько минут." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" +"Некорректный модуль поддержки %1, обратитесь к разработчиками своего " +"дистрибутива." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Не удалось получить снимки экрана для %1 из %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Ошибка в модуле механизма поддержки %1, обратитесь к разработчиками своего " +"дистрибутива." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Некорректный адрес URI KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Запустить" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Использовать" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Доступ к %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Не удалось запустить %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Расширения к Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Виджеты Plasma" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Шрифты" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "Проверьте правильность установки Appstream на компьютере." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "Недостаточно памяти." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Нет доступного сетевого соединения." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Действие не поддерживается." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Внутренняя ошибка." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Ошибка GPG." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Некорректный PackageID." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Пакет не установлен." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Пакет не найден." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Пакет уже установлен." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Не удалось загрузить пакет." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Не удалось найти группу пакетов." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Некорректный список групп пакетов." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Не удалось разрешить зависимости." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Некорректный фильтр." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Не удалось создать поток выполнения." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Ошибка выполнения операции." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Операция отменена." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Данные в кэше недоступны." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Не удалось найти репозиторий." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Невозможно удалить системный пакет." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Произошёл сбой фоновой службы PackageKit" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Ошибка инициализации." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Не удалось завершить операцию." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "При обработке файла конфигурации произошла ошибка." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Невозможно отменить операцию." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Не удалось установить блокировку." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Нет пакетов для обновления." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Не удалось записать конфигурационный файл репозитория." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Не удалось установить локально." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Найдена некорректная подпись GPG." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Не найдена подпись GPG." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Не удалось установить пакет с исходным кодом." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Ошибка настройки репозитория." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Отсутствует лицензионное соглашение." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Обнаружен конфликт файлов." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Обнаружен конфликт пакетов." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Репозиторий недоступен." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Некорректный файл пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Установка пакета заблокирована." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Найден повреждённый пакет." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Все пакеты уже установлены." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Файл не найден." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Список доступных зеркал исчерпан." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Нет данных по обновлению дистрибутива." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Несовместимая архитектура." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Недостаточно места на устройстве хранения данных." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Требуется сменить носитель." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "У вас нет прав на выполнение этого действия." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "Обновление не найдено." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Невозможно выполнить установку из неподписанного репозитория." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Невозможно выполнить обновление из неподписанного репозитория." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Не удалось получить список файлов." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Не удалось получить необходимые пакеты." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Не удалось отключить репозиторий." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Обнаружено ограничение загрузки." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Ошибка настройки пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Ошибка сборки пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Ошибка установки пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Ошибка удаления пакета." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Ошибка обновления из-за запущенного процесса." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "База данных пакетов была изменена." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Данный тип не поддерживается." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Установка с правами администратора (root) недопустима." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Не удалось получить данные из источников программ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Приоритет отменён." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Незавершённая операция." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Требуется блокировка." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Неизвестная ошибка %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "«%1» был изменён и будет перезапущен." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "После изменений «%1» рекомендуется выполнить перезапуск сеанса." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"«%1» был обновлён в целях безопасности, рекомендуется выполнить перезапуск " +"сеанса." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"«%1» был обновлён в целях безопасности, рекомендуется выполнить перезапуск " +"системы." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "После изменений «%1» рекомендуется выполнить перезапуск системы." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Потребуется перезапуск приложения." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Потребуется перезапуск сеанса." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Потребуется перезагрузка системы." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "В целях безопасности рекомендуется перезапуск сеанса." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "В целях безопасности рекомендуется перезагрузка системы." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Ожидание..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Обновление кэша..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Настройка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Обработка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Удаление..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Загрузка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Установка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Обновление..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Очистка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Разрешение зависимостей..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Проверка подписей..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Проверка сохранения изменений..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Сохранение изменений..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Завершено." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Отменено." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Ожидание блокировки..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Ожидание авторизации..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Копирование файлов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Неизвестное состояние" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Ожидание события..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Выполняется настройка..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Выполняется операция..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Выполняется удаление пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Выполняется загрузка пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Выполняется установка пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Выполняется обновление пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Выполняется очистка от ненужных данных..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Выполняется разрешение зависимостей пакетов, которые будут установлены..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Выполняется проверка подписей пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Выполняется проверка сохранения изменений набора пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Выполняется сохранение изменений набора пакетов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Операция выполнена." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Операция отменена." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Выполняется ожидание блокировки..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Ожидание авторизации..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Выполняется копирование файлов..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Выполняется обновление кэша репозитория..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Неизвестное состояние %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "стабильное" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "нестабильное" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "тестовое" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Автономные обновления" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Не удалось обновить %1 пакет\n" +"%2" +msgstr[1] "" +"Не удалось обновить %1 пакета\n" +"%2" +msgstr[2] "" +"Не удалось обновить %1 пакетов\n" +"%2" +msgstr[3] "" +"Не удалось обновить %1 пакет\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Открыть Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Восстановить систему" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Восстановление неудачно" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Сообщите об этой ситуации разработчикам используемого дистрибутива: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Успешно обновлён %1 пакет" +msgstr[1] "Успешно обновлены %1 пакета" +msgstr[2] "Успешно обновлены %1 пакетов" +msgstr[3] "Успешно обновлён %1 пакет" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Замещает:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Заметки о выпуске:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Статус обновления:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Перезапуск:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Поставщик:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "Адрес репозитория:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Удаление пакетов" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
                  • %1

                  in order to install:
                  • %2
                  " +msgstr "" +"Следующие пакеты будут удалены в процессе обновления:
                  • %1

                  для установки:
                  • %2
                  " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Для завершения обновления требуется перезагрузка" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Запрошена смена носителя «%1».\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Лицензионное соглашение" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Отсутствует подпись пакета %1 из репозитория %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Подтверждение удаления пакета" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 — %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Для работы приложения snap требуется отключить механизмы ограждения данных " +"от несанкционированного использования." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Указать названия модулей реализации, которые следует загрузить, разделённые " +"запятыми («,»)." + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Повреждено" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Доступно" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Установлено" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Можно обновить" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Проверить обновления" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Посмотреть обновления" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/с" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Запуск" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Ожидание" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Загрузка" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Установка" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Удаление" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Изменение дополнений" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Готово" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Произошла ошибка" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Отменено" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Обновления приложений" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Обновления пакетов" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +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..a5a481e --- /dev/null +++ b/po/ru/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# 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. +# Alexander Yavorsky , 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-28 17:44+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 20.04.2\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Посмотреть обновления" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Доступны обновления безопасности" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Доступны обновления" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Система находится в актуальном состоянии" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Требуется перезагрузка компьютера" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Не в сети" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Перезагрузить" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Требуется перезагрузка" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Для применения обновлений требуется перезагрузка системы." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Обновить" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Доступны обновления" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Новая версия: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Уведомления центра программ Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Уведомления о состоянии системных обновлений" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© Команда разработчиков Plasma, 2010–2019" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Александр Яворский" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kekcuha@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Заменить существующий запущенный процесс" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Не показывать уведомления" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "скрыть" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Обновления" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Открыть центр программ Discover" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Просмотреть обновления..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Обновить..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Для применения обновлений требуется перезагрузка системы" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Нажмите для перезагрузки компьютра" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..85896e2 --- /dev/null +++ b/po/ru/plasma-discover.po @@ -0,0 +1,835 @@ +# 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, 2019, 2020. +# Artem Grinev , 2016. +# Alexander Yavorsky , 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-10-04 13:26+0200\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 19.12.2\n" +"X-Environment: kde\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Отсутствуют механизмы работы с приложениями, сообщите об этой ситуации " +"разработчикам используемого дистрибутива." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Не удалось найти категорию «%1»." + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Для использования формат flatpak требуется установка модуля для работы с " +"этим форматом (%1)." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Не удалось открыть файл %1." + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Открыть программу по её адресу (appstream:// URI)." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Открыть поиск программы, которая способна обрабатывать данные этого типа " +"MIME." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Отображение списка записей с категорией." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Открыть Discover в указанном режиме. Названия режимов соответствуют " +"названиям кнопок панели инструментов." + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "Список всех доступных режимов." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Компактный режим (автоматически/компактный/полный)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Локальный файл пакета, который следует установить." + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Список всех доступных модулей источников приложений." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Строка поиска" + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Показать список данных обратной связи." + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Поддерживает схему URL «appstream:»." + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Центр программ Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Центр приложений" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© Команда разработчиков Plasma, 2010–2020" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Контроль качества, дизайн интерфейса и работа над его удобством" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Александр Поташев,Александр Яворский" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "aspotashev@gmail.com,kekcuha@gmail.com" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Доступные модули:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Доступные режимы:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Дополнения" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Дополнительно..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Применить изменения" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Сброс" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Добавление репозитория %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Добавить" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Отмена" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "— %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, 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:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Пока нет оценок" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Источники" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 — %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Нововведения" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Отзывы" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, kde-format +msgid "Write a Review" +msgstr "Оставить отзыв" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Установите, чтобы оставить отзыв" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Категория:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1 от %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Версия:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Автор:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Размер:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Источник:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Лицензия:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Посмотреть полный текст лицензии" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Документация:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Перейти к пользовательской документации" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Принять участие:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Посетить веб-сайт приложения" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Сделать пожертвование" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Сообщить о проблеме" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Поиск: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Сортировать: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "По названию" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "По оценке" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "По размеру" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "По дате выпуска" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Ничего не найдено." + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Выполняется поиск..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Рекомендованные" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Загрузка..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Не удалось получить список приложений.Проверьте соединение с интернетом." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Перейти на страницу рекомендованных приложений" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"Запуск от имени администратора (root) не рекомендуется и не " +"требуется." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Поиск" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Установленные" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Загрузка обновлений..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Обновления отсутствуют" + +# BUGME: should be "%1 updates" with plurals --aspotashev +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Обновления (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "О программе" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Настройка" + +#: discover/qml/DiscoverWindow.qml:129 +#, 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:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Невозможно закрыть Discover, так как выполнены не все задачи." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Игнорировать и выйти" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Не удалось найти ресурс: «%1»" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Продолжить" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Отправить статистику использования" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Обезличенная статистика использования помогает KDE лучше понять своих " +"пользователей. Дополнительная информация размещена на странице https://kde." +"org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Передача статистики использования..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Настройка" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Настроить параметры обратной связи..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Предоставление доступа к своей статистке использования приложения и участие " +"в проводимых опросах позволяет разработчикам понять, как возможно улучшить " +"это приложение." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Содействовать..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Нам нужна обратная связь!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Участвовать..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Установить" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Удалить" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ресурсы для «%1»" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Расширения..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Задачи (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Задачи" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1: %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Версия: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "Неизвестный автор" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 от %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Комментарий от %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Голосов: %1 из %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Полезно?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Да" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Нет" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Отзыв о «%1»" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Оценка:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Имя:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Заголовок:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Поставьте оценку" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Введите заголовок" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Напишите отзыв" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Продолжайте писать..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Слишком длинный отзыв!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Отправить отзыв" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Отзывы о %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Оставить отзыв..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Чтобы оставить отзыв, нужно установить это приложение." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Поиск..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Поиск в «%1»..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (по умолчанию)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Добавить источник..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Использовать по умолчанию" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Не удалось повысить приоритет «%1»" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Не удалось понизить приоритет «%1»" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Удалить источник" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Показать содержимое" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Отсутствующие модули" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Обновления" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Ошибка обновления" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Обновить выбранные" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Обновить все" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Выбраны все обновления (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Выбрано %1 из %2 обновлений (%3)" +msgstr[1] "Выбраны %1 из %2 обновлений (%3)" +msgstr[2] "Выбраны %1 из %2 обновлений (%3)" +msgstr[3] "Выбрано %1 из %2 обновления (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Перезагрузить" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Обновление до версии %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Установка" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Дополнительная информация..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Загрузка обновлений..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Обновления" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Для применения обновлений требуется перезагрузка системы" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Обновления отсутствуют" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Требуется проверка наличия обновлений" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" +"Неизвестно, когда в последний раз выполнялась проверка наличия обновлений" \ No newline at end of file diff --git a/po/sk/libdiscover.po b/po/sk/libdiscover.po new file mode 100644 index 0000000..86e2200 --- /dev/null +++ b/po/sk/libdiscover.po @@ -0,0 +1,1640 @@ +# translation of libmuon.po to Slovak +# Richard Fric , 2010. +# Milan Basa , 2011. +# Roman Paholík , 2013, 2014, 2015, 2016, 2017, 2019. +# Mthw , 2018, 2019. +# Matej Mrenica , 2019, 2020. +# Dusan Kazik , 2020. +msgid "" +msgstr "" +"Project-Id-Version: libmuon\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-10 17:20+0200\n" +"Last-Translator: Matej Mrenica \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 20.08.1\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Matej Mrenica,Dušan Kazik" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "matejm98mthw@gmail.com,prescott66@gmail.com" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Uzavreté" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Chyba počas získavania recenzií: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Chyba počas odosielania užitočnosti: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Chyba počas odosielania recenzie: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Prázdna kategória" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "dummy" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "prázdne doplnky" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "dummy 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "dummy s niečím" + +#: 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" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "dummy 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "dummy 4" + +#: 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" + +#: 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" + +#: 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ť" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Ladenie" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "Integrované vývojové prostredia" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilovanie" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografia" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fyzika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Hry" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Hlavolamy" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Športovanie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Akcia" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Kreslenie" + +#: 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 úprava" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografovanie" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publikovanie" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Rozhovor" + +#: 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" + +#: 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" + +#: 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" + +#: 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á" + +#: 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 zvuku a videa" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Miestny balík" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Neplatné appstream url '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Neznáme" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Získavajú sa informácie o veľkosti" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Neznáma veľkosť" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 na prevzatie, %2 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Pridať Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Nepodarilo sa pridať zdroj %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Odstraňuje sa \"%1\"" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" +"Na odstránenie tohto repozitára musia byť odinštalované nasledovné " +"aplikácie:
                  • %1
                  " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Zlyhalo odstránenie vzdialeného repozitára %1: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Nepodarilo sa nájsť %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Zadať URI Flatpak úložiska (* .flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Pridáva sa vzdialený zdroj \"%1\" do %2 z %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Skontrolovať EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Vzdialený zdroj %1 vyžaduje, aby ste prijali jeho licenciu:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Podpornému programu %1 trvala inicializácia príliš dlho" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Aplikácie" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Doplnky Plasmy" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Doplnky aplikácií" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Sieťová chyba v podpornom programe %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Bolo odoslaných príliš veľa požiadaviek serveru podporného programu %1. " +"Prosím, skúste to znovu o pár minút." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Neplatný podporný program %1. Kontaktujte svojho distribútora." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" +"Nepodarilo sa získať snímku obrazovky pre položku %1 v podpornom programe %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Nespracovateľná chyba v podpornom programe %1. Kontaktujte svojho " +"distribútora." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Nesprávna URI KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Spustiť" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Použiť" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Prihlasovacie informácie pre %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Nedá sa spustiť %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Doplnky Plasmy" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Miniaplikácie pre Plasmu" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Písma" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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ý vo vašom systéme" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "Nedostatok pamäte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Nie je dostupné žiadne sieťové pripojenie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Operácia nie je podporovaná" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Interná chyba" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Zlyhanie GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Neplatný identifikátor PackageID" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Balík nie je nainštalovaný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Balík sa nenašiel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Balík je už nainštalovaný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Zlyhalo preberanie balíka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Skupina balíkov sa nenašla" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Zoznam skupín balíkov nie je platný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Zlyhalo vyriešenie závislostí" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Neplatný filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Zlyhanie počas vytvárania vlákna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Zlyhanie transakcie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transakcia bola zrušená" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Nie je dostupná žiadna vyrovnávacia pamäť." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Nedá sa nájsť repozitár" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Nedá sa odstrániť systémový balík" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Démon PackageKit neočakávane skončil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Zlyhanie inicializácie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Zlyhalo dokončenie transakcie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Zlyhalo spracovanie nastavenia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Nedá sa zrušiť transakcia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Nedá sa získať zámok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Žiadne balíky na aktualizáciu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Nedá sa zapísať nastavenie repozitára" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Zlyhala miestna inštalácia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Našiel sa neplatný podpis GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Nenašiel sa žiadny podpis GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Nedá sa nainštalovať zdrojový balík" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Chyba nastavenia repozitára" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Žiadne licenčné podmienky" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Našli sa konflikty súborov" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Našiel sa konflikt balíkov" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Repozitár nie je dostupný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Neplatný súbor balíka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Inštalácia balíka zablokovaná" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Našiel sa poškodený balík" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Všetky balíky sú už nainštalované" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Súbor sa nenašiel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Nie je dostupných viac zrkadiel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Žiadne údaje o inovácií distribúcie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Nekompatibilná architektúra" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Na zariadení už nezostáva žiadne miesto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Vyžaduje sa zmena média" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Aktualizácia sa nenašla" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Nedá sa vykonať inštalácia z nepodpísaného repozitára" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Nedá sa vykonať aktualizácia z nepodpísaného repozitára" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Nedá sa získať zoznam súborov" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Nedajú sa získať požiadavky" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Nedá sa zakázať repozitár" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Bolo zistené obmedzené preberanie" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Zlyhalo nastavenie balíka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Zlyhalo zostavenie balíka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Zlyhala inštalácia balíka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Zlyhalo odstránenie balíka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Aktualizácia zlyhala kvôli bežiacemu procesu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Zmenila sa databáza balíkov" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Zadaný typ nie je podporovaný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Koreňový priečinok inštalácie nie je platný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Nedajú sa získať zdroje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Priorita bola zrušená" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Nedokončená transakcia" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Vyžaduje sa zámok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Neznáma chyba %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "Balík \"%1\" bol zmenený a odporúča sa reštart." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" +"Odporúča sa reštartovať vaše sedenie, kvôli zmene vykonanej balíkom \"%1\"." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"Balík \"%1\" bol aktualizovaný z bezpečnostných dôvodov a je odporúčané " +"reštartovať sedenie." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"Balík \"%1\" bol aktualizovaný z bezpečnostných dôvodov a je odporúčané " +"reštartovať systém." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" +"Odporúča sa reštartovať váš systém, kvôli zmene vykonanej balíkom \"%1\"." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Aplikácia bude musieť byť reštartovaná." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sedenie bude musieť byť reštartované" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Systém bude musieť byť reštartovaný." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "Sedenie musí byť kvôli bezpečnosti reštartované." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Čaká sa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Obnovuje sa vyrovnávacia pamäť..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Nastavuje sa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Spracováva sa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Odstraňuje sa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Preberá sa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Inštaluje sa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Aktualizuje sa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Čistí sa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Riešia sa závislosti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Kontrolujú sa podpisy..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Skúša sa potvrdenie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Potvrdzuje sa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Dokončené" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Zrušené" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Čaká sa na zámok..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Čaká sa na overenie totožnosti..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Kopírujú sa súbory..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Neznámy stav" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Čaká sa na niečo." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Nastavuje sa transakcia..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transakcia práve pracuje..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transakcia práve odstraňuje balíky..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transakcia práve preberá balíky..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transakcia práve inštaluje balíky..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transakcia práve aktualizuje balíky..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transakcia práve vykonáva čistenie..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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é budú nainštalované..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transakcia bola dokončená!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transakcia bola zrušená" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transakcia práve čaká na zámok..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Čaká sa na overenie totožnosti transakcie používateľom..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transakcia práve kopíruje súbory..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Práve sa obnovuje vyrovnávacia pamäť repozitára..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Neznámy stav %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabilný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Nestabilný" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Skúšobný" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Aktualizácie bez pripojenia" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Zlyhala aktualizácia %1 balíka\n" +"%2" +msgstr[1] "" +"Zlyhala aktualizácia %1 balíkov\n" +"%2" +msgstr[2] "" +"Zlyhala aktualizácia %1 balíkov\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Otvoriť aplikáciu Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Opraviť systém" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Oprava zlyhala" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Prosím, nahláste to vašej distribúcii: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Úspešne aktualizovaný %1 balík" +msgstr[1] "Úspešne aktualizované %1 balíky" +msgstr[2] "Úspešne aktualizovaných %1 balíkov" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Zastarané:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Poznámky k vydaniu:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Stav aktualizácie:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Reštart:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Dodávateľ:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "URL repozitára:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Balíky na odstránenie" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
                  • %1

                  in order to install:
                  • %2
                  " +msgstr "" +"Nasledovné balíky budú odstránené pri aktualizácii:
                  • %1
                  na " +"nainštalovanie:
                  • %2
                  " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Prosím, reštartujte počítač na dokončenie aktualizácie" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Vyžaduje sa zmena média na typ \"%1\".\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Prijať EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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žadujú, aby ste prijali ich licenciu:\n" +" %3" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Chýba podpis balíka %1 v repozitári %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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" +"Časová značka: %4\n" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Potvrdenie odstránenia balíka" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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] "" +"Touto akciou sa tiež odstráni nasledovný balík:\n" +"%2" +msgstr[1] "" +"Touto akciou sa tiež odstránia nasledovné balíky:\n" +"%2" +msgstr[2] "" +"Touto akciou sa tiež odstránia nasledovné balíky:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "Táto aplikácia vyžaduje zakázané bezpečnostné obmedzenia." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" +"Zoznam všetkých podporných programov, ktoré sa majú načítať, oddelené " +"čiarkou \",\"." + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Poškodené" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Dostupné" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Nainštalované" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Inovavateľné" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Skontrolovať aktualizácie" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Zobraziť aktualizácie" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Spúšťa sa" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Čaká sa" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Preberá sa" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Inštaluje sa" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Odstraňuje sa" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Menia sa doplnky" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Hotovo" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Zlyhalo" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Zrušené" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Aktualizácie aplikácií" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Systémové aktualizácie" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Doplnky" \ 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..8f16e12 --- /dev/null +++ b/po/sk/plasma-discover-notifier.po @@ -0,0 +1,158 @@ +# translation of muon-notifier.po to Slovak +# Roman Paholík , 2015, 2019. +# Mthw , 2018. +# Matej Mrenica , 2019, 2020. +# Dusan Kazik , 2020. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-09-08 18:57+0200\n" +"Last-Translator: Matej Mrenica \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 20.08.1\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Zobraziť aktualizácie" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Sú dostupné bezpečnostné aktualizácie" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Sú dostupné aktualizácie" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Systém je aktuálny" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Je potrebné reštartovať počítač" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Bez pripojenia" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Reštartovať" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Vyžaduje sa reštart" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Musíte reštartovať systém, aby sa uplatnili aktualizácie." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Inovovať" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Je dostupná inovácia" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nová verzia: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Notifikátor aplikácie Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Notifikátor stavu aktualizácie systému" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Vývojový tím Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Matej Mrenica,Dušan Kazik" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "matejm98mthw@gmail.com,prescott66@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Nahradiť existujúcu inštanciu" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Nezobrazovať notifier" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "skryté" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Aktualizácie" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Otvoriť aplikáciu Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Zobraziť aktualizácie..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Obnoviť..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Ak chcete použiť nainštalované aktualizácie, reštartujte počítač" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Kliknutím reštartujte počítač" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Reštartovať..." \ 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..1fc8ecc --- /dev/null +++ b/po/sk/plasma-discover.po @@ -0,0 +1,818 @@ +# translation of muon-discover.po to Slovak +# Roman Paholik , 2012, 2013, 2014, 2015, 2016, 2017, 2019. +# Mthw , 2018, 2019. +# Matej Mrenica , 2019, 2020. +# Dusan Kazik , 2020. +msgid "" +msgstr "" +"Project-Id-Version: muon-discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-10-14 18:15+0200\n" +"Last-Translator: Matej Mrenica \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 20.08.2\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Nenašli sa žiadne podporné programy aplikácií. Prosím, nahláste to vašej " +"distribúcii." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Nepodarilo sa nájsť kategóriu \"%1\"" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Nedá sa spolupracovať z prostriedkami balíkov flatpak, bez podporného " +"programu pre flatpak %1. Prosím, najskôr ho nainštalujte." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Nepodarilo sa otvoriť %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Priamo otvoriť konkrétnu aplikáciu pomocou jej appstream:// URI." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Otvoriť vyhľadávanie programov, ktoré dokážu pracovať daným mimetypom." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Zobrazí zoznam položiek s kategóriou." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Otvorí aplikáciu Discover v danom režime. Režimy korešpondujú s tlačidlami " +"panela nástrojov." + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "Vypíše všetky dostupné režimy." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompaktný režim (automatický/kompaktný/úplný)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Miestny súbor balíka na inštaláciu" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Vypíše všetky dostupné podporné programy." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Vyhľadá reťazec." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Vypíše všetky možné voľby pre spätnú väzbu od používateľa" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Podpora schémy appstream: url" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Prieskumník aplikácií" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Vývojový tím Plasma" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Zabezpečenie kvality, dizajn a použiteľnosť" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Matej Mrenica,Dušan Kazik" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "jari_45@hotmail.com,prescott66@gmail.com" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Dostupné podporné programy:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Dostupné režimy:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Doplnky" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Viac..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Aplikovať zmeny" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Obnoviť" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Pridanie nového repozitára %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Pridať" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Zrušiť" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, 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:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Zatiaľ bez hodnotení" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Zdroje" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Čo je nové" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Recenzie" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Zobraziť %1 hodnotenie..." +msgstr[1] "Zobraziť všetky %1 hodnotenia..." +msgstr[2] "Zobraziť všetkých %1 hodnotení..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Napísať recenziu" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Nainštalujte aplikáciu, aby ste mohli napísať recenziu" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategória:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, vydaná dňa %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Verzia:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Autor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Veľkosť:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Zdroj:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licencia:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Zobraziť úplné licenčné podmienky" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Dokumentácia:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Prečítať si používateľskú príručku" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Zapojiť sa:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Navštíviť web-stránku aplikácie" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Prispieť" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Nahlásenie problému" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Vyhľadať: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Usporiadať podľa: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Názvu" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Hodnotenia" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Veľkosti" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Dátumu vydania" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Prepáčte, nič sa nenašlo" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Vyhľadáva sa..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Vybrané aplikácie" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Načítava sa..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Nie je možné načítať aplikácie.Prosím, skontrolujte internetové " +"pripojenie." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Návrat na stránku vybraných aplikácií" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Spustenie s právami správcu nie je odporúčané, ani potrebné." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Hľadať" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Nainštalované" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Získavajú sa aktualizácie..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Aktuálne" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Aktualizácie (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "O aplikácii" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Nastavenia" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Prepáčte..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Nepodarilo sa zavrieť aplikáciu Discover. je potrebné dokončiť úlohy." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Napriek tomu skončiť" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Nie je možné nájsť prostriedok: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Pokračovať" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Odoslať informácie o používaní" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Odošle anonymné údaje o používaní KDE aby sme mohli lepšie rozumieť našim " +"používateľom. Pre viac informácií navštívte https://kde.org/privacypolicy-" +"apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Odosielajú sa informácie o používaní..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Nastaviť" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Nastaviť spätnú väzbu..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Môžete nám pomôcť vylepšiť túto aplikáciu zdieľaním štatistík a zúčastnením " +"sa v prieskumoch." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Prispieť..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Tešíme sa na vašu spätnú väzbu!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Zúčastniť sa..." + +#: 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/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Prostriedky pre \"%1\"" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Rozšírenia..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Úlohy (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Úlohy" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Verzia: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "neznámy kontrolór" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 od %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Komentár od používateľa %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Hlasy: %1 z %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Užitočné?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Áno" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Nie" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Recenzia na aplikáciu %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Hodnotenie:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Meno:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Nadpis:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Zadajte hodnotenie" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Napíšte nadpis" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Napíšte recenziu" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Pokračujte v písaní..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Príliš dlhé!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Odoslať recenziu" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Hodnotenia pre %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Napísať recenziu..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Nainštalujte túto aplikáciu, aby ste mohli napísať recenziu" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Hľadať..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Hľadať v repozitári \"%1\"..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Predvolený)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Pridať zdroj..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Nastaviť ako predvolený" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Zlyhalo zvýšenie predvoľby \"%1\"" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Zlyhalo zníženie predvoľby \"%1\"" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Odstrániť pôvod" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Zobraziť obsah" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Chýbajúce podporné programy" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Aktualizácie" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Problém s aktualizáciou" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Vybraná aktualizácia" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Aktualizovať všetko" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Vybrané všetky aktualizácie (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Vybraná %1 aktualizácia z/zo %2 (%3)" +msgstr[1] "Vybrané %1 aktualizácie z/zo %2 (%3)" +msgstr[2] "Vybraných %1 aktualizácií z/zo %2 (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Reštartovať" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Aktualizovať na verziu %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Inštaluje sa" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Viac informácií..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Získavajú sa aktualizácie..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Aktualizácie" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Systém musí byť reštartovaný na zavedenie aktualizácií" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Aktuálne" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Mali by sa skontrolovať aktualizácie" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ No newline at end of file diff --git a/po/sl/libdiscover.po b/po/sl/libdiscover.po new file mode 100644 index 0000000..d287378 --- /dev/null +++ b/po/sl/libdiscover.po @@ -0,0 +1,1644 @@ +# 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. +# Matjaž Jeran , 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-16 12:56+0200\n" +"Last-Translator: Matjaž Jeran \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" +"Translator: Andrej Mernik \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: Poedit 2.4.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Andrej Mernik,Matjaž Jeran" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "andrejm@ubuntu.si,matjaz.jeran@amis.net" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Lastniško" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Napaka pri pridobivanju pregledov: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Napaka pri oddaji uporabnosti: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Napaka pri oddaji pregleda: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Preizkusna kategorija" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "preizkusno" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "preizkusni dodatki" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "preizkusno 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "preizkusno z vsebino" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "preizkusno z veliko vsebinami" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "preizkusno 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "preizkusno 4" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Dostopnost" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Prevajanje" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profiliranje" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kemija" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronika" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Zemljepis" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Igre" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkade" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Sestavljanke" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulacija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategija" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Šport" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Aktivnost" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Posnemanja" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafika" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Risanje" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografija" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Pregledovalniki" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Klepet" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Predstavnost" + +#: 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 "Avdio in video urejevalniki" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Predvajalniki zvoka" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Predvajalniki videa" + +#: 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 in DVD" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Pisarna" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Krajevna zbirka" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Napačno oblikovan URL appstream '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Neznano" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Pridobivanje podatkov o velikosti" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Neznana velikost" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 na disku" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Dodaj Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Ni bilo mogoče dodati vira %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Odstranjevanje '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" +"Da bi odstraniti ta repozitorij, morajo biti odstranjeni tudi naslednji " +"programi:
                  • %1
                  " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Ni bilo mogoče odstraniti %1 v oddaljenem repozitoriju: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Ni bilo mogoče najti %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Vnesite URI skladišča Flatpak (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Dodajanje oddaljenega '%1' v %2 iz %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Preglej EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Oddaljeni %1 zahteva, da sprejmete njihovo licenco:\n" +"%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Proces v ozadju %1 je trajal predolgo za pripravo" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Programi" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Dodatki za Plasmo" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Dodatki za programe" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Omrežna napaka v odzadnjem programu %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"Preveč zahtev poslanih strežniku za programe v ozadju %1. Poskusite znova " +"čez nekaj minut." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, 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:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Posnetka zaslona za vnos %1 ni bilo mogoče pridobiti v ozadju %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Neobdelana napaka %1 v ozadju. Stopite v stik z distributerjem programja." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Napačen URI KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Poženi" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Uporabi" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Prijavni podatki za %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Ni mogoče pognati %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Dodatki za Plasmo" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Gradniki Plasme" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Pisave" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Zmanjkalo pomnilnika" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Omrežna povezava ni na voljo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Opravilo ni podprto" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Notranja napaka" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Neuspeh GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Neveljaven PackageID" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Paket ni nameščen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Paket ni bil najden" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Paket je že nameščen" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Prejemanje paketa ni uspelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Skupina paketa ni bila najdena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Seznam skupin paketov ni veljaven" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Razreševanje odvisnosti ni uspelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Filter ni veljaven" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Neuspeh med ustvarjanjem niti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Napaka transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transakcija preklicana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Predpomnilnik ni na voljo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Skladišča ni mogoče najti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Ni mogoče odstraniti sistemskega paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Ozadnji program PackageKit se je sesul" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Napaka med začenjanjem" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Zaključevanje transakcije ni uspelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Razčlenjevanje nastavitev ni uspelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Ni mogoče preklicati transakcije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Ni mogoče zakleniti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Za posodobiti ni nobenega paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Ni mogoče zapisati nastavitev skladišča" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Krajevna namestitev ni uspela" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Najden slab podpis GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Najden ni bil noben podpis GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Ni mogoče namestiti paketa z izvorno kodo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Napaka med nastavitvijo skladišča" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Brez licenčnega sporazuma" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Najdeni spori datotek" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Najden spor paketov" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Skladišče ni na voljo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Neveljavna datoteka paketa" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Namestitev paketa je blokirana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Najden pokvarjen paket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Vsi paketi so že nameščeni" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Datoteka ni bila najdena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Na voljo ni nobenega dodatnega skladišča" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ni podatkov o nadgradnji distribucije" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Nezdružljiva arhitektura" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Ni prostora na napravi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Zahtevana je zamenjava nosilca" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Nimate pooblastila za izvedbo tega dejanja" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "Posodobitev ni najdena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Ni mogoče namestiti iz nepodpisanega skladišča" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Ni mogoče posodobiti iz nepodpisanega skladišča" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Ni mogoče dobiti seznama datotek" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Ni mogoče dobiti zahtevanih" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Ni mogoče onemogočiti skladišča" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Zaznan omejen prejem" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Nastavljanje paketa ni uspelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Izgradnja paketa ni uspela" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Nameščanje paketa ni uspelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Odstranitev paketa ni uspela" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Posodobitev ni uspela zaradi zagnanega opravila" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Podatkovna zbirka paketov spremenjena" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Ponujena vrsta ni podprta" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Korenska mapa za nameščanje ni veljavna" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Ni mogoče pridobiti virov" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Preklicana prednost" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Transakcija ni bila dokončana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Zahtevan je zaklep" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Neznana napaka %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "Sprememba '%1' predlaga, da znova zaženete sistem." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Program bo potrebno znova zagnati." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sejo bo potrebno znova zagnati" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Potrebno je ponovno zagnati sistem." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Čakanje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Osveževanje predpomnilnika ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Nastavi ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Obdelovanje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Odstrani ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Prejemanje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Nameščanje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Posodabljanje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Čiščenje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Razreševanje odvisnosti ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Preverjanje podpisov ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Preizkušanje uveljavljanja ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Uveljavljanje ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Končano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Preklicano" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Čakanje na zaklep ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Čakanje na pooblastitev ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Kopiranje datotek ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Neznano stanje" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Čakanje na nekaj." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Nastavljanje transakcije ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transakcija je v teku ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transakcija trenutno odstranjuje pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transakcija trenutno prejema pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transakcija trenutno namešča pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transakcija trenutno posodablja pakete ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transakcija trenutno čisti ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Transakcija trenutno preverja podpise paketov ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, 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:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Transakcija trenutno uveljavlja nabor paketov ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transakcija je bila zaključena!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transakcija je bila preklicana" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Transakcija trenutno čaka na zaklep ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Čakanje, da uporabnik pooblasti transakcijo ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transakcija trenutno kopira datoteke ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Poteka osveževanje predpomnilnika skladišča ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Neznano stanje %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Unstable" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Testing" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Krajevne posodobitve" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Posodobitev ni uspela %1 paket:\n" +"%2" +msgstr[1] "" +"Posodobitev ni uspela %1 paketa:\n" +"%2" +msgstr[2] "" +"Posodobitev ni uspela %1 paketi:\n" +"%2" +msgstr[3] "" +"Posodobitev ni uspela %1 paketov:\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Odpri Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Popravi sistem" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Popravljanje je spodletelo" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Prosimo poročajte vašemu distributerju: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Uspešno posodobljen %1 paket" +msgstr[1] "Uspešno posodobljena %1 paketa" +msgstr[2] "Uspešno posodobljeni %1 paketi" +msgstr[3] "Uspešno posodobljeno %1 paketov" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Zastarelo:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Opombe k izdaji:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Stanje posodobitve:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Ponovni zagon:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Proizvajalec:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (in %1 odvisnost)" +msgstr[1] "%2 (in %1 odvisnosti)" +msgstr[2] "%2 (in %1 odvisnosti)" +msgstr[3] "%2 (in %1 odvisnosti)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "Naslov URL skladišča:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Paketi za odstraniti" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
                  • %1

                  in order to install:
                  • %2
                  " +msgstr "" +"Posodobitev bo odstranila naslednje pakete:
                  • %1

                  zato da " +"bi namestila:
                  • %2
                  " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Za dokončanje posodobitve ponovno zaženite računalnik" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Sprejmi EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Manjka podpis za %1 in %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Potrdite odstranitev paketa" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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] "" +"S tem dejanjem bo odstranjen tudi naslednji paket:\n" +"%2" +msgstr[1] "" +"S tem dejanjem bosta odstranjena tudi naslednja paketa:\n" +"%2" +msgstr[2] "" +"S tem dejanjem bodo odstranjeni tudi naslednji paketi:\n" +"%2" +msgstr[3] "" +"S tem dejanjem bodo odstranjeni tudi naslednji paketi:\n" +"%2" + +#: libdiscover/backends/SnapBackend/SnapBackend.cpp:37 +#, kde-format +msgid "Snap" +msgstr "Posnetek zaslona" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Ta program za posnetek zaslona potrebuje onemogočene omejitvene ukrepe." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Pokvarjeno" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Na voljo" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Nameščeno" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Ima nadgradnjo" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Preveri za posodobitvami" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Vpogled v posodobitve" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Začenjanje" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Čakanje" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Prejemanje" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Nameščanje" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Odstranjevanje" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Spreminjanje dodatkov" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Končano" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Spodletelo" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Preklicano" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Posodobitve programov" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Sistemske posodobitve" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Dodatki" \ 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..a4ab50a --- /dev/null +++ b/po/sl/plasma-discover-notifier.po @@ -0,0 +1,160 @@ +# 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. +# Matjaž Jeran , 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-07-02 08:01+0200\n" +"Last-Translator: Matjaž Jeran \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" +"Translator: Andrej Mernik \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 19.12.2\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Vpogled v posodobitve" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Na voljo so varnostne posodobitve" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Na voljo so posodobitve" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Sistem je posodobljen" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Računalnik je potrebno ponovno zagnati" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Offline" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Ponovni zagon" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Potreben je ponovni zagon" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Za učinkovanje posodobitev je treba ponovno zagnati sistem." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Posodobi" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Na voljo so posodobitve" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Nova verzija: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Obvestilo Discoverja" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Obvestilo o stanju posodobitve sistema" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 skupina razvoja Plasme" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Matjaž Jeran" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "matjaz.jeran@amis.net" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Zamenjajte obstoječi pojavek" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Ne prikazuj obvestil" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "skrit" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Posodobitve" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Odpri Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Poglej posodobitve..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Osveži..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Ponovni zagon za uveljavitev nameščenih posodobitev" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Kliknite za ponovni zagon računalnika" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Ponovno zaženi..." \ 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..fbe74a4 --- /dev/null +++ b/po/sl/plasma-discover.po @@ -0,0 +1,819 @@ +# 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. +# Matjaž Jeran , 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-16 12:56+0200\n" +"Last-Translator: Matjaž Jeran \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" +"Translator: Andrej Mernik \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: Poedit 2.4.1\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Ni najdenih nobenih programov v ozadju, poročajte o tem vaši distribuciji." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Ni bilo mogoče najti kategorije '%1'" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Ni mogoče komunicirati z viri flatpack brez programa za flatback v ozadju " +"%1. Prosimo, da ga najprej namestite." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Ni bilo mogoče odpreti %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Neposredno odpri podano aplikacijo prek spletnega naslova toka." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Odpri z iskanjem za programi, ki znajo rokovati s podano vrsto MIME." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Prikaži seznam vnosov s kategorijo." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Seznam vseh razpoložljivih načinov." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Način strnjenega prikaza (samodejno/strnjeno/polno)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Krajevni paket za namestitev" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Seznam vseh razpoložljivih programov v zaledju." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Išči niz." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Prikaže seznam možnosti za vaše povratne informacije" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Podpira url shemo appstream" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Raziskovalnik po programih" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Razvojna ekipa Plasme" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Zagotavljanje kakovosti, zasnova in uporabnost" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Matjaž Jeran" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "matjaz.jeran@amis.net" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Razpoložljivi programi v zaledju:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Razpoložljivi načini:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Dodatki" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Več..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Uveljavi spremembe" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Ponastavi" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Dodaj novo %1 skladišče" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Dodaj" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Prekliči" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 ocena" +msgstr[1] "%1 oceni" +msgstr[2] "%1 ocene" +msgstr[3] "%1 ocen" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Ni še ocen" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Viri" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Kaj je novega" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Mnenja" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Pokaži %1 mnenje..." +msgstr[1] "Pokaži obe %1 mnenji..." +msgstr[2] "Pokaži vsa %1 mnenja..." +msgstr[3] "Pokaži vsa %1 mnenja..." + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Napiši mnenje" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Namestite ta program, zato da napišete mnenje" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategorija:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, izdan na %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Verzija:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Avtor:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Velikost:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Vir:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licenca:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Oglejte si celotne licenčne pogoje" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Dokumentacija:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Preberite uporabniška navodila" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Bodite vpleteni:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Obiščite spletno stran aplikacije" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Prispevajte" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Poročajte o problemu" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Poišči: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Razvrsti po: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Ime" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Ocena" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Velikost" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Datum izdaje" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Na žalost ni bilo nič najdenega" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Iskanje poteka..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Predstavljeno" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Nalaganje..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "Ni bilo mogoče prenesti programov.Preverite povezavo na internet." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Vrnite se na stran s predstavljenimi programi" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Zaganjanje kot skrbnik je odsvetovano in nepotrebno." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Iskanje" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Nameščeno" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Pridobivanje posodobitev..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Posodobljeno" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Posodobi (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "O" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Nastavitve" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Oprostite..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" +"Programa Discover ni bilo mogoče zapreti, ker obstajajo še dejavna opravila." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Kljub temu zapusti" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Ni mogoče najti vira: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Nadaljuj" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Pošlji podatke o uporabi" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"KDE pošlje anonimizirane podatke o uporabi, da bi lažje razumeli naše " +"uporabnike. Za več informacij glejte https://kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Pošiljam podatke o uporabi..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Nastavi" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Nastavi povratne informacije..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Lahko nam pomagate izboljšati ta program z deljenjem statistik in " +"sodelovanjem pri anketah." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Prispevaj..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Pričakujemo vaše povratne informacije!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Sodeluj..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Namesti" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Odstrani" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Viri za '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Razširitve..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Opravila (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Opravila" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Verzija: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "mnenje neznane osebe" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1, avtorja %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Opomba od %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Glasov: %1 od vseh %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Koristno?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Da" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Ne" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Izdelava mnenja %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Ocena:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Ime:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Naslov:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Vnesite oceno" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Napiši naslov" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Napiši mnenje" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Nadaljuj pisanje..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Predolgo!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Pošlji mnenje" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Ocene za %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Napiši mnenje..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Namesti ta program za pisanje mnenja" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Poišči..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Išči v '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (privzeto)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Dodaj vir..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Nastavi kot privzeto" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Nastavitve '%1' ni bilo mogoče povečati" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Nastavitve '%1' ni bilo mogoče zmanjšati" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Izbriši izvor" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Prikaži vsebino" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Manjkajo programi v ozadju" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Posodobitve" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Posodobi izdajo" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "OK" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Posodobitev izbrana" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Posodobi vse" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Izbrane vse posodobitve (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 posodobitev izbrana (%3)" +msgstr[1] "%1/%2 posodobitvi izbrani (%3)" +msgstr[2] "%1/%2 posodobitve izbrane (%3)" +msgstr[3] "%1/%2 posodobitev izbranih (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Ponovni zagon" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Posodobi na verzijo %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Nameščanje" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Več informacij..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Pridobivanje posodobitev..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Posodobitve" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Vaš sistem zahteva ponovni zagon, da bo uveljavil posodobitve" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Posodobljeno" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Preveriti bi morali za posodobitvami" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Ni znano, kdaj se je bilo zadnjič preverjeno za posodobitvami" \ No newline at end of file diff --git a/po/sr/libdiscover.po b/po/sr/libdiscover.po new file mode 100644 index 0000000..b2f9360 --- /dev/null +++ b/po/sr/libdiscover.po @@ -0,0 +1,1701 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-06-17 02:09+0200\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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Игре на табли|/|$[својства лок 'Играма на табли']" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:97 +#, kde-format +msgid "Proprietary" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:148 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:194 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:243 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Лажна категорија|/|$[својства лок 'Лажној категорији']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "Лажна|/|$[својства лок 'Лажној']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "Лажни додаци|/|$[својства лок 'Лажним додацима']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "Лажна 1|/|$[својства лок 'Лажној 1']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "Лажна са нечим|/|$[својства лок 'Лажној са нечим']" + +#: 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']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "Лажна са подоста нечим|/|$[својства лок 'Лажној са подоста нечим']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "Лажна 3|/|$[својства лок 'Лажној 3']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "Лажна 4|/|$[својства лок 'Лажној 4']" + +#: 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 "Програми|/|$[својства лок 'Програмима']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Допунске алатке|/|$[својства лок 'Допунским алаткама']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Приступачност|/|$[својства лок 'Приступачности']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Програмерске алатке|/|$[својства лок 'Програмерским алаткама']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Исправљање|/|$[својства лок 'Исправљању']" + +#: 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 "" +"Дизајнирање графичког сучеља|/|$[својства лок 'Дизајнирању графичког сучеља']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "ИДЕ‑ови|/|$[својства лок 'ИДЕ‑овима']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Локализација|/|$[својства лок 'Локализацији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Профилисање|/|$[својства лок 'Профилисању']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Развој за Веб|/|$[својства лок 'Развоју за Веб']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Образовање|/|$[својства лок 'Образовању']" + +#: 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 "" +"Природне науке и инжењерство|/|$[својства лок 'Природним наукама и " +"инжењерству']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Астрономија|/|$[својства лок 'Астрономији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Биологија|/|$[својства лок 'Биологији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Хемија|/|$[својства лок 'Хемији']" + +#: 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 "Рачунарство и роботика|/|$[својства лок 'Рачунарству и роботици']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Електроника|/|$[својства лок 'Електроници']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Инжењерство|/|$[својства лок 'Инжењерству']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Географија|/|$[својства лок 'Географији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Геологија|/|$[својства лок 'Геологији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Математика|/|$[својства лок 'Математици']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Физика|/|$[својства лок 'Физици']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Игре|/|$[својства лок 'Играма']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Аркадне|/|$[својства лок 'Аркадним']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Игре на табли|/|$[својства лок 'Играма на табли']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Игре са картама|/|$[својства лок 'Играма са картама']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Логичке|/|$[својства лок 'Логичким']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Играње улога|/|$[својства лок 'Игрању улога']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Симулација|/|$[својства лок 'Симулацији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Спортови|/|$[својства лок 'Спортовима']" + +#: 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 "Програми|/|$[својства лок 'Програмима']" + +#: 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 "Симулација|/|$[својства лок 'Симулацији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Графика|/|$[својства лок 'Графици']" + +#: 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Д-у']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Цртање|/|$[својства лок 'Цртању']" + +#: 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 "Сликање и ретуширање|/|$[својства лок 'Сликању и ретуширању']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Фотографија|/|$[својства лок 'Фотографији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Издаваштво|/|$[својства лок 'Издаваштву']" + +#: 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 "Скенирање и ОЦР|/|$[својства лок 'Скенирању и ОЦР‑у']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Приказивачи|/|$[својства лок 'Приказивачима']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Интернет|/|$[својства лок 'Интернету']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Ћаскање|/|$[својства лок 'Ћаскању']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Дељење фајлова|/|$[својства лок 'Дељењу фајлова']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Е‑пошта|/|$[својства лок 'Е‑пошти']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Веб прегледачи|/|$[својства лок 'Веб прегледачима']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Мултимедија|/|$[својства лок 'Мултимедији']" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Канцеларија|/|$[својства лок 'Канцеларији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Систем и поставке|/|$[својства лок 'Систему и поставкама']" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:395 +#, kde-format +msgid "Local bundle" +msgstr "Локална свеза" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1225 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:535 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Лош апстрим УРЛ ‘%1’" + +# >> @item unknown licence +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:110 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:239 +#, kde-format +msgid "Unknown" +msgstr "непозната" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:115 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:366 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:374 +#, kde-format +msgid "Retrieving size information" +msgstr "Добављам податке о величини..." + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:368 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:376 +#, kde-format +msgid "Unknown size" +msgstr "непозната величина" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:370 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 за преузимање, %2 на диску" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:378 +#, 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:102 +#, kde-format +msgid "Could not add the source %1" +msgstr "Не могу да додам извор %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:208 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "Уклањам..." + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:208 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:220 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:224 +#, fuzzy, kde-format +#| msgid "Could not add the source %1" +msgid "Could not find %1" +msgstr "Не могу да додам извор %1" + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:359 +#, fuzzy, kde-format +#| msgid "Flatpak repository URI (*.flatpakrepo)" +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "УРИ флатпак ризнице (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:40 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:338 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, 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:128 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:188 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgid "Applications" +msgstr "Програми|/|$[својства лок 'Програмима']" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:222 +#, kde-format +msgid "Plasma Addons" +msgstr "Додаци за Плазму" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:222 +#, kde-format +msgid "Application Addons" +msgstr "Додаци за програме" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:346 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:353 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:356 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:367 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Лоша позадина %1, обратите се дистрибутеру." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:376 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:380 +#, fuzzy, kde-format +#| msgid "Invalid %1 backend, contact your distributor." +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Лоша позадина %1, обратите се дистрибутеру." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:390 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:563 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Погрешан УРИ К‑новотарија: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:238 +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:240 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:150 +#, kde-format +msgid "Log in information for %1" +msgstr "Пријавни подаци за %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:250 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Плазма додаци|/|$[својства лок 'Плазма додацима']" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Плазма виџети|/|$[својства лок 'Плазма виџетима']" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Фонтови|/|$[својства лок 'Фонтовима']" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:223 +#, 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 +#, fuzzy, kde-format +#| msgid "Cannot fetch sources" +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +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 +#, fuzzy, kde-format +#| msgid "A change by '%1' suggests your system to be rebooted." +msgid "A change by '%1' suggests your system to be restarted." +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 +#, fuzzy, kde-format +#| msgid "The system will have to be rebooted." +msgid "The system will have to be restarted." +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:121 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:140 +#, kde-format +msgid "Offline Updates" +msgstr "Допуне ван везе" + +# >! Plurals. +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:122 +#, fuzzy, kde-format +#| msgid "" +#| "Failed to update %1 packages\n" +#| "%2" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Не могу да ажурирам %1 пакета.\n" +"%2|/|Не могу да ажурирам %1 $[множ ^1 пакет пакета пакета].\n" +"%2" +msgstr[1] "" +"Не могу да ажурирам %1 пакета.\n" +"%2|/|Не могу да ажурирам %1 $[множ ^1 пакет пакета пакета].\n" +"%2" +msgstr[2] "" +"Не могу да ажурирам %1 пакета.\n" +"%2|/|Не могу да ажурирам %1 $[множ ^1 пакет пакета пакета].\n" +"%2" +msgstr[3] "" +"Не могу да ажурирам %1 пакета.\n" +"%2|/|Не могу да ажурирам %1 $[множ ^1 пакет пакета пакета].\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:124 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:142 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:124 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Failed" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Пропало." + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Failed" +msgid "Repair Failed" +msgstr "Пропало." + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:132 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:141 +#, fuzzy, kde-format +#| msgid "Successfully updated %1 packages" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +"Успешно ажурирано %1 пакета.|/|Успешно $[множ ^1 ажуриран ажурирана " +"ажурирано] %1 $[множ ^1 пакет пакета пакета]." +msgstr[1] "" +"Успешно ажурирано %1 пакета.|/|Успешно $[множ ^1 ажуриран ажурирана " +"ажурирано] %1 $[множ ^1 пакет пакета пакета]." +msgstr[2] "" +"Успешно ажурирано %1 пакета.|/|Успешно $[множ ^1 ажуриран ажурирана " +"ажурирано] %1 $[множ ^1 пакет пакета пакета]." +msgstr[3] "" +"Успешно ажурирано %1 пакета.|/|Успешно $[множ ^1 ажуриран ажурирана " +"ажурирано] %1 $[множ ^1 пакет пакета пакета]." + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:255 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:295 +#, kde-format +msgid "Obsoletes:" +msgstr "Застарело:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:296 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:297 +#, kde-format +msgid "Update State:" +msgstr "Стање допуна:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:298 +#, kde-format +msgid "Restart:" +msgstr "Поновно покретање:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:301 +#, kde-format +msgid "Vendor:" +msgstr "Издавач:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:321 +#, 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:104 +#, kde-format +msgid "Repository URL:" +msgstr "УРЛ ризнице:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:217 +#, kde-format +msgid "Packages to remove" +msgstr "Пакети за уклањање" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:217 +#, 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:233 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:325 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:290 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Потребна измена медијума типа „%1“.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:338 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, 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:432 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:302 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Недостаје потпис за %1 у %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:433 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:303 +#, 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:192 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:192 +#, 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:51 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:368 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:62 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:120 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "Набраја све позадине које треба учитати, раздвојене запетама." + +#: libdiscover/resources/AbstractResource.cpp:99 +#, kde-format +msgid "Broken" +msgstr "нарушено" + +#: libdiscover/resources/AbstractResource.cpp:100 +#, kde-format +msgid "Available" +msgstr "доступно" + +#: libdiscover/resources/AbstractResource.cpp:101 +#, kde-format +msgid "Installed" +msgstr "инсталирано" + +#: libdiscover/resources/AbstractResource.cpp:102 +#, kde-format +msgid "Upgradeable" +msgstr "надоградиво" + +#: libdiscover/resources/AbstractResource.cpp:242 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:103 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Провери има ли допуна" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Offline Updates" +msgid "View Updates" +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:145 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "допуне програма" + +#: libdiscover/UpdateModel/UpdateModel.cpp:146 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "допуне система" + +#: libdiscover/UpdateModel/UpdateModel.cpp:147 +#, fuzzy, kde-format +#| msgid "Plasma Addons" +msgctxt "@item:inlistbox" +msgid "Addons" +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..ffce3fb --- /dev/null +++ b/po/sr/plasma-discover-notifier.po @@ -0,0 +1,150 @@ +# Translation of muon-notifier.po into Serbian. +# Chusslove Illich , 2015. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-04-15 03:50+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:100 +#, kde-format +msgid "View Updates" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:159 +#, kde-format +msgid "Security updates available" +msgstr "Доступне су безбедносне допуне" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgid "Updates available" +msgstr "Доступне су допуне" + +#: notifier/DiscoverNotifier.cpp:163 +#, kde-format +msgid "System up to date" +msgstr "Систем је ажуран" + +#: notifier/DiscoverNotifier.cpp:165 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:167 +#, kde-format +msgid "Offline" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:198 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:199 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:200 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" + +#: notifier/DiscoverNotifier.cpp:217 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:218 +#, fuzzy, kde-format +#| msgid "Updates available" +msgid "Upgrade available" +msgstr "Доступне су допуне" + +#: notifier/DiscoverNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:51 +#, fuzzy, kde-format +#| msgid "System up to date" +msgid "System update status notifier" +msgstr "Систем је ажуран" + +#: notifier/main.cpp:52 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" + +#: notifier/main.cpp:57 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: notifier/main.cpp:58 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: notifier/main.cpp:64 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:66 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:66 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:50 notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Updates" +msgstr "" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "See Updates..." +msgstr "" + +#: notifier/NotifierItem.cpp:67 +#, kde-format +msgid "Refresh..." +msgstr "" + +#: notifier/NotifierItem.cpp:71 +#, kde-format +msgid "Restart..." +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..c61584f --- /dev/null +++ b/po/sr/plasma-discover.po @@ -0,0 +1,855 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-06-06 02:13+0200\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:177 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:260 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Не могу да нађем категорију „%1“" + +#: discover/DiscoverObject.cpp:294 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:297 discover/DiscoverObject.cpp:324 +#, kde-format +msgid "Couldn't open %1" +msgstr "Не могу да отворим %1" + +#: discover/main.cpp:46 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Непосредно отвори задати програм по имену пакета" + +#: discover/main.cpp:47 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Отвори програмом који уме да рукује датим МИМЕ типом" + +#: discover/main.cpp:48 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Прикажи списак уноса са категоријом" + +#: discover/main.cpp:49 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Отвори Oткривач у датом режиму. Режими одговарају дугмадима траке алатки." + +#: discover/main.cpp:50 +#, kde-format +msgid "List all the available modes." +msgstr "Наброји све доступне режиме." + +#: discover/main.cpp:51 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Сажети режим (једно од: auto, compact, full)." + +#: discover/main.cpp:52 +#, kde-format +msgid "Local package file to install" +msgstr "Локални пакет за инсталирање." + +#: discover/main.cpp:53 +#, kde-format +msgid "List all the available backends." +msgstr "Наброји све доступне позадине." + +# >> %1 is one of categories from libmuon +#: discover/main.cpp:54 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search string." +msgstr "Тражи у „%1“...|/|Тражи у „$[лок %1]“..." + +#: discover/main.cpp:55 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:57 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Подршка за УРЛ шему appstream:." + +#: discover/main.cpp:104 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Oткривач" + +#: discover/main.cpp:104 +#, kde-format +msgid "An application explorer" +msgstr "Истраживач програма" + +#: discover/main.cpp:105 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010–2016, развојни тим Плазме" + +#: discover/main.cpp:106 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Алекс Пол Гонзалез" + +#: discover/main.cpp:107 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Џонатан Томас" + +#: discover/main.cpp:112 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:113 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:125 +#, kde-format +msgid "Available backends:\n" +msgstr "Доступне позадине:\n" + +#: discover/main.cpp:163 +#, kde-format +msgid "Available modes:\n" +msgstr "Доступни режими:\n" + +#: discover/qml/AddonsView.qml:16 discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Addons" +msgstr "Додаци" + +#: discover/qml/AddonsView.qml:70 +#, kde-format +msgid "Apply Changes" +msgstr "Примени измене" + +#: discover/qml/AddonsView.qml:77 +#, kde-format +msgid "Discard" +msgstr "Одбаци" + +#: discover/qml/AddonsView.qml:88 +#, kde-format +msgid "More..." +msgstr "Више..." + +#: discover/qml/AddSourceDialog.qml:33 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:64 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Додаци" + +#: discover/qml/AddSourceDialog.qml:76 discover/qml/DiscoverWindow.qml:243 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:137 discover/qml/UpdatesPage.qml:106 +#, kde-format +msgid "Cancel" +msgstr "Одустани" + +#: discover/qml/ApplicationDelegate.qml:89 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:113 +#: discover/qml/ApplicationPage.qml:146 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Оцена:" +msgstr[1] "Оцена:" +msgstr[2] "Оцена:" +msgstr[3] "Оцена:" + +#: discover/qml/ApplicationDelegate.qml:113 +#: discover/qml/ApplicationPage.qml:146 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:71 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "Извор:" + +#: discover/qml/ApplicationPage.qml:82 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:185 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:225 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Рецензирај" + +#: discover/qml/ApplicationPage.qml:233 +#, 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:265 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:267 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:272 +#, kde-format +msgid "Install to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:274 +#, kde-format +msgid "Install and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:311 +#, kde-format +msgid "Category:" +msgstr "Категорија:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:335 +#, kde-format +msgid "Version:" +msgstr "Издање:" + +#: discover/qml/ApplicationPage.qml:344 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:353 +#, kde-format +msgid "Size:" +msgstr "Величина:" + +#: discover/qml/ApplicationPage.qml:362 +#, kde-format +msgid "Source:" +msgstr "Извор:" + +#: discover/qml/ApplicationPage.qml:371 +#, kde-format +msgid "License:" +msgstr "Лиценца:" + +#: discover/qml/ApplicationPage.qml:378 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:390 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:398 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:399 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:407 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a problem" +msgstr "" + +# >> @title +#: discover/qml/ApplicationsListPage.qml:58 +#, fuzzy, kde-format +#| msgid "Search" +msgid "Search: %1" +msgstr "Претрага" + +#: discover/qml/ApplicationsListPage.qml:77 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "Претрага: %1" + +#: discover/qml/ApplicationsListPage.qml:80 +#, kde-format +msgid "Name" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:89 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "Оцена:" + +#: discover/qml/ApplicationsListPage.qml:98 +#, fuzzy, kde-format +#| msgid "Size:" +msgid "Size" +msgstr "Величина:" + +#: discover/qml/ApplicationsListPage.qml:107 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:151 +#, fuzzy, kde-format +#| msgid "Sorry, nothing found..." +msgid "Sorry, nothing found" +msgstr "Ништа није нађено." + +#: discover/qml/ApplicationsListPage.qml:165 +#, kde-format +msgid "Still looking..." +msgstr "Још тражим..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:54 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Учитавам..." + +#: discover/qml/BrowsingPage.qml:71 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:118 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Извршавање под кореном није препоручљиво нити потребно." + +# >> @title +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Претрага" + +# >> @title +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Инсталирано" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgid "Fetching updates..." +msgstr "Добављам допуне..." + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Up to date" +msgstr "Допуне" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Допуна (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, fuzzy, kde-format +#| msgid "" +#| "Could not close the application, there are tasks that need to be done." +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Не могу да затворим програм, има још недовршених задатака." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Не могу да нађем ресурс: %1" + +#: discover/qml/DiscoverWindow.qml:224 +#, kde-format +msgid "Show all" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:224 +#, kde-format +msgid "Hide" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:231 discover/qml/SourcesPage.qml:127 +#, kde-format +msgid "Proceed" +msgstr "Настави" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, fuzzy, kde-format +#| msgid "More Information..." +msgid "Submitting usage information..." +msgstr "Више података..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Contribute..." +msgstr "Више..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Инсталирај" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +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:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Задаци (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:44 +#, kde-format +msgid "Tasks" +msgstr "Задаци" + +#: discover/qml/ProgressView.qml:85 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:86 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:77 +#, fuzzy, kde-format +#| msgid "Version:" +msgid "Version: %1" +msgstr "Издање:" + +#: discover/qml/ReviewDelegate.qml:100 +#, kde-format +msgid "unknown reviewer" +msgstr "непознат рецензент" + +#: discover/qml/ReviewDelegate.qml:101 +#, kde-format +msgid "%1 by %2" +msgstr "%1 — %2" + +#: discover/qml/ReviewDelegate.qml:101 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:150 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:158 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:170 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:186 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:22 +#, fuzzy, kde-format +#| msgid "Reviewing '%1'" +msgid "Reviewing %1" +msgstr "Рецензија „%1“" + +#: discover/qml/ReviewDialog.qml:34 +#, kde-format +msgid "Rating:" +msgstr "Оцена:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Name:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:46 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:65 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Write the title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the review" +msgstr "" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Ажурирам..." + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:83 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:55 +#, fuzzy, kde-format +#| msgid "Resources for '%1'" +msgid "Reviews for %1" +msgstr "Ресурси за „%1“" + +#: discover/qml/ReviewsPage.qml:66 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Write a Review..." +msgstr "Рецензирај" + +#: discover/qml/ReviewsPage.qml:70 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:41 +#, kde-format +msgid "Search..." +msgstr "Тражи..." + +# >> %1 is one of categories from libmuon +#: discover/qml/SearchField.qml:41 +#, kde-format +msgid "Search in '%1'..." +msgstr "Тражи у „%1“...|/|Тражи у „$[лок %1]“..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (подразумевано)" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Додај извор" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Учини подразумеваним" + +#: discover/qml/SourcesPage.qml:171 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:181 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:186 +#, kde-format +msgid "Delete the origin" +msgstr "Обриши извориште" + +#: discover/qml/SourcesPage.qml:197 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:236 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Допуне" + +#: discover/qml/UpdatesPage.qml:39 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Update Issue" +msgstr "Допуне" + +#: discover/qml/UpdatesPage.qml:52 +#, kde-format +msgid "OK" +msgstr "" + +#: discover/qml/UpdatesPage.qml:75 +#, kde-format +msgid "Update Selected" +msgstr "Ажурирај изабрано" + +#: discover/qml/UpdatesPage.qml:75 +#, kde-format +msgid "Update All" +msgstr "Ажурирај све" + +#: discover/qml/UpdatesPage.qml:124 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "All updates selected (%1)" +msgstr "Изабране допуне" + +#: discover/qml/UpdatesPage.qml:124 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Изабране допуне" +msgstr[1] "Изабране допуне" +msgstr[2] "Изабране допуне" +msgstr[3] "Изабране допуне" + +#: discover/qml/UpdatesPage.qml:180 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:260 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:273 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:296 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "Инсталирај" + +#: discover/qml/UpdatesPage.qml:327 +#, kde-format +msgid "More Information..." +msgstr "Више података..." + +#: discover/qml/UpdatesPage.qml:355 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Добављам допуне..." + +#: discover/qml/UpdatesPage.qml:368 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Допуне" + +#: discover/qml/UpdatesPage.qml:374 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "The system is up to date" +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Систем је ажуран" + +#: discover/qml/UpdatesPage.qml:379 discover/qml/UpdatesPage.qml:385 +#: discover/qml/UpdatesPage.qml:391 +#, fuzzy, kde-format +#| msgid "Updates" +msgctxt "@info" +msgid "Up to date" +msgstr "Допуне" + +#: discover/qml/UpdatesPage.qml:397 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Треба проверити допуне" + +#: discover/qml/UpdatesPage.qml:403 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..fd6b843 --- /dev/null +++ b/po/sr@ijekavian/libdiscover.po @@ -0,0 +1,1701 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-06-17 02:09+0200\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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Игре на табли|/|$[својства лок 'Играма на табли']" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:97 +#, kde-format +msgid "Proprietary" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:148 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:194 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:243 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Лажна категорија|/|$[својства лок 'Лажној категорији']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "Лажна|/|$[својства лок 'Лажној']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "Лажни додаци|/|$[својства лок 'Лажним додацима']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "Лажна 1|/|$[својства лок 'Лажној 1']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "Лажна са нечим|/|$[својства лок 'Лажној са нечим']" + +#: 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']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "Лажна са подоста нечим|/|$[својства лок 'Лажној са подоста нечим']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "Лажна 3|/|$[својства лок 'Лажној 3']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "Лажна 4|/|$[својства лок 'Лажној 4']" + +#: 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 "Програми|/|$[својства лок 'Програмима']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Допунске алатке|/|$[својства лок 'Допунским алаткама']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Приступачност|/|$[својства лок 'Приступачности']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Програмерске алатке|/|$[својства лок 'Програмерским алаткама']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Исправљање|/|$[својства лок 'Исправљању']" + +#: 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 "" +"Дизајнирање графичког сучеља|/|$[својства лок 'Дизајнирању графичког сучеља']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "ИДЕ‑ови|/|$[својства лок 'ИДЕ‑овима']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Локализација|/|$[својства лок 'Локализацији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Профилисање|/|$[својства лок 'Профилисању']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Развој за Веб|/|$[својства лок 'Развоју за Веб']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Образовање|/|$[својства лок 'Образовању']" + +#: 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 "" +"Природне науке и инжењерство|/|$[својства лок 'Природним наукама и " +"инжењерству']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Астрономија|/|$[својства лок 'Астрономији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Биологија|/|$[својства лок 'Биологији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Хемија|/|$[својства лок 'Хемији']" + +#: 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 "Рачунарство и роботика|/|$[својства лок 'Рачунарству и роботици']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Електроника|/|$[својства лок 'Електроници']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Инжењерство|/|$[својства лок 'Инжењерству']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Географија|/|$[својства лок 'Географији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Геологија|/|$[својства лок 'Геологији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Математика|/|$[својства лок 'Математици']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Физика|/|$[својства лок 'Физици']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Игре|/|$[својства лок 'Играма']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Аркадне|/|$[својства лок 'Аркадним']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Игре на табли|/|$[својства лок 'Играма на табли']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Игре са картама|/|$[својства лок 'Играма са картама']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Логичке|/|$[својства лок 'Логичким']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Играње улога|/|$[својства лок 'Игрању улога']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Симулација|/|$[својства лок 'Симулацији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Спортови|/|$[својства лок 'Спортовима']" + +#: 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 "Програми|/|$[својства лок 'Програмима']" + +#: 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 "Симулација|/|$[својства лок 'Симулацији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Графика|/|$[својства лок 'Графици']" + +#: 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Д-у']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Цртање|/|$[својства лок 'Цртању']" + +#: 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 "Сликање и ретуширање|/|$[својства лок 'Сликању и ретуширању']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Фотографија|/|$[својства лок 'Фотографији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Издаваштво|/|$[својства лок 'Издаваштву']" + +#: 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 "Скенирање и ОЦР|/|$[својства лок 'Скенирању и ОЦР‑у']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Приказивачи|/|$[својства лок 'Приказивачима']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Интернет|/|$[својства лок 'Интернету']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Ћаскање|/|$[својства лок 'Ћаскању']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Дијељење фајлова|/|$[својства лок 'Дијељењу фајлова']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Е‑пошта|/|$[својства лок 'Е‑пошти']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Веб прегледачи|/|$[својства лок 'Веб прегледачима']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Мултимедија|/|$[својства лок 'Мултимедији']" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Канцеларија|/|$[својства лок 'Канцеларији']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Систем и поставке|/|$[својства лок 'Систему и поставкама']" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:395 +#, kde-format +msgid "Local bundle" +msgstr "Локална свеза" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1225 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:535 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Лош апстрим УРЛ ‘%1’" + +# >> @item unknown licence +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:110 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:239 +#, kde-format +msgid "Unknown" +msgstr "непозната" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:115 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:366 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:374 +#, kde-format +msgid "Retrieving size information" +msgstr "Добављам податке о величини..." + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:368 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:376 +#, kde-format +msgid "Unknown size" +msgstr "непозната величина" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:370 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 за преузимање, %2 на диску" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:378 +#, 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:102 +#, kde-format +msgid "Could not add the source %1" +msgstr "Не могу да додам извор %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:208 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "Уклањам..." + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:208 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:220 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:224 +#, fuzzy, kde-format +#| msgid "Could not add the source %1" +msgid "Could not find %1" +msgstr "Не могу да додам извор %1" + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:359 +#, fuzzy, kde-format +#| msgid "Flatpak repository URI (*.flatpakrepo)" +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "УРИ флатпак ризнице (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:40 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:338 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, 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:128 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:188 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgid "Applications" +msgstr "Програми|/|$[својства лок 'Програмима']" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:222 +#, kde-format +msgid "Plasma Addons" +msgstr "Додаци за Плазму" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:222 +#, kde-format +msgid "Application Addons" +msgstr "Додаци за програме" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:346 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:353 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:356 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:367 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Лоша позадина %1, обратите се дистрибутеру." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:376 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:380 +#, fuzzy, kde-format +#| msgid "Invalid %1 backend, contact your distributor." +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Лоша позадина %1, обратите се дистрибутеру." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:390 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:563 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Погрешан УРИ К‑новотарија: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:238 +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:240 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:150 +#, kde-format +msgid "Log in information for %1" +msgstr "Пријавни подаци за %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:250 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Плазма додаци|/|$[својства лок 'Плазма додацима']" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Плазма виџети|/|$[својства лок 'Плазма виџетима']" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Фонтови|/|$[својства лок 'Фонтовима']" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:223 +#, 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 +#, fuzzy, kde-format +#| msgid "Cannot fetch sources" +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +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 +#, fuzzy, kde-format +#| msgid "A change by '%1' suggests your system to be rebooted." +msgid "A change by '%1' suggests your system to be restarted." +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 +#, fuzzy, kde-format +#| msgid "The system will have to be rebooted." +msgid "The system will have to be restarted." +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:121 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:140 +#, kde-format +msgid "Offline Updates" +msgstr "Допуне ван везе" + +# >! Plurals. +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:122 +#, fuzzy, kde-format +#| msgid "" +#| "Failed to update %1 packages\n" +#| "%2" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Не могу да ажурирам %1 пакета.\n" +"%2|/|Не могу да ажурирам %1 $[множ ^1 пакет пакета пакета].\n" +"%2" +msgstr[1] "" +"Не могу да ажурирам %1 пакета.\n" +"%2|/|Не могу да ажурирам %1 $[множ ^1 пакет пакета пакета].\n" +"%2" +msgstr[2] "" +"Не могу да ажурирам %1 пакета.\n" +"%2|/|Не могу да ажурирам %1 $[множ ^1 пакет пакета пакета].\n" +"%2" +msgstr[3] "" +"Не могу да ажурирам %1 пакета.\n" +"%2|/|Не могу да ажурирам %1 $[множ ^1 пакет пакета пакета].\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:124 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:142 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:124 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Failed" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Пропало." + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Failed" +msgid "Repair Failed" +msgstr "Пропало." + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:132 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:141 +#, fuzzy, kde-format +#| msgid "Successfully updated %1 packages" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +"Успешно ажурирано %1 пакета.|/|Успешно $[множ ^1 ажуриран ажурирана " +"ажурирано] %1 $[множ ^1 пакет пакета пакета]." +msgstr[1] "" +"Успешно ажурирано %1 пакета.|/|Успешно $[множ ^1 ажуриран ажурирана " +"ажурирано] %1 $[множ ^1 пакет пакета пакета]." +msgstr[2] "" +"Успешно ажурирано %1 пакета.|/|Успешно $[множ ^1 ажуриран ажурирана " +"ажурирано] %1 $[множ ^1 пакет пакета пакета]." +msgstr[3] "" +"Успешно ажурирано %1 пакета.|/|Успешно $[множ ^1 ажуриран ажурирана " +"ажурирано] %1 $[множ ^1 пакет пакета пакета]." + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:255 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:295 +#, kde-format +msgid "Obsoletes:" +msgstr "Застарело:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:296 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:297 +#, kde-format +msgid "Update State:" +msgstr "Стање допуна:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:298 +#, kde-format +msgid "Restart:" +msgstr "Поновно покретање:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:301 +#, kde-format +msgid "Vendor:" +msgstr "Издавач:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:321 +#, 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:104 +#, kde-format +msgid "Repository URL:" +msgstr "УРЛ ризнице:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:217 +#, kde-format +msgid "Packages to remove" +msgstr "Пакети за уклањање" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:217 +#, 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:233 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:325 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:290 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Потребна измјена медијума типа „%1“.\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:338 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, 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:432 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:302 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Недостаје потпис за %1 у %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:433 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:303 +#, 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:192 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:192 +#, 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:51 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:368 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:62 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:120 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "Набраја све позадине које треба учитати, раздвојене запетама." + +#: libdiscover/resources/AbstractResource.cpp:99 +#, kde-format +msgid "Broken" +msgstr "нарушено" + +#: libdiscover/resources/AbstractResource.cpp:100 +#, kde-format +msgid "Available" +msgstr "доступно" + +#: libdiscover/resources/AbstractResource.cpp:101 +#, kde-format +msgid "Installed" +msgstr "инсталирано" + +#: libdiscover/resources/AbstractResource.cpp:102 +#, kde-format +msgid "Upgradeable" +msgstr "надоградиво" + +#: libdiscover/resources/AbstractResource.cpp:242 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:103 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Провјери има ли допуна" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Offline Updates" +msgid "View Updates" +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:145 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "допуне програма" + +#: libdiscover/UpdateModel/UpdateModel.cpp:146 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "допуне система" + +#: libdiscover/UpdateModel/UpdateModel.cpp:147 +#, fuzzy, kde-format +#| msgid "Plasma Addons" +msgctxt "@item:inlistbox" +msgid "Addons" +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..77ec7ea --- /dev/null +++ b/po/sr@ijekavian/plasma-discover-notifier.po @@ -0,0 +1,150 @@ +# Translation of muon-notifier.po into Serbian. +# Chusslove Illich , 2015. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-04-15 03:50+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:100 +#, kde-format +msgid "View Updates" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:159 +#, kde-format +msgid "Security updates available" +msgstr "Доступне су безбједносне допуне" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgid "Updates available" +msgstr "Доступне су допуне" + +#: notifier/DiscoverNotifier.cpp:163 +#, kde-format +msgid "System up to date" +msgstr "Систем је ажуран" + +#: notifier/DiscoverNotifier.cpp:165 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:167 +#, kde-format +msgid "Offline" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:198 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:199 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:200 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" + +#: notifier/DiscoverNotifier.cpp:217 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:218 +#, fuzzy, kde-format +#| msgid "Updates available" +msgid "Upgrade available" +msgstr "Доступне су допуне" + +#: notifier/DiscoverNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:51 +#, fuzzy, kde-format +#| msgid "System up to date" +msgid "System update status notifier" +msgstr "Систем је ажуран" + +#: notifier/main.cpp:52 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" + +#: notifier/main.cpp:57 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: notifier/main.cpp:58 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: notifier/main.cpp:64 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:66 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:66 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:50 notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Updates" +msgstr "" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "See Updates..." +msgstr "" + +#: notifier/NotifierItem.cpp:67 +#, kde-format +msgid "Refresh..." +msgstr "" + +#: notifier/NotifierItem.cpp:71 +#, kde-format +msgid "Restart..." +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..1a06104 --- /dev/null +++ b/po/sr@ijekavian/plasma-discover.po @@ -0,0 +1,855 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-06-06 02:13+0200\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:177 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:260 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Не могу да нађем категорију „%1“" + +#: discover/DiscoverObject.cpp:294 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:297 discover/DiscoverObject.cpp:324 +#, kde-format +msgid "Couldn't open %1" +msgstr "Не могу да отворим %1" + +#: discover/main.cpp:46 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Непосредно отвори задати програм по имену пакета" + +#: discover/main.cpp:47 +#, kde-format +msgid "Open with a program that can deal with the given mimetype." +msgstr "Отвори програмом који уме да рукује датим МИМЕ типом" + +#: discover/main.cpp:48 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Прикажи списак уноса са категоријом" + +#: discover/main.cpp:49 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Отвори Oткривач у датом режиму. Режими одговарају дугмадима траке алатки." + +#: discover/main.cpp:50 +#, kde-format +msgid "List all the available modes." +msgstr "Наброји све доступне режиме." + +#: discover/main.cpp:51 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Сажети режим (једно од: auto, compact, full)." + +#: discover/main.cpp:52 +#, kde-format +msgid "Local package file to install" +msgstr "Локални пакет за инсталирање." + +#: discover/main.cpp:53 +#, kde-format +msgid "List all the available backends." +msgstr "Наброји све доступне позадине." + +# >> %1 is one of categories from libmuon +#: discover/main.cpp:54 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search string." +msgstr "Тражи у „%1“...|/|Тражи у „$[лок %1]“..." + +#: discover/main.cpp:55 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:57 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Подршка за УРЛ шему appstream:." + +#: discover/main.cpp:104 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Oткривач" + +#: discover/main.cpp:104 +#, kde-format +msgid "An application explorer" +msgstr "Истраживач програма" + +#: discover/main.cpp:105 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010–2016, развојни тим Плазме" + +#: discover/main.cpp:106 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Алекс Пол Гонзалез" + +#: discover/main.cpp:107 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Џонатан Томас" + +#: discover/main.cpp:112 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:113 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:125 +#, kde-format +msgid "Available backends:\n" +msgstr "Доступне позадине:\n" + +#: discover/main.cpp:163 +#, kde-format +msgid "Available modes:\n" +msgstr "Доступни режими:\n" + +#: discover/qml/AddonsView.qml:16 discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Addons" +msgstr "Додаци" + +#: discover/qml/AddonsView.qml:70 +#, kde-format +msgid "Apply Changes" +msgstr "Примени измене" + +#: discover/qml/AddonsView.qml:77 +#, kde-format +msgid "Discard" +msgstr "Одбаци" + +#: discover/qml/AddonsView.qml:88 +#, kde-format +msgid "More..." +msgstr "Више..." + +#: discover/qml/AddSourceDialog.qml:33 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:64 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Додаци" + +#: discover/qml/AddSourceDialog.qml:76 discover/qml/DiscoverWindow.qml:243 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:137 discover/qml/UpdatesPage.qml:106 +#, kde-format +msgid "Cancel" +msgstr "Одустани" + +#: discover/qml/ApplicationDelegate.qml:89 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:113 +#: discover/qml/ApplicationPage.qml:146 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Оцена:" +msgstr[1] "Оцена:" +msgstr[2] "Оцена:" +msgstr[3] "Оцена:" + +#: discover/qml/ApplicationDelegate.qml:113 +#: discover/qml/ApplicationPage.qml:146 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:71 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "Извор:" + +#: discover/qml/ApplicationPage.qml:82 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:185 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:225 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Рецензирај" + +#: discover/qml/ApplicationPage.qml:233 +#, 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:265 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:267 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:272 +#, kde-format +msgid "Install to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:274 +#, kde-format +msgid "Install and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:311 +#, kde-format +msgid "Category:" +msgstr "Категорија:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:335 +#, kde-format +msgid "Version:" +msgstr "Издање:" + +#: discover/qml/ApplicationPage.qml:344 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:353 +#, kde-format +msgid "Size:" +msgstr "Величина:" + +#: discover/qml/ApplicationPage.qml:362 +#, kde-format +msgid "Source:" +msgstr "Извор:" + +#: discover/qml/ApplicationPage.qml:371 +#, kde-format +msgid "License:" +msgstr "Лиценца:" + +#: discover/qml/ApplicationPage.qml:378 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:390 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:398 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:399 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:407 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a problem" +msgstr "" + +# >> @title +#: discover/qml/ApplicationsListPage.qml:58 +#, fuzzy, kde-format +#| msgid "Search" +msgid "Search: %1" +msgstr "Претрага" + +#: discover/qml/ApplicationsListPage.qml:77 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "Претрага: %1" + +#: discover/qml/ApplicationsListPage.qml:80 +#, kde-format +msgid "Name" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:89 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "Оцена:" + +#: discover/qml/ApplicationsListPage.qml:98 +#, fuzzy, kde-format +#| msgid "Size:" +msgid "Size" +msgstr "Величина:" + +#: discover/qml/ApplicationsListPage.qml:107 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:151 +#, fuzzy, kde-format +#| msgid "Sorry, nothing found..." +msgid "Sorry, nothing found" +msgstr "Ништа није нађено." + +#: discover/qml/ApplicationsListPage.qml:165 +#, kde-format +msgid "Still looking..." +msgstr "Још тражим..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:54 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Учитавам..." + +#: discover/qml/BrowsingPage.qml:71 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:118 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "Извршавање под кореном није препоручљиво нити потребно." + +# >> @title +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Претрага" + +# >> @title +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Инсталирано" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgid "Fetching updates..." +msgstr "Добављам допуне..." + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Up to date" +msgstr "Допуне" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Допуна (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, fuzzy, kde-format +#| msgid "" +#| "Could not close the application, there are tasks that need to be done." +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Не могу да затворим програм, има још недовршених задатака." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Не могу да нађем ресурс: %1" + +#: discover/qml/DiscoverWindow.qml:224 +#, kde-format +msgid "Show all" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:224 +#, kde-format +msgid "Hide" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:231 discover/qml/SourcesPage.qml:127 +#, kde-format +msgid "Proceed" +msgstr "Настави" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, fuzzy, kde-format +#| msgid "More Information..." +msgid "Submitting usage information..." +msgstr "Више података..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Contribute..." +msgstr "Више..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Инсталирај" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +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:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Задаци (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:44 +#, kde-format +msgid "Tasks" +msgstr "Задаци" + +#: discover/qml/ProgressView.qml:85 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:86 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:77 +#, fuzzy, kde-format +#| msgid "Version:" +msgid "Version: %1" +msgstr "Издање:" + +#: discover/qml/ReviewDelegate.qml:100 +#, kde-format +msgid "unknown reviewer" +msgstr "непознат рецензент" + +#: discover/qml/ReviewDelegate.qml:101 +#, kde-format +msgid "%1 by %2" +msgstr "%1 — %2" + +#: discover/qml/ReviewDelegate.qml:101 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:150 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:158 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:170 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:186 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:22 +#, fuzzy, kde-format +#| msgid "Reviewing '%1'" +msgid "Reviewing %1" +msgstr "Рецензија „%1“" + +#: discover/qml/ReviewDialog.qml:34 +#, kde-format +msgid "Rating:" +msgstr "Оцена:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Name:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:46 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:65 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Write the title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the review" +msgstr "" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Ажурирам..." + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:83 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:55 +#, fuzzy, kde-format +#| msgid "Resources for '%1'" +msgid "Reviews for %1" +msgstr "Ресурси за „%1“" + +#: discover/qml/ReviewsPage.qml:66 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Write a Review..." +msgstr "Рецензирај" + +#: discover/qml/ReviewsPage.qml:70 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:41 +#, kde-format +msgid "Search..." +msgstr "Тражи..." + +# >> %1 is one of categories from libmuon +#: discover/qml/SearchField.qml:41 +#, kde-format +msgid "Search in '%1'..." +msgstr "Тражи у „%1“...|/|Тражи у „$[лок %1]“..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (подразумевано)" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Додај извор" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Учини подразумеваним" + +#: discover/qml/SourcesPage.qml:171 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:181 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:186 +#, kde-format +msgid "Delete the origin" +msgstr "Обриши извориште" + +#: discover/qml/SourcesPage.qml:197 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:236 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Допуне" + +#: discover/qml/UpdatesPage.qml:39 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Update Issue" +msgstr "Допуне" + +#: discover/qml/UpdatesPage.qml:52 +#, kde-format +msgid "OK" +msgstr "" + +#: discover/qml/UpdatesPage.qml:75 +#, kde-format +msgid "Update Selected" +msgstr "Ажурирај изабрано" + +#: discover/qml/UpdatesPage.qml:75 +#, kde-format +msgid "Update All" +msgstr "Ажурирај све" + +#: discover/qml/UpdatesPage.qml:124 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "All updates selected (%1)" +msgstr "Изабране допуне" + +#: discover/qml/UpdatesPage.qml:124 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Изабране допуне" +msgstr[1] "Изабране допуне" +msgstr[2] "Изабране допуне" +msgstr[3] "Изабране допуне" + +#: discover/qml/UpdatesPage.qml:180 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:260 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:273 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:296 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "Инсталирај" + +#: discover/qml/UpdatesPage.qml:327 +#, kde-format +msgid "More Information..." +msgstr "Више података..." + +#: discover/qml/UpdatesPage.qml:355 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Добављам допуне..." + +#: discover/qml/UpdatesPage.qml:368 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Допуне" + +#: discover/qml/UpdatesPage.qml:374 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "The system is up to date" +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Систем је ажуран" + +#: discover/qml/UpdatesPage.qml:379 discover/qml/UpdatesPage.qml:385 +#: discover/qml/UpdatesPage.qml:391 +#, fuzzy, kde-format +#| msgid "Updates" +msgctxt "@info" +msgid "Up to date" +msgstr "Допуне" + +#: discover/qml/UpdatesPage.qml:397 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Треба проверити допуне" + +#: discover/qml/UpdatesPage.qml:403 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..f3122b1 --- /dev/null +++ b/po/sr@ijekavianlatin/libdiscover.po @@ -0,0 +1,1702 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-06-17 02:09+0200\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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Igre na tabli|/|$[svojstva lok 'Igrama na tabli']" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:97 +#, kde-format +msgid "Proprietary" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:148 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:194 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:243 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Lažna kategorija|/|$[svojstva lok 'Lažnoj kategoriji']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "Lažna|/|$[svojstva lok 'Lažnoj']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "Lažni dodaci|/|$[svojstva lok 'Lažnim dodacima']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "Lažna 1|/|$[svojstva lok 'Lažnoj 1']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "Lažna 3|/|$[svojstva lok 'Lažnoj 3']" + +#: 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/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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: 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']" + +#: 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']" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:395 +#, kde-format +msgid "Local bundle" +msgstr "Lokalna sveza" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1225 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:535 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Loš apstrim URL ‘%1’" + +# >> @item unknown licence +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:110 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:239 +#, kde-format +msgid "Unknown" +msgstr "nepoznata" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:115 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:366 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:374 +#, kde-format +msgid "Retrieving size information" +msgstr "Dobavljam podatke o veličini..." + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:368 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:376 +#, kde-format +msgid "Unknown size" +msgstr "nepoznata veličina" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:370 +#, 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:378 +#, 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:102 +#, kde-format +msgid "Could not add the source %1" +msgstr "Ne mogu da dodam izvor %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:208 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "Uklanjam..." + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:208 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:220 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:224 +#, fuzzy, kde-format +#| msgid "Could not add the source %1" +msgid "Could not find %1" +msgstr "Ne mogu da dodam izvor %1" + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:359 +#, fuzzy, kde-format +#| msgid "Flatpak repository URI (*.flatpakrepo)" +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "URI Flatpak riznice (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:40 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:338 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, 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:128 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:188 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgid "Applications" +msgstr "Programi|/|$[svojstva lok 'Programima']" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:222 +#, kde-format +msgid "Plasma Addons" +msgstr "Dodaci za Plasmu" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:222 +#, kde-format +msgid "Application Addons" +msgstr "Dodaci za programe" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:346 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:353 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:356 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:367 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Loša pozadina %1, obratite se distributeru." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:376 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:380 +#, fuzzy, kde-format +#| msgid "Invalid %1 backend, contact your distributor." +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Loša pozadina %1, obratite se distributeru." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:390 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:563 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Pogrešan URI K‑novotarija: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:238 +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:240 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:150 +#, kde-format +msgid "Log in information for %1" +msgstr "Prijavni podaci za %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:250 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma dodaci|/|$[svojstva lok 'Plasma dodacima']" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma vidžeti|/|$[svojstva lok 'Plasma vidžetima']" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fontovi|/|$[svojstva lok 'Fontovima']" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:223 +#, 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 +#, fuzzy, kde-format +#| msgid "Cannot fetch sources" +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +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 +#, fuzzy, kde-format +#| msgid "A change by '%1' suggests your system to be rebooted." +msgid "A change by '%1' suggests your system to be restarted." +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 +#, fuzzy, kde-format +#| msgid "The system will have to be rebooted." +msgid "The system will have to be restarted." +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:121 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:140 +#, kde-format +msgid "Offline Updates" +msgstr "Dopune van veze" + +# >! Plurals. +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:122 +#, fuzzy, kde-format +#| msgid "" +#| "Failed to update %1 packages\n" +#| "%2" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Ne mogu da ažuriram %1 paketa.\n" +"%2|/|Ne mogu da ažuriram %1 $[množ ^1 paket paketa paketa].\n" +"%2" +msgstr[1] "" +"Ne mogu da ažuriram %1 paketa.\n" +"%2|/|Ne mogu da ažuriram %1 $[množ ^1 paket paketa paketa].\n" +"%2" +msgstr[2] "" +"Ne mogu da ažuriram %1 paketa.\n" +"%2|/|Ne mogu da ažuriram %1 $[množ ^1 paket paketa paketa].\n" +"%2" +msgstr[3] "" +"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:124 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:142 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:124 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Failed" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Propalo." + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Failed" +msgid "Repair Failed" +msgstr "Propalo." + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:132 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:141 +#, fuzzy, kde-format +#| msgid "Successfully updated %1 packages" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +"Uspešno ažurirano %1 paketa.|/|Uspešno $[množ ^1 ažuriran ažurirana " +"ažurirano] %1 $[množ ^1 paket paketa paketa]." +msgstr[1] "" +"Uspešno ažurirano %1 paketa.|/|Uspešno $[množ ^1 ažuriran ažurirana " +"ažurirano] %1 $[množ ^1 paket paketa paketa]." +msgstr[2] "" +"Uspešno ažurirano %1 paketa.|/|Uspešno $[množ ^1 ažuriran ažurirana " +"ažurirano] %1 $[množ ^1 paket paketa paketa]." +msgstr[3] "" +"Uspešno ažurirano %1 paketa.|/|Uspešno $[množ ^1 ažuriran ažurirana " +"ažurirano] %1 $[množ ^1 paket paketa paketa]." + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:255 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:295 +#, kde-format +msgid "Obsoletes:" +msgstr "Zastarelo:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:296 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:297 +#, kde-format +msgid "Update State:" +msgstr "Stanje dopuna:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:298 +#, kde-format +msgid "Restart:" +msgstr "Ponovno pokretanje:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:301 +#, kde-format +msgid "Vendor:" +msgstr "Izdavač:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:321 +#, 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:104 +#, kde-format +msgid "Repository URL:" +msgstr "URL riznice:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:217 +#, kde-format +msgid "Packages to remove" +msgstr "Paketi za uklanjanje" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:217 +#, 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:233 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:325 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:290 +#, 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:338 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, 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:432 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:302 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Nedostaje potpis za %1 u %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:433 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:303 +#, 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:192 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:192 +#, 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:51 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:368 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:62 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:120 +#, 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:99 +#, kde-format +msgid "Broken" +msgstr "narušeno" + +#: libdiscover/resources/AbstractResource.cpp:100 +#, kde-format +msgid "Available" +msgstr "dostupno" + +#: libdiscover/resources/AbstractResource.cpp:101 +#, kde-format +msgid "Installed" +msgstr "instalirano" + +#: libdiscover/resources/AbstractResource.cpp:102 +#, kde-format +msgid "Upgradeable" +msgstr "nadogradivo" + +#: libdiscover/resources/AbstractResource.cpp:242 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:103 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Provjeri ima li dopuna" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Offline Updates" +msgid "View Updates" +msgstr "Dopune van veze" + +#: 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:145 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "dopune programa" + +#: libdiscover/UpdateModel/UpdateModel.cpp:146 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "dopune sistema" + +#: libdiscover/UpdateModel/UpdateModel.cpp:147 +#, fuzzy, kde-format +#| msgid "Plasma Addons" +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Dodaci za Plasmu" \ 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..d4141a2 --- /dev/null +++ b/po/sr@ijekavianlatin/plasma-discover-notifier.po @@ -0,0 +1,150 @@ +# Translation of muon-notifier.po into Serbian. +# Chusslove Illich , 2015. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-04-15 03:50+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:100 +#, kde-format +msgid "View Updates" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:159 +#, kde-format +msgid "Security updates available" +msgstr "Dostupne su bezbjednosne dopune" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgid "Updates available" +msgstr "Dostupne su dopune" + +#: notifier/DiscoverNotifier.cpp:163 +#, kde-format +msgid "System up to date" +msgstr "Sistem je ažuran" + +#: notifier/DiscoverNotifier.cpp:165 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:167 +#, kde-format +msgid "Offline" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:198 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:199 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:200 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" + +#: notifier/DiscoverNotifier.cpp:217 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:218 +#, fuzzy, kde-format +#| msgid "Updates available" +msgid "Upgrade available" +msgstr "Dostupne su dopune" + +#: notifier/DiscoverNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:51 +#, fuzzy, kde-format +#| msgid "System up to date" +msgid "System update status notifier" +msgstr "Sistem je ažuran" + +#: notifier/main.cpp:52 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" + +#: notifier/main.cpp:57 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: notifier/main.cpp:58 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: notifier/main.cpp:64 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:66 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:66 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:50 notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Updates" +msgstr "" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "See Updates..." +msgstr "" + +#: notifier/NotifierItem.cpp:67 +#, kde-format +msgid "Refresh..." +msgstr "" + +#: notifier/NotifierItem.cpp:71 +#, kde-format +msgid "Restart..." +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..2978d2c --- /dev/null +++ b/po/sr@ijekavianlatin/plasma-discover.po @@ -0,0 +1,855 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-06-06 02:13+0200\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:177 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:260 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Ne mogu da nađem kategoriju „%1“" + +#: discover/DiscoverObject.cpp:294 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:297 discover/DiscoverObject.cpp:324 +#, kde-format +msgid "Couldn't open %1" +msgstr "Ne mogu da otvorim %1" + +#: discover/main.cpp:46 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Neposredno otvori zadati program po imenu paketa" + +#: discover/main.cpp:47 +#, 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:48 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Prikaži spisak unosa sa kategorijom" + +#: discover/main.cpp:49 +#, 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:50 +#, kde-format +msgid "List all the available modes." +msgstr "Nabroji sve dostupne režime." + +#: discover/main.cpp:51 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Sažeti režim (jedno od: auto, compact, full)." + +#: discover/main.cpp:52 +#, kde-format +msgid "Local package file to install" +msgstr "Lokalni paket za instaliranje." + +#: discover/main.cpp:53 +#, kde-format +msgid "List all the available backends." +msgstr "Nabroji sve dostupne pozadine." + +# >> %1 is one of categories from libmuon +#: discover/main.cpp:54 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search string." +msgstr "Traži u „%1“...|/|Traži u „$[lok %1]“..." + +#: discover/main.cpp:55 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:57 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Podrška za URL šemu appstream:." + +#: discover/main.cpp:104 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Otkrivač" + +#: discover/main.cpp:104 +#, kde-format +msgid "An application explorer" +msgstr "Istraživač programa" + +#: discover/main.cpp:105 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010–2016, razvojni tim Plasme" + +#: discover/main.cpp:106 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleks Pol Gonzalez" + +#: discover/main.cpp:107 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Džonatan Tomas" + +#: discover/main.cpp:112 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:113 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:125 +#, kde-format +msgid "Available backends:\n" +msgstr "Dostupne pozadine:\n" + +#: discover/main.cpp:163 +#, kde-format +msgid "Available modes:\n" +msgstr "Dostupni režimi:\n" + +#: discover/qml/AddonsView.qml:16 discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Addons" +msgstr "Dodaci" + +#: discover/qml/AddonsView.qml:70 +#, kde-format +msgid "Apply Changes" +msgstr "Primeni izmene" + +#: discover/qml/AddonsView.qml:77 +#, kde-format +msgid "Discard" +msgstr "Odbaci" + +#: discover/qml/AddonsView.qml:88 +#, kde-format +msgid "More..." +msgstr "Više..." + +#: discover/qml/AddSourceDialog.qml:33 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:64 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Dodaci" + +#: discover/qml/AddSourceDialog.qml:76 discover/qml/DiscoverWindow.qml:243 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:137 discover/qml/UpdatesPage.qml:106 +#, kde-format +msgid "Cancel" +msgstr "Odustani" + +#: discover/qml/ApplicationDelegate.qml:89 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:113 +#: discover/qml/ApplicationPage.qml:146 +#, 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:113 +#: discover/qml/ApplicationPage.qml:146 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:71 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "Izvor:" + +#: discover/qml/ApplicationPage.qml:82 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:185 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:225 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Recenziraj" + +#: discover/qml/ApplicationPage.qml:233 +#, 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:265 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:267 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:272 +#, kde-format +msgid "Install to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:274 +#, kde-format +msgid "Install and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:311 +#, kde-format +msgid "Category:" +msgstr "Kategorija:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:335 +#, kde-format +msgid "Version:" +msgstr "Izdanje:" + +#: discover/qml/ApplicationPage.qml:344 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:353 +#, kde-format +msgid "Size:" +msgstr "Veličina:" + +#: discover/qml/ApplicationPage.qml:362 +#, kde-format +msgid "Source:" +msgstr "Izvor:" + +#: discover/qml/ApplicationPage.qml:371 +#, kde-format +msgid "License:" +msgstr "Licenca:" + +#: discover/qml/ApplicationPage.qml:378 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:390 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:398 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:399 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:407 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a problem" +msgstr "" + +# >> @title +#: discover/qml/ApplicationsListPage.qml:58 +#, fuzzy, kde-format +#| msgid "Search" +msgid "Search: %1" +msgstr "Pretraga" + +#: discover/qml/ApplicationsListPage.qml:77 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "Pretraga: %1" + +#: discover/qml/ApplicationsListPage.qml:80 +#, kde-format +msgid "Name" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:89 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "Ocena:" + +#: discover/qml/ApplicationsListPage.qml:98 +#, fuzzy, kde-format +#| msgid "Size:" +msgid "Size" +msgstr "Veličina:" + +#: discover/qml/ApplicationsListPage.qml:107 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:151 +#, fuzzy, kde-format +#| msgid "Sorry, nothing found..." +msgid "Sorry, nothing found" +msgstr "Ništa nije nađeno." + +#: discover/qml/ApplicationsListPage.qml:165 +#, kde-format +msgid "Still looking..." +msgstr "Još tražim..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:54 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Učitavam..." + +#: discover/qml/BrowsingPage.qml:71 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:118 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Pretraga" + +# >> @title +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Instalirano" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgid "Fetching updates..." +msgstr "Dobavljam dopune..." + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Up to date" +msgstr "Dopune" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Dopuna (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, fuzzy, kde-format +#| msgid "" +#| "Could not close the application, there are tasks that need to be done." +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Ne mogu da zatvorim program, ima još nedovršenih zadataka." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Ne mogu da nađem resurs: %1" + +#: discover/qml/DiscoverWindow.qml:224 +#, kde-format +msgid "Show all" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:224 +#, kde-format +msgid "Hide" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:231 discover/qml/SourcesPage.qml:127 +#, kde-format +msgid "Proceed" +msgstr "Nastavi" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, fuzzy, kde-format +#| msgid "More Information..." +msgid "Submitting usage information..." +msgstr "Više podataka..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Contribute..." +msgstr "Više..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +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/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:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Zadaci (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:44 +#, kde-format +msgid "Tasks" +msgstr "Zadaci" + +#: discover/qml/ProgressView.qml:85 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:86 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:77 +#, fuzzy, kde-format +#| msgid "Version:" +msgid "Version: %1" +msgstr "Izdanje:" + +#: discover/qml/ReviewDelegate.qml:100 +#, kde-format +msgid "unknown reviewer" +msgstr "nepoznat recenzent" + +#: discover/qml/ReviewDelegate.qml:101 +#, kde-format +msgid "%1 by %2" +msgstr "%1 — %2" + +#: discover/qml/ReviewDelegate.qml:101 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:150 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:158 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:170 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:186 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:22 +#, fuzzy, kde-format +#| msgid "Reviewing '%1'" +msgid "Reviewing %1" +msgstr "Recenzija „%1“" + +#: discover/qml/ReviewDialog.qml:34 +#, kde-format +msgid "Rating:" +msgstr "Ocena:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Name:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:46 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:65 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Write the title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the review" +msgstr "" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Ažuriram..." + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:83 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:55 +#, fuzzy, kde-format +#| msgid "Resources for '%1'" +msgid "Reviews for %1" +msgstr "Resursi za „%1“" + +#: discover/qml/ReviewsPage.qml:66 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Write a Review..." +msgstr "Recenziraj" + +#: discover/qml/ReviewsPage.qml:70 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:41 +#, kde-format +msgid "Search..." +msgstr "Traži..." + +# >> %1 is one of categories from libmuon +#: discover/qml/SearchField.qml:41 +#, kde-format +msgid "Search in '%1'..." +msgstr "Traži u „%1“...|/|Traži u „$[lok %1]“..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (podrazumevano)" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Dodaj izvor" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Učini podrazumevanim" + +#: discover/qml/SourcesPage.qml:171 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:181 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:186 +#, kde-format +msgid "Delete the origin" +msgstr "Obriši izvorište" + +#: discover/qml/SourcesPage.qml:197 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:236 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Dopune" + +#: discover/qml/UpdatesPage.qml:39 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Update Issue" +msgstr "Dopune" + +#: discover/qml/UpdatesPage.qml:52 +#, kde-format +msgid "OK" +msgstr "" + +#: discover/qml/UpdatesPage.qml:75 +#, kde-format +msgid "Update Selected" +msgstr "Ažuriraj izabrano" + +#: discover/qml/UpdatesPage.qml:75 +#, kde-format +msgid "Update All" +msgstr "Ažuriraj sve" + +#: discover/qml/UpdatesPage.qml:124 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "All updates selected (%1)" +msgstr "Izabrane dopune" + +#: discover/qml/UpdatesPage.qml:124 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Izabrane dopune" +msgstr[1] "Izabrane dopune" +msgstr[2] "Izabrane dopune" +msgstr[3] "Izabrane dopune" + +#: discover/qml/UpdatesPage.qml:180 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:260 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:273 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:296 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "Instaliraj" + +#: discover/qml/UpdatesPage.qml:327 +#, kde-format +msgid "More Information..." +msgstr "Više podataka..." + +#: discover/qml/UpdatesPage.qml:355 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Dobavljam dopune..." + +#: discover/qml/UpdatesPage.qml:368 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Dopune" + +#: discover/qml/UpdatesPage.qml:374 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "The system is up to date" +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Sistem je ažuran" + +#: discover/qml/UpdatesPage.qml:379 discover/qml/UpdatesPage.qml:385 +#: discover/qml/UpdatesPage.qml:391 +#, fuzzy, kde-format +#| msgid "Updates" +msgctxt "@info" +msgid "Up to date" +msgstr "Dopune" + +#: discover/qml/UpdatesPage.qml:397 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Treba proveriti dopune" + +#: discover/qml/UpdatesPage.qml:403 +#, 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" \ 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..4166476 --- /dev/null +++ b/po/sr@latin/libdiscover.po @@ -0,0 +1,1702 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-06-17 02:09+0200\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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Igre na tabli|/|$[svojstva lok 'Igrama na tabli']" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:97 +#, kde-format +msgid "Proprietary" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:148 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:194 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:243 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Lažna kategorija|/|$[svojstva lok 'Lažnoj kategoriji']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "Lažna|/|$[svojstva lok 'Lažnoj']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "Lažni dodaci|/|$[svojstva lok 'Lažnim dodacima']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "Lažna 1|/|$[svojstva lok 'Lažnoj 1']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "Lažna 3|/|$[svojstva lok 'Lažnoj 3']" + +#: 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/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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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']" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: 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']" + +#: 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']" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:395 +#, kde-format +msgid "Local bundle" +msgstr "Lokalna sveza" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1225 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:535 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Loš apstrim URL ‘%1’" + +# >> @item unknown licence +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:110 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:239 +#, kde-format +msgid "Unknown" +msgstr "nepoznata" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:115 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:366 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:374 +#, kde-format +msgid "Retrieving size information" +msgstr "Dobavljam podatke o veličini..." + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:368 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:376 +#, kde-format +msgid "Unknown size" +msgstr "nepoznata veličina" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:370 +#, 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:378 +#, 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:102 +#, kde-format +msgid "Could not add the source %1" +msgstr "Ne mogu da dodam izvor %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:208 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "Uklanjam..." + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:208 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:220 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:224 +#, fuzzy, kde-format +#| msgid "Could not add the source %1" +msgid "Could not find %1" +msgstr "Ne mogu da dodam izvor %1" + +# >> @item +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:359 +#, fuzzy, kde-format +#| msgid "Flatpak repository URI (*.flatpakrepo)" +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "URI Flatpak riznice (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:40 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:123 +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:338 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, 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:128 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:188 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgid "Applications" +msgstr "Programi|/|$[svojstva lok 'Programima']" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:222 +#, kde-format +msgid "Plasma Addons" +msgstr "Dodaci za Plasmu" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:222 +#, kde-format +msgid "Application Addons" +msgstr "Dodaci za programe" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:346 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:353 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:356 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:367 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Loša pozadina %1, obratite se distributeru." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:376 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:380 +#, fuzzy, kde-format +#| msgid "Invalid %1 backend, contact your distributor." +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Loša pozadina %1, obratite se distributeru." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:390 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:563 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Pogrešan URI K‑novotarija: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:238 +#: libdiscover/resources/AbstractResource.cpp:247 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:240 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:150 +#, kde-format +msgid "Log in information for %1" +msgstr "Prijavni podaci za %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:250 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma dodaci|/|$[svojstva lok 'Plasma dodacima']" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma vidžeti|/|$[svojstva lok 'Plasma vidžetima']" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Fontovi|/|$[svojstva lok 'Fontovima']" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:223 +#, 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 +#, fuzzy, kde-format +#| msgid "Cannot fetch sources" +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +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 +#, fuzzy, kde-format +#| msgid "A change by '%1' suggests your system to be rebooted." +msgid "A change by '%1' suggests your system to be restarted." +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 +#, fuzzy, kde-format +#| msgid "The system will have to be rebooted." +msgid "The system will have to be restarted." +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:121 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:140 +#, kde-format +msgid "Offline Updates" +msgstr "Dopune van veze" + +# >! Plurals. +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:122 +#, fuzzy, kde-format +#| msgid "" +#| "Failed to update %1 packages\n" +#| "%2" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Ne mogu da ažuriram %1 paketa.\n" +"%2|/|Ne mogu da ažuriram %1 $[množ ^1 paket paketa paketa].\n" +"%2" +msgstr[1] "" +"Ne mogu da ažuriram %1 paketa.\n" +"%2|/|Ne mogu da ažuriram %1 $[množ ^1 paket paketa paketa].\n" +"%2" +msgstr[2] "" +"Ne mogu da ažuriram %1 paketa.\n" +"%2|/|Ne mogu da ažuriram %1 $[množ ^1 paket paketa paketa].\n" +"%2" +msgstr[3] "" +"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:124 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:142 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:124 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Failed" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Propalo." + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Failed" +msgid "Repair Failed" +msgstr "Propalo." + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:132 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:141 +#, fuzzy, kde-format +#| msgid "Successfully updated %1 packages" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +"Uspešno ažurirano %1 paketa.|/|Uspešno $[množ ^1 ažuriran ažurirana " +"ažurirano] %1 $[množ ^1 paket paketa paketa]." +msgstr[1] "" +"Uspešno ažurirano %1 paketa.|/|Uspešno $[množ ^1 ažuriran ažurirana " +"ažurirano] %1 $[množ ^1 paket paketa paketa]." +msgstr[2] "" +"Uspešno ažurirano %1 paketa.|/|Uspešno $[množ ^1 ažuriran ažurirana " +"ažurirano] %1 $[množ ^1 paket paketa paketa]." +msgstr[3] "" +"Uspešno ažurirano %1 paketa.|/|Uspešno $[množ ^1 ažuriran ažurirana " +"ažurirano] %1 $[množ ^1 paket paketa paketa]." + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:255 +#, fuzzy, kde-format +#| msgctxt "description (url)" +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:257 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:295 +#, kde-format +msgid "Obsoletes:" +msgstr "Zastarelo:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:296 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:297 +#, kde-format +msgid "Update State:" +msgstr "Stanje dopuna:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:298 +#, kde-format +msgid "Restart:" +msgstr "Ponovno pokretanje:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:301 +#, kde-format +msgid "Vendor:" +msgstr "Izdavač:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:321 +#, 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:104 +#, kde-format +msgid "Repository URL:" +msgstr "URL riznice:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:217 +#, kde-format +msgid "Packages to remove" +msgstr "Paketi za uklanjanje" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:217 +#, 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:233 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:325 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:290 +#, 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:338 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:275 +#, 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:432 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:302 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Nedostaje potpis za %1 u %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:433 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:303 +#, 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:192 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:192 +#, 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:51 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:368 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:62 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:120 +#, 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:99 +#, kde-format +msgid "Broken" +msgstr "narušeno" + +#: libdiscover/resources/AbstractResource.cpp:100 +#, kde-format +msgid "Available" +msgstr "dostupno" + +#: libdiscover/resources/AbstractResource.cpp:101 +#, kde-format +msgid "Installed" +msgstr "instalirano" + +#: libdiscover/resources/AbstractResource.cpp:102 +#, kde-format +msgid "Upgradeable" +msgstr "nadogradivo" + +#: libdiscover/resources/AbstractResource.cpp:242 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:103 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Proveri ima li dopuna" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:108 +#, fuzzy, kde-format +#| msgid "Offline Updates" +msgid "View Updates" +msgstr "Dopune van veze" + +#: 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:145 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "dopune programa" + +#: libdiscover/UpdateModel/UpdateModel.cpp:146 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "dopune sistema" + +#: libdiscover/UpdateModel/UpdateModel.cpp:147 +#, fuzzy, kde-format +#| msgid "Plasma Addons" +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Dodaci za Plasmu" \ 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..4b4f27e --- /dev/null +++ b/po/sr@latin/plasma-discover-notifier.po @@ -0,0 +1,150 @@ +# Translation of muon-notifier.po into Serbian. +# Chusslove Illich , 2015. +msgid "" +msgstr "" +"Project-Id-Version: muon-notifier\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-04-15 03:50+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:100 +#, kde-format +msgid "View Updates" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:159 +#, kde-format +msgid "Security updates available" +msgstr "Dostupne su bezbednosne dopune" + +#: notifier/DiscoverNotifier.cpp:161 +#, kde-format +msgid "Updates available" +msgstr "Dostupne su dopune" + +#: notifier/DiscoverNotifier.cpp:163 +#, kde-format +msgid "System up to date" +msgstr "Sistem je ažuran" + +#: notifier/DiscoverNotifier.cpp:165 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:167 +#, kde-format +msgid "Offline" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:198 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:199 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:200 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" + +#: notifier/DiscoverNotifier.cpp:217 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:218 +#, fuzzy, kde-format +#| msgid "Updates available" +msgid "Upgrade available" +msgstr "Dostupne su dopune" + +#: notifier/DiscoverNotifier.cpp:219 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:51 +#, fuzzy, kde-format +#| msgid "System up to date" +msgid "System update status notifier" +msgstr "Sistem je ažuran" + +#: notifier/main.cpp:52 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" + +#: notifier/main.cpp:57 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: notifier/main.cpp:58 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: notifier/main.cpp:64 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:66 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:66 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:50 notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Updates" +msgstr "" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "See Updates..." +msgstr "" + +#: notifier/NotifierItem.cpp:67 +#, kde-format +msgid "Refresh..." +msgstr "" + +#: notifier/NotifierItem.cpp:71 +#, kde-format +msgid "Restart..." +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..e75f254 --- /dev/null +++ b/po/sr@latin/plasma-discover.po @@ -0,0 +1,855 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-06-06 02:13+0200\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:177 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:260 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Ne mogu da nađem kategoriju „%1“" + +#: discover/DiscoverObject.cpp:294 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:297 discover/DiscoverObject.cpp:324 +#, kde-format +msgid "Couldn't open %1" +msgstr "Ne mogu da otvorim %1" + +#: discover/main.cpp:46 +#, kde-format +msgid "Directly open the specified application by its package name." +msgstr "Neposredno otvori zadati program po imenu paketa" + +#: discover/main.cpp:47 +#, 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:48 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Prikaži spisak unosa sa kategorijom" + +#: discover/main.cpp:49 +#, 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:50 +#, kde-format +msgid "List all the available modes." +msgstr "Nabroji sve dostupne režime." + +#: discover/main.cpp:51 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Sažeti režim (jedno od: auto, compact, full)." + +#: discover/main.cpp:52 +#, kde-format +msgid "Local package file to install" +msgstr "Lokalni paket za instaliranje." + +#: discover/main.cpp:53 +#, kde-format +msgid "List all the available backends." +msgstr "Nabroji sve dostupne pozadine." + +# >> %1 is one of categories from libmuon +#: discover/main.cpp:54 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search string." +msgstr "Traži u „%1“...|/|Traži u „$[lok %1]“..." + +#: discover/main.cpp:55 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:57 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Podrška za URL šemu appstream:." + +#: discover/main.cpp:104 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Otkrivač" + +#: discover/main.cpp:104 +#, kde-format +msgid "An application explorer" +msgstr "Istraživač programa" + +#: discover/main.cpp:105 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010–2016, razvojni tim Plasme" + +#: discover/main.cpp:106 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleks Pol Gonzalez" + +#: discover/main.cpp:107 +#, kde-format +msgid "Jonathan Thomas" +msgstr "Džonatan Tomas" + +#: discover/main.cpp:112 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:113 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:125 +#, kde-format +msgid "Available backends:\n" +msgstr "Dostupne pozadine:\n" + +#: discover/main.cpp:163 +#, kde-format +msgid "Available modes:\n" +msgstr "Dostupni režimi:\n" + +#: discover/qml/AddonsView.qml:16 discover/qml/ApplicationPage.qml:213 +#, kde-format +msgid "Addons" +msgstr "Dodaci" + +#: discover/qml/AddonsView.qml:70 +#, kde-format +msgid "Apply Changes" +msgstr "Primeni izmene" + +#: discover/qml/AddonsView.qml:77 +#, kde-format +msgid "Discard" +msgstr "Odbaci" + +#: discover/qml/AddonsView.qml:88 +#, kde-format +msgid "More..." +msgstr "Više..." + +#: discover/qml/AddSourceDialog.qml:33 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:64 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Dodaci" + +#: discover/qml/AddSourceDialog.qml:76 discover/qml/DiscoverWindow.qml:243 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:137 discover/qml/UpdatesPage.qml:106 +#, kde-format +msgid "Cancel" +msgstr "Odustani" + +#: discover/qml/ApplicationDelegate.qml:89 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:113 +#: discover/qml/ApplicationPage.qml:146 +#, 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:113 +#: discover/qml/ApplicationPage.qml:146 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:71 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "Izvor:" + +#: discover/qml/ApplicationPage.qml:82 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:185 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:225 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Recenziraj" + +#: discover/qml/ApplicationPage.qml:233 +#, 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:265 +#, kde-format +msgid "Write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:267 +#, kde-format +msgid "Be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:272 +#, kde-format +msgid "Install to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:274 +#, kde-format +msgid "Install and be the first to write a review!" +msgstr "" + +#: discover/qml/ApplicationPage.qml:311 +#, kde-format +msgid "Category:" +msgstr "Kategorija:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:335 +#, kde-format +msgid "Version:" +msgstr "Izdanje:" + +#: discover/qml/ApplicationPage.qml:344 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:353 +#, kde-format +msgid "Size:" +msgstr "Veličina:" + +#: discover/qml/ApplicationPage.qml:362 +#, kde-format +msgid "Source:" +msgstr "Izvor:" + +#: discover/qml/ApplicationPage.qml:371 +#, kde-format +msgid "License:" +msgstr "Licenca:" + +#: discover/qml/ApplicationPage.qml:378 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:389 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:390 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:398 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:399 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:407 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:415 +#, kde-format +msgid "Report a problem" +msgstr "" + +# >> @title +#: discover/qml/ApplicationsListPage.qml:58 +#, fuzzy, kde-format +#| msgid "Search" +msgid "Search: %1" +msgstr "Pretraga" + +#: discover/qml/ApplicationsListPage.qml:77 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "Pretraga: %1" + +#: discover/qml/ApplicationsListPage.qml:80 +#, kde-format +msgid "Name" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:89 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "Ocena:" + +#: discover/qml/ApplicationsListPage.qml:98 +#, fuzzy, kde-format +#| msgid "Size:" +msgid "Size" +msgstr "Veličina:" + +#: discover/qml/ApplicationsListPage.qml:107 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:151 +#, fuzzy, kde-format +#| msgid "Sorry, nothing found..." +msgid "Sorry, nothing found" +msgstr "Ništa nije nađeno." + +#: discover/qml/ApplicationsListPage.qml:165 +#, kde-format +msgid "Still looking..." +msgstr "Još tražim..." + +#: discover/qml/BrowsingPage.qml:31 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:54 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Učitavam..." + +#: discover/qml/BrowsingPage.qml:71 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:118 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Pretraga" + +# >> @title +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Instalirano" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgid "Fetching updates..." +msgstr "Dobavljam dopune..." + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Up to date" +msgstr "Dopune" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Dopuna (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, fuzzy, kde-format +#| msgid "" +#| "Could not close the application, there are tasks that need to be done." +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Ne mogu da zatvorim program, ima još nedovršenih zadataka." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Ne mogu da nađem resurs: %1" + +#: discover/qml/DiscoverWindow.qml:224 +#, kde-format +msgid "Show all" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:224 +#, kde-format +msgid "Hide" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:231 discover/qml/SourcesPage.qml:127 +#, kde-format +msgid "Proceed" +msgstr "Nastavi" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, fuzzy, kde-format +#| msgid "More Information..." +msgid "Submitting usage information..." +msgstr "Više podataka..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Contribute..." +msgstr "Više..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +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/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:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Zadaci (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:44 +#, kde-format +msgid "Tasks" +msgstr "Zadaci" + +#: discover/qml/ProgressView.qml:85 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:86 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:77 +#, fuzzy, kde-format +#| msgid "Version:" +msgid "Version: %1" +msgstr "Izdanje:" + +#: discover/qml/ReviewDelegate.qml:100 +#, kde-format +msgid "unknown reviewer" +msgstr "nepoznat recenzent" + +#: discover/qml/ReviewDelegate.qml:101 +#, kde-format +msgid "%1 by %2" +msgstr "%1 — %2" + +#: discover/qml/ReviewDelegate.qml:101 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:150 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:158 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:170 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:186 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:22 +#, fuzzy, kde-format +#| msgid "Reviewing '%1'" +msgid "Reviewing %1" +msgstr "Recenzija „%1“" + +#: discover/qml/ReviewDialog.qml:34 +#, kde-format +msgid "Rating:" +msgstr "Ocena:" + +#: discover/qml/ReviewDialog.qml:38 +#, kde-format +msgid "Name:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:46 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:65 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Write the title" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the review" +msgstr "" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Ažuriram..." + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:83 +#, kde-format +msgid "Submit review" +msgstr "" + +#: discover/qml/ReviewsPage.qml:55 +#, fuzzy, kde-format +#| msgid "Resources for '%1'" +msgid "Reviews for %1" +msgstr "Resursi za „%1“" + +#: discover/qml/ReviewsPage.qml:66 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Write a Review..." +msgstr "Recenziraj" + +#: discover/qml/ReviewsPage.qml:70 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:41 +#, kde-format +msgid "Search..." +msgstr "Traži..." + +# >> %1 is one of categories from libmuon +#: discover/qml/SearchField.qml:41 +#, kde-format +msgid "Search in '%1'..." +msgstr "Traži u „%1“...|/|Traži u „$[lok %1]“..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (podrazumevano)" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Dodaj izvor" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Učini podrazumevanim" + +#: discover/qml/SourcesPage.qml:171 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:181 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:186 +#, kde-format +msgid "Delete the origin" +msgstr "Obriši izvorište" + +#: discover/qml/SourcesPage.qml:197 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:236 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Dopune" + +#: discover/qml/UpdatesPage.qml:39 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Update Issue" +msgstr "Dopune" + +#: discover/qml/UpdatesPage.qml:52 +#, kde-format +msgid "OK" +msgstr "" + +#: discover/qml/UpdatesPage.qml:75 +#, kde-format +msgid "Update Selected" +msgstr "Ažuriraj izabrano" + +#: discover/qml/UpdatesPage.qml:75 +#, kde-format +msgid "Update All" +msgstr "Ažuriraj sve" + +#: discover/qml/UpdatesPage.qml:124 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "All updates selected (%1)" +msgstr "Izabrane dopune" + +#: discover/qml/UpdatesPage.qml:124 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Izabrane dopune" +msgstr[1] "Izabrane dopune" +msgstr[2] "Izabrane dopune" +msgstr[3] "Izabrane dopune" + +#: discover/qml/UpdatesPage.qml:180 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:260 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:273 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:283 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:296 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "Instaliraj" + +#: discover/qml/UpdatesPage.qml:327 +#, kde-format +msgid "More Information..." +msgstr "Više podataka..." + +#: discover/qml/UpdatesPage.qml:355 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Dobavljam dopune..." + +#: discover/qml/UpdatesPage.qml:368 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Dopune" + +#: discover/qml/UpdatesPage.qml:374 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "The system is up to date" +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Sistem je ažuran" + +#: discover/qml/UpdatesPage.qml:379 discover/qml/UpdatesPage.qml:385 +#: discover/qml/UpdatesPage.qml:391 +#, fuzzy, kde-format +#| msgid "Updates" +msgctxt "@info" +msgid "Up to date" +msgstr "Dopune" + +#: discover/qml/UpdatesPage.qml:397 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Treba proveriti dopune" + +#: discover/qml/UpdatesPage.qml:403 +#, 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" \ No newline at end of file diff --git a/po/sv/libdiscover.po b/po/sv/libdiscover.po new file mode 100644 index 0000000..b916caf --- /dev/null +++ b/po/sv/libdiscover.po @@ -0,0 +1,1629 @@ +# 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-09 17:43+0200\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 19.04.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@bredband.net" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Proprietär" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Fel vid hämtning av recensioner: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Fel vid inskickning av användbarhet: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Fel vid inskickning av recension: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Testkategori" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "Test" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "Testtillägg" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "Test 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "Test med saker" + +#: 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" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "Test 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "Test 4" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Landsanpassning" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilering" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Utbildning" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biologi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kemi" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronik" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Geografi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Geologi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fysik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Spel" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Arkadspel" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Pusselspel" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Simulering" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Strategi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Sport" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Emulatorer" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "Tredimensionellt" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Teckna" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Fotografering" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Publicering" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Visningsprogram" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Internet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Chatt" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Multimedia" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Kontor" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Lokal packe" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Felaktig webbadress för appstream '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Okänd" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Hämtar storleksinformation" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Okänd storlek" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 på disk" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Lägg till Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Kunde inte lägga till källan %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Tar bort '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" +"För att ta bort arkivet, måste följande program avinstalleras:
                  • %1
                  " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Misslyckades ta bort fjärrarkiv %1: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Kunde inte hitta %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Ange webbadress för ett Flatpak-arkiv (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Lägger till fjärrplats '%1' i %2 från %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Granska slutanvändarlicensavtal" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Gränssnitt %1 tog för lång tid att initiera" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Program" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasmatillägg" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Programtillägg" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Nätverksfel i gränssnittet %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"För många begäran skickade till servern för gränssnittet %1. Försök igen om " +"några minuter." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "Ogiltigt gränssnitt %1, kontakta distributören." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Kunde inte hämta skärmbild för posten %1 i gränssnittet %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "Ohanterat fel i gränssnittet %1. Kontakta distributionen." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Felaktig webbadress för Heta nyheter: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Starta" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Använd" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Inloggningsinformation för %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Kan inte starta %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma tillägg" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma grafiska komponenter" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Teckensnitt" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Slut på minne" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Ingen nätverksanslutning tillgänglig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Åtgärden stöds inte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Internt fel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG-fel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Paket-id ogiltigt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Paketet inte installerat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Paketet hittades inte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Paketet är redan installerat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Nerladdning av paketet misslyckades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Paketgruppen hittades inte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Paketgrupplistan är ogiltig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Upplösning av beroenden misslyckades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Ogiltigt filter" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Misslyckades när en tråd skulle skapas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Transaktionsfel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Transaktion avbruten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Ingen cache tillgänglig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Kan inte hitta arkiv" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Kan inte ta bort systempaket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit-demonen har kraschat" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Initieringsfel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Misslyckades slutföra transaktion" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Tolkning av inställningar misslyckades." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Kan inte avbryta transaktion" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kan inte erhålla lås" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Inga paket att uppdatera" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Kan inte skriva arkivinställning" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Lokal installation misslyckades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Felaktig GPG-signatur hittades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Ingen GPG-signatur hittades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Kan inte installera källkodspaket" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Arkivinställningsfel" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Inget licensavtal" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Filkonflikter hittades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Paketkonflikt hittades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Arkiv ej tillgängligt" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Ogiltig paketfil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Installation av paket blockerad" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Skadat paket hittades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Alla paket redan installerade" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Filen hittades inte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Inga fler spegelplatser tillgängliga" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Ingen uppgraderingsdata för distribution" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Inkompatibel arkitektur" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Inget utrymme kvar på enheten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Media behöver bytas" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Uppdatering hittades inte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Kan inte installera från osignerat arkiv" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Kan inte uppdatera från osignerat arkiv" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Kan inte hämta fillista" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Kan inte hämta krav" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Kan inte inaktivera arkiv" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Begränsad nerladdning detekterad" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Paket misslyckades ställas in" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Misslyckades bygga paketet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Installation av paketet misslyckades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Misslyckades ta bort paketet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Uppdatering misslyckades på grund av körande process" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "Paketdatabasen ändrades" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Den tillhandahållna typen stöds inte" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Installationsrot är ogiltig" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Kan inte hämta källor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Avbruten prioritet" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Oavslutad transaktion" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Lås krävs" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Okänt fel %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "En ändring av '%1' föreslår att systemet ska startas om." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Programmet måste startas om." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Sessionen måste startas om" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Systemet måste startas om." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Väntar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Uppdaterar cachen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Inställning..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Behandlar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Ta bort..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Laddar ner..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Installerar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Uppdaterar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Städar upp..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Löser upp beroenden..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Kontrollerar signaturer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Prova verkställa..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Verkställer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Klar" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Avbruten" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Väntar på lås..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Väntar på godkännande..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Kopierar filer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Okänd status" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Vi väntar på någonting." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Inställning av transaktion..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Transaktionen pågår för närvarande..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Transaktionen tar för närvarande bort paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Transaktionen laddar för närvarande ner paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Transaktionen installerar för närvarande paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Transaktionen uppdaterar för närvarande paket..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Transaktionen städar för närvarande upp..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Transaktionen är klar." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Transaktionen har avbrutits" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, 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:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Transaktionen kopierar för närvarande filer..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Uppdaterar för närvarande arkivcachen..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Okänd status %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Stabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Instabil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Test" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Nerkopplade uppdateringar" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Misslyckades uppdatera %1 paket\n" +"%2" +msgstr[1] "" +"Misslyckades uppdatera %1 paket\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Öppna Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Reparera system" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Reparation misslyckades" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Rapportera till distributionen: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Uppdaterade %1 paket med lyckat resultat" +msgstr[1] "Uppdaterade %1 paket med lyckat resultat" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Föråldrade:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Versionsfakta:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Uppdateringstillstånd:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Starta om:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Tillverkare:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "Arkivets webbadress:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Paket att ta bort" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
                  • %1

                  in order to install:
                  • %2
                  " +msgstr "" +"Följande paket kommer att tas bort av uppdateringen:
                  • %1
                  \n" +"för att installera:
                  • %2
                  " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Starta om datorn för att slutföra uppdateringen" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Acceptera slutanvändarlicensavtal" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Saknar signatur för %1 i %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Bekräfta paketborttagning" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Lås" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, 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:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Felaktigt" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Tillgängligt" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Installerat" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Uppgraderingsbart" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Titta efter uppdateringar" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Visa uppdateringar" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/s" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Startar" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Väntar" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Laddar ner" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Installerar" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Tar bort" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Ändrar tillägg" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Klar" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Misslyckades" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Avbruten" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Programuppdateringar" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Systemuppdateringar" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Tillägg" \ 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..eccdff8 --- /dev/null +++ b/po/sv/plasma-discover-notifier.po @@ -0,0 +1,157 @@ +# 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-24 07:07+0200\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 19.04.3\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Visa uppdateringar" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Säkerhetsuppdateringar är tillgängliga" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Uppdateringar tillgängliga" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Systemet är uppdaterat" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Datorn måste startas om" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Nerkopplad" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Starta om" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Omstart krävs" + +#: notifier/DiscoverNotifier.cpp:187 +#, 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." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Uppgradera" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Uppgradering tillgänglig" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Ny version: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Discover underrättelse" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Statusunderrättelse om systemuppdatering" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Plasma-utvecklingsgruppen" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@bredband.net" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Ersätt en befintlig instans" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Visa inte underrättelse" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "dold" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Uppdateringar" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Öppna Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Visa uppdateringar..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Uppdatera..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Starta om för att verkställa installerade uppdateringar" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Klicka för att starta om datorn" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Starta om..." \ 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..8ea17ba --- /dev/null +++ b/po/sv/plasma-discover.po @@ -0,0 +1,811 @@ +# 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-24 07:59+0200\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 19.04.3\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Inga programgränssnitt hittades. Rapportera gärna till din distribution." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Kunde inte hitta kategori '%1'" + +#: discover/DiscoverObject.cpp:281 +#, 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:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Kunde inte öppna %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Öppna angivet program direkt enligt dess appstream:// webbadress." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Öppna med sökning efter program som kan hantera den angivna Mime-typen." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Visa en lista med poster med en kategori." + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Lista alla tillgängliga lägen." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Kompakt läge (automatiskt/kompakt/fullt)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Lokal paketfil att installera" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Lista alla tillgängliga gränssnitt." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Söksträng." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Lista tillgängliga alternativ för användaråterkoppling" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Stöder appstream: webbadresschema" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Upptäck" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "En programutforskare" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Plasma-utvecklingsgruppen" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Kvalitetssäkring, konstruktion och användbarhet" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stefan Asserhäll" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "stefan.asserhall@bredband.net" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Tillgängliga gränssnitt:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Tillgängliga lägen:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Tillägg" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Mer..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Verkställ ändringar" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Nollställ" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Lägg till nytt %1 arkiv" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Lägg till" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Avbryt" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 betyg" +msgstr[1] "%1 betyg" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Inga betyg ännu" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Källor" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Vad är nytt" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Omdömen" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, kde-format +msgid "Write a Review" +msgstr "Skriv ett omdöme" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Installera för att skriva ett omdöme" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Kategori:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, utgiven %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Version:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Upphovsman:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Storlek:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Källa:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Licens:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Visa fullständiga licensvillkor" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Dokumentation:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Läs användarhandboken" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Börja delta:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Besök programmets webbplats" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Ge ett bidrag" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Rapportera ett problem" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Sök: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Sortera: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Namn" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Betyg" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Storlek" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Utgivningsdatum" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Tyvärr hittades ingenting " + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Fortsätter leta ..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Presenterade" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Läser in..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "Kan inte ladda program.Verifiera Internetanslutning." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Återgå till presentationssidan" + +#: discover/qml/DiscoverWindow.qml:40 +#, 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:60 +#, kde-format +msgid "Search" +msgstr "Sök" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Installerat" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Hämtar uppdateringar..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Uppdaterad" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Uppdatera (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Om" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Inställningar" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Tyvärr..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Kunde inte stäng Discover, det finns uppgifter som måste utföras." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Avsluta ändå" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Kan inte hitta resurs: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Fortsätt" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Skickar in användningsinformation" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Skickar in anonym användningsinformation till KDE så att vi kan förstå våra " +"användare bättre. För mer information se https://kde.org/privacypolicy-apps." +"php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Skickar in användningsinformation..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Anpassa" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Anpassa återkoppling..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Du kan hjälpa oss att förbättra programmet genom att bidra med statistik och " +"delta i enkäter." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Medverka..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Vi emotser din återkoppling!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Medverka..." + +#: 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/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Resurser för '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Utökningar..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Uppgifter (%1 %)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Uppgifter" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Version: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "okänd recensent" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 av %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Kommentar av %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Röster: %1 av %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Nyttigt?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Ja" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Nej" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Recenserar %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Betyg:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Namn:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Rubrik:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Ange ett betyg" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Skriv in rubriken" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Skriv in omdömet" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Fortsätt skriva..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "För långt." + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Skicka in omdöme" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Omdömen om %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Skriv ett omdöme..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Installera programmet för att skriva ett omdöme" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Sök..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Sök i '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (förval)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Lägg till källa..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Gör till förval" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Misslyckades öka preferens för '%1'" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Misslyckades minska preferens för '%1'" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Ta bort ursprunget" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Visa innehåll" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Saknar gränssnitt" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Uppdateringar" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Uppdatera problem" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "Ok" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Uppdatera markerade" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Uppdatera alla" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Alla uppdateringar markerade (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 uppdateringar markerad (%3)" +msgstr[1] "%1/%2 uppdateringar markerade (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Starta om" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Uppdatera till version %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Installerar" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Mer information..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Hämtar uppdateringar..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Uppdateringar" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Systemet kräver en omstart för att verkställa uppdateringar" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Uppdaterad" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Bör kontrollera uppdateringar" + +#: discover/qml/UpdatesPage.qml:408 +#, 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" \ No newline at end of file diff --git a/po/tg/libdiscover.po b/po/tg/libdiscover.po new file mode 100644 index 0000000..f4b41cc --- /dev/null +++ b/po/tg/libdiscover.po @@ -0,0 +1,1591 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the discover package. +# +# Victor Ibragimov , 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-08-25 12:44+0500\n" +"Last-Translator: Victor Ibragimov \n" +"Language-Team: English \n" +"Language: tg\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 20.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Victor Ibragimov" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "victor.ibragimov@gmail.com" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Хусусӣ" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: 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 "Барномаҳо" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Лавозимот" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Қобилияти дастрасӣ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Абзорҳои барномарезӣ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Маҳаллисозӣ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Илму маърифат" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Ситорашиносӣ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Ҳаётшиносӣ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Химия" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Электроника" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Ҷуғрофия" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Заминшиносӣ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Риёзиёт" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Физика" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Бозиҳо" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Стратегия" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Варзиш" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Амалиёт" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3Д" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Интернет" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Суҳбат" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Мубодилаи файлҳо" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Почта" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Намоишгарҳои сомона" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Плеерҳои видеоӣ" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Идора" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Танзимоти низом" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Номаълум" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Бозёбии маълумот дар бораи андоза" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Андозаи номаълум" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 дар диск" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Барномаҳо" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Зербарномаҳои Плазма" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Зербарномаҳо" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Оғоз кардан" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Истифодабарӣ" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Зербарномаҳои Плазма" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Виҷетҳои Плазма" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Ҳуруф" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Хатои дохилӣ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Ҳамаи бастаҳо аллакай насб карда шудаанд" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "Навсозӣ ёфт нашуд" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Навсозӣ ба сабаби равандҳои ҷорӣ иҷро нашуд" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Хатои номаълум %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Дар ҳоли интизорӣ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Дар ҳоли боргирӣ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Насб шуда истодааст..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Дар ҳоли навсозӣ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Вазъияти номаълум" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Танзимкунии интиқол..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Дар ҳоли интизории санҷиши ҳаққонияти интиқол аз ҷониби корбар..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Вазъияти номаълум %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Ноустувор" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Кушодани Кашфиёт" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 баста бо муваффақият навсозӣ карда шуд" +msgstr[1] "%1 баста бо муваффақият навсозӣ карда шуданд" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Вазъияти навсозӣ:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Таъмингар:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
                  • %1

                  in order to install:
                  • %2
                  " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Вайроншуда" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Дастрас" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Насбшуда" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Такмилшаванда" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Омодагии навсозиҳоро тафтиш кунед" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Дидани навсозиҳо" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/сония" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Боргирӣ" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Насбкунӣ" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Иҷро нашуд" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Навсозиҳои нармафзор" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Навсозиҳои низом" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Зербарномаҳо" \ No newline at end of file diff --git a/po/tg/plasma-discover-notifier.po b/po/tg/plasma-discover-notifier.po new file mode 100644 index 0000000..4b9979e --- /dev/null +++ b/po/tg/plasma-discover-notifier.po @@ -0,0 +1,157 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the discover package. +# +# Victor Ibragimov , 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-08-24 22:54+0500\n" +"Last-Translator: Victor Ibragimov \n" +"Language-Team: English \n" +"Language: tg\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 20.04.2\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Дидани навсозиҳо" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Навсозиҳои амниятӣ дастрасанд" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Навсозиҳо дастрасанд" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Низом нав аст" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Компютер бояд аз нав оғоз карда шавад" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Дар алоқа нест" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Аз нав оғоз кардан..." + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Бозоғозӣ лозим аст" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Барои татбиқ кардани навсозиҳо, низом бояд аз нав оғоз карда шавад." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Такмил додан" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Навсозӣ дастрас аст" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Нашри нав: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Огоҳкунандаи Кашфиёт" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Огоҳкунандаи вазъияти навсозии низом" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Дастаи барномарезии Plasma" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Victor Ibragimov" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "victor.ibragimov@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Ҷойгузин кардани намунаи мавҷудбуда" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Огоҳкунанда нишон дода нашавад" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "ноаён" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Навсозиҳо" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Кушодани Кашфиёт..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Дидани навсозиҳо..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Бозсозӣ..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Барои татбиқ кардани навсозиҳо низомро аз нав оғоз намоед" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Зер кунед, то ки компютер аз нав оғоз карда шавад" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +msgstr "Аз нав оғоз кардан..." \ No newline at end of file diff --git a/po/tg/plasma-discover.po b/po/tg/plasma-discover.po new file mode 100644 index 0000000..b77a020 --- /dev/null +++ b/po/tg/plasma-discover.po @@ -0,0 +1,815 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the discover package. +# +# Victor Ibragimov , 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-08-27 11:51+0500\n" +"Last-Translator: Victor Ibragimov \n" +"Language-Team: English \n" +"Language: tg\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 20.04.2\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Кушодани %1 қатъ шуд" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "" + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Кашфиёт" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Намоишгари барномаҳо" + +#: discover/main.cpp:93 +#, fuzzy, kde-format +#| msgid "© 2010-2019 Plasma Development Team" +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2019 Дастаи барномасозони Плазма" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Victor Ibragimov" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "victor.ibragimov@gmail.com" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Коркардкунандаи дастрас:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Реҷаҳои дастрас:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Барномаи иловагӣ" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Бештар..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Тағйиротро татбиқ кардан" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, fuzzy, kde-format +#| msgid "Add a new %1 repository" +msgid "Add New %1 Repository" +msgstr "Илова кардани анбори додаҳои нави %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Илова кардан" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Бекор кардан" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 баҳо" +msgstr[1] "%1 баҳо" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "То ҳол ягон баҳо нест" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Манбаъҳо" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Навигариҳо" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Тақризҳо" + +#: discover/qml/ApplicationPage.qml:245 +#, fuzzy, kde-format +#| msgid "Review..." +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Тақриз..." +msgstr[1] "Тақриз..." + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write a Review" +msgstr "Тақризеро нависед!" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Install to Write a Review" +msgstr "Тақризеро нависед!" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Навъ:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, дар %2 нашр шудааст" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Нашр:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Муаллиф:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Андоза:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Манбаъ:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Иҷозатнома:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Ҳуҷҷатнигорӣ:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Дастури истифодабарандаро хонед" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Ҷалб шавед:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, fuzzy, kde-format +#| msgid "Report a Problem:" +msgid "Report a problem" +msgstr "Гузориш дар бораи мушкилӣ:" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Ҷустуҷӯ: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Тартибдиҳӣ аз рӯи: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Ном" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Баҳо" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Андоза" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Санаи нашр" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Мутаассифона, ягон чиз ёфт нашуд" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Дар ҳоли ҷустуҷӯ..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Тавсияшуда" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Дар ҳоли боркунӣ..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Ҷустуҷӯ" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Насбшуда" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Дар ҳоли бозёбии навсозиҳо..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Нав аст" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Навсозӣ (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Дар бораи барнома" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Танзимот" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Таассуф..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" +"Пӯшидани барномаи Кашфиёт ғайриимкон аст, зеро ки якчанд вазифа бояд ба " +"анҷом расанд." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Ба ҳар ҳол пӯшидан" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Манбаи зерин ёфт нашуд: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Иҷро кардан" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Дар ҳоли пешниҳоди иттилооти истифодабарӣ..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Танзимот" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Contribute..." +msgstr "Бештар..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Иштирок кардан..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Насб кардан" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Тоза кардан" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Манбаъҳо барои '%1'" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Васеъшавиҳо..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Вазифаҳо (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Вазифаҳо" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Нашр: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "мушоҳидакунандаи номаълум" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 аз ҷониби %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Шарҳ аз ҷониби %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Фоидаовар аст?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Ҳа" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Не" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Reviews" +msgid "Reviewing %1" +msgstr "Тақризҳо" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Баҳо:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Ном:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Сарлавҳа:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Баҳо диҳед" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Сарлавҳаро нависед" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write the review" +msgstr "Тақризеро нависед!" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Нависед..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Хеле дароз!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Пешниҳод кардани тақриз" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Reviews" +msgid "Reviews for %1" +msgstr "Тақризҳо" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Write a review!" +msgid "Write a Review..." +msgstr "Тақризеро нависед!" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Барои навиштани тақриз ин барномаро насб намоед" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Ҷустуҷӯ..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Ҷустуҷӯ дар '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Стандартӣ)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Илова кардани манбаъ..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Стандартӣ кунонидан" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Намоиш додани муҳтаво" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Навсозиҳо" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Мушкилии навсозӣ" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "Хуб" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Навсозӣ инихоб шуд" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Ҳамаро навсозӣ кардан" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Ҳамаи навсозиҳо интихоб карда шуданд (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "%1/%2 навсозӣ интихоб шуд (%3)" +msgstr[1] "%1/%2 навсозӣ интихоб шуданд (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Аз нав оғоз кардан" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Навсозӣ кардан ба нашри %1" + +#: discover/qml/UpdatesPage.qml:288 +#, fuzzy, kde-format +#| msgid "%1 → %2" +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Дар ҳоли насбкунӣ" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Маълумоти бештар..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Дар ҳоли бозёбии навсозиҳо..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Навсозиҳо" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Барои татбиқ кардани тағйирот низоми шумо бояд аз нав оғоз карда шавад" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Нав аст" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Омодагии навсозиҳо бояд тафтиш карда шавад" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "" \ No newline at end of file diff --git a/po/tr/libdiscover.po b/po/tr/libdiscover.po new file mode 100644 index 0000000..7027219 --- /dev/null +++ b/po/tr/libdiscover.po @@ -0,0 +1,1663 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Board Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Masaüstü Oyunları" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Proprietary" +msgid "Proprietary" +msgstr "Sahipli" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Boş Kategori" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "boş" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "boş" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "boş 1" + +#: 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ş" + +#: 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" + +#: 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ş" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "boş 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "boş 4" + +#: 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" + +#: 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" + +#: 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" + +#: 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ı" + +#: 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" + +#: 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ı" + +#: 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ı" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Profilleme" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Astronomi" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Biyoloji" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Kimya" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Elektronik" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Jeoloji" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Matematik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Fizik" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Oyunlar" + +#: 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" + +#: 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ı" + +#: 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ı" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Bulmacalar" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Spor" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Grafikler" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Çizim" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "İnternet" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Sohbet" + +#: 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ı" + +#: 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" + +#: 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ı" + +#: 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" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Ofis" + +#: 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ı" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Yerel paket" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Bozulmuş appstream adresi '%1%'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Bilinmeyen" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, fuzzy, kde-format +#| msgctxt "package-name (version)" +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Boyut bilgileri alınıyor" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Bilinmeyen boyut" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "diskte kapladığı alan %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "%1 kaynağı eklenemedi" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "Kaldırılıyor" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, fuzzy, kde-format +#| msgid "Could not add the source %1" +msgid "Could not find %1" +msgstr "%1 kaynağı eklenemedi" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, fuzzy, kde-format +#| msgid "Flatpak repository URI (*.flatpakrepo)" +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Flatpak depo URI (*.flatpakrepo)" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, 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:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Applications" +msgid "Applications" +msgstr "Uygulamalar" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma Eklentileri" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Uygulama Eklentileri" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Hatalı KNewStuff URI: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "%1 için bilgi günlükle" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma Eklentileri" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma Gereçleri" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Yazı Tipleri" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, 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:20 +#, kde-format +msgid "Out of memory" +msgstr "Yetersiz bellek" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "Kullanılabilir ağ bağantısı yok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "İşlem desteklenmiyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "İç hata" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Geçersiz paket kimliği" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Paketi kurulu değil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Paket bulunamadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Paket zaten kurulu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Paket indirme başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Paket grubu bulunamadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Paket grup listesi geçersiz" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Bağımlılık çözümü başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Geçersiz filtre" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Bir iş parçacığı oluşturma başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "İletim başarısız oldu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "İletim iptal edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "Önbellek yok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Depo bulunamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Sistem paketi kaldırılamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit yan uygulamacığı çöktü" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Başlatma hatası" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Işlemi sonuçlandırma başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Yapılandırma ayrıştırma başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "İşlem iptal edilemiyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Kilit alınamadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Güncellenecek paket yok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Depo yapılandırması yazılamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Yerel kurulum başarısız oldu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Bozuk GPG imzası bulundu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Hiçbir GPG imzası bulunamadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Kaynak paketi kurulamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Depo yapılandırma hatası" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Hiçbir lisans anlaşması yok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Dosya çakışmaları bulundu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Paket çakışması bulundu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Depo mevcut değil" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Geçersiz paket dosyası" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Paket yüklemesi engellendi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Bozuk paket bulundu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Tüm paketler zaten kurulu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Dosya bulunamadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Kullanılabilir başka yansı yok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Hiçbir dağıtım yükseltme verisi yok" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Uyumsuz mimari" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "Cihazda boş alan kalmadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Bir ortam değişimi gerekli" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, 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:116 +#, kde-format +msgid "Update not found" +msgstr "Güncelleştirme bulunamadı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "İmzasız depodan kuramazsınız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "İmzasız depodan güncelleştirme yapamazsınız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Dosya listesi alınamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Gereklilikler alınamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Depo devre dışı bırakılamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Sınırlı indirme tespit edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Paket yapılandırma başarısız oldu" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Paketi inşa etmek başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Paket kurma başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Paket kaldırmak başarısız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, 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:140 +#, kde-format +msgid "The package database changed" +msgstr "Paket veritabanı değişti" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Sağlanan tür desteklenmiyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Kurulum kökü geçersiz" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, fuzzy, kde-format +#| msgid "Cannot fetch sources" +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Kaynaklar alınamıyor" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Öncelik iptal edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Bitmemiş işlem" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Kilit gerekli" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Bilinmeyen hata %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, 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:168 +#, 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:170 +#, 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:172 +#, 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:177 +#, fuzzy, kde-format +#| msgid "A change by '%1' suggests your system to be rebooted." +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" +"'%1' tarafından yapılan bir değişiklik, sistemi yeniden başlatmanızı " +"öneriyor." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Uygulama yeniden başlatılmalı." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Oturum yeniden başlatılmalı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, fuzzy, kde-format +#| msgid "The system will have to be rebooted." +msgid "The system will have to be restarted." +msgstr "Sistem yeniden başlatılmalı." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, 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:193 +#, 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:205 +#, kde-format +msgid "Waiting..." +msgstr "Bekleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Önbellek Tazeleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Ayarlar..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "İşleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Kaldır..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "İndiriliyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Kuruluyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Güncelleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Temizleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Bağımlılıklar çözümleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "İmzalar denetleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Gönderiler test ediliyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Gönderiliyor(commit)..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Tamamlandı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "İptal edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Kilit bekleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Yetkilendirme için bekleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Dosyalar kopyalanıyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Bilinmeyen Durum" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Bir şey bekliyoruz." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "İşlem ayarlanıyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "İşlem şu anda çalışıyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "İşlem şu anda paketleri kaldırıyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "İşlem şu anda paketleri indiriyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "İşlem şu anda paketleri kuruyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "İşlem şu anda paketleri güncelleştiriyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "İşlem şu anda temizleme yapıyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, 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:274 +#, 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:276 +#, 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:278 +#, 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:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "İşlem tamamlandı!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "İşlem iptal edildi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "İşlem şu anda kilit bekliyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, 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:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "İşlem şu anda dosyaları kopyalıyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Depo ön belleği şimdi tazeleniyor..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Bilinmeyen durum %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Kararlı" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Kararsız" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Deneme" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Application Updates" +msgid "Offline Updates" +msgstr "Uygulama Güncelleştirmeleri" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, fuzzy, kde-format +#| msgid "There are %1 updated packages!" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "%1 paket güncellendi!" +msgstr[1] "%1 paket güncellendi!" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Open File" +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Dosya Aç" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"base" +#| "\"" +#| msgid "Base System" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Temel Sistem" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Failed" +msgid "Repair Failed" +msgstr "Başarısız oldu" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, fuzzy, kde-format +#| msgid "There are %1 updated packages!" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "%1 paket güncellendi!" +msgstr[1] "%1 paket güncellendi!" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Eskiler:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Durumu Güncelle:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Yeniden Başlat:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Üretici:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" +msgstr[1] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, fuzzy, kde-format +#| msgid "Repository description:" +msgid "Repository URL:" +msgstr "Depo açıklaması:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Kaldırılacak paketler" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, 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:
                  • %1

                  in order to install:
                  • %2
                  " +msgstr "" +"Güncelleme ile aşağıdaki paketler kaldırılacak:\n" +"%1" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, 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:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Son Kullanıcı Lisans Sözleşmesini Kabul Et" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, 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:85 +#, kde-format +msgid "Broken" +msgstr "Bozuk" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Kullanılabilir" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Kurulu" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Yükseltilebilir" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Güncelleştirmeleri Kontrol Et" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox" +#| msgid "Application Updates" +msgid "View Updates" +msgstr "Uygulama Güncelleştirmeleri" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Başlatılıyor" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Bekleniyor" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "İndiriliyor" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Kuruluyor" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Kaldırılıyor" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Ekler Değiştiriliyor" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Tamamlandı" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Başarısız oldu" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "İptal Edildi" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Uygulama Güncelleştirmeleri" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Sistem Güncelleştirmeleri" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, fuzzy, kde-format +#| msgid "Plasma Addons" +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "Plasma Eklentileri" \ 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..44eb4bf --- /dev/null +++ b/po/tr/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2017-03-14 13:53+0100\n" +"Last-Translator: Volkan Gezer \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" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Güvenlik güncellemeleri mevcut" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Güncellemeler mevcut" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Sistem güncel" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "" + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "" + +#: notifier/DiscoverNotifier.cpp:209 +#, fuzzy, kde-format +#| msgid "Updates available" +msgid "Upgrade available" +msgstr "Güncellemeler mevcut" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "" + +#: notifier/main.cpp:38 +#, fuzzy, kde-format +#| msgid "System update available" +msgid "System update status notifier" +msgstr "Sistem güncellemesi mevcut" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..320ddad --- /dev/null +++ b/po/tr/plasma-discover.po @@ -0,0 +1,850 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "'%1' kategorisi bulunamadı" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "%1 açılamadı" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Belirtilen uygulamayı doğrudan paketin adı ile aç." + +#: discover/main.cpp:34 +#, fuzzy, kde-format +#| msgid "Open with a program that can deal with the given mimetype." +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "Belirtilen mime türü ile işlem yapabilen bir programla aç" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Bir kategoriye sahip girdi listelerini göster" + +#: discover/main.cpp:36 +#, 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:37 +#, kde-format +msgid "List all the available modes." +msgstr "Tüm kullanılabilir kipleri listele." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Sıkışık Kip (otomatik/sıkı/tam)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Kurulacak yerel paket dosyası" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Tüm kullanılabilir arka uçları listele." + +#: discover/main.cpp:41 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search string." +msgstr "'%1' içerisinde ara..." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "appstream: url şeması destekleniyor" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Keşfet" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Bir uygulama keşfedici" + +#: discover/main.cpp:93 +#, fuzzy, kde-format +#| msgid "© 2010-2016 Plasma Development Team" +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2016 Plasma Geliştirme Takımı" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Kullanılabilir arka uçlar:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Kullanılabilir kipler:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Eklentiler" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Daha fazla..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Değişiklikleri Uygula" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, fuzzy, kde-format +#| msgid "Addons" +msgid "Add" +msgstr "Eklentiler" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "İptal" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Beğeni:" +msgstr[1] "Beğeni:" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, fuzzy, kde-format +#| msgid "Source:" +msgid "Sources" +msgstr "Kaynak:" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:210 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviews" +msgstr "Gözden Geçir" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review" +msgstr "Gönder" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Install to Write a Review" +msgstr "Gönder" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, fuzzy, kde-format +#| msgid "Version: %1" +msgid "Version:" +msgstr "Sürüm: %1" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size:" +msgstr "Boyut: %1" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Kaynak:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Lisans:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Ara: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, fuzzy, kde-format +#| msgid "Search: %1" +msgid "Sort: %1" +msgstr "Ara: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "İsim" + +#: discover/qml/ApplicationsListPage.qml:76 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "Beğeni:" + +#: discover/qml/ApplicationsListPage.qml:85 +#, fuzzy, kde-format +#| msgid "Size: %1" +msgid "Size" +msgstr "Boyut: %1" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, fuzzy, kde-format +#| msgid "Sorry, nothing found..." +msgid "Sorry, nothing found" +msgstr "Üzgünüm, hiçbir şey bulunamadı..." + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Hala arıyor..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Yükleniyor..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "root olarak çalışmak tavsiye edilmez ve gereksizdir." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Ara" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Kurulu" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgid "Fetching updates..." +msgstr "Güncellemeler alınıyor" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Up to date" +msgstr "Güncelle" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Güncelle (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Ayarlar" + +#: discover/qml/DiscoverWindow.qml:129 +#, fuzzy, kde-format +#| msgid "Short summary..." +msgid "Sorry..." +msgstr "Kısa özet..." + +#: discover/qml/DiscoverWindow.qml:133 +#, fuzzy, kde-format +#| msgid "" +#| "Could not close the application, there are tasks that need to be done." +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "Uygulama kapatılamadı, yapılması gereken görevler var." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Kaynak bulunamadı: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, fuzzy, kde-format +#| msgid "More..." +msgid "Contribute..." +msgstr "Daha fazla..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +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/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "'%1' için kaynaklar" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Uzantılar..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Görevler (%%1)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Görevler" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, fuzzy, kde-format +#| msgid "Version: %1" +msgid "Version: %1" +msgstr "Sürüm: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "bilinmeyen değerlendirici" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1, %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, fuzzy, kde-format +#| msgid "Comments" +msgid "Comment by %1" +msgstr "Yorumlar" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Reviewing '%1'" +msgid "Reviewing %1" +msgstr "'%1' Değerlendirmesi" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Beğeni:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "İsim" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the title" +msgstr "Gönder" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the review" +msgstr "Gönder" + +#: discover/qml/ReviewDialog.qml:69 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Updating..." +msgid "Keep writing..." +msgstr "Güncelleniyor..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Gönder" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Ratings for %1" +msgid "Reviews for %1" +msgstr "%1 için beğeniler" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review..." +msgstr "Gönder" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Ara..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "'%1' içerisinde ara..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Kaynak Ekle" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Kökeni sil" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Güncellemeler" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Updates" +msgid "Update Issue" +msgstr "Güncellemeler" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "Tamam" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Seçilenleri Güncelle" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Tümünü Güncelle" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "All updates selected (%1)" +msgstr "güncelleme seçildi" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "updates selected" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "güncelleme seçildi" +msgstr[1] "güncelleme seçildi" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +#| msgid "Installing..." +msgid "Installing" +msgstr "Kuruluyor..." + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "Fetching updates" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Güncellemeler alınıyor" + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Güncellemeler" + +#: discover/qml/UpdatesPage.qml:379 +#, fuzzy, kde-format +#| msgctxt "@info" +#| msgid "The system is up to date" +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Sistem güncel" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Up to date" +msgstr "Güncelle" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Güncelleme kontrol edilmeli" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "Son güncellemenin denetlenme zamanı belli değil" \ No newline at end of file diff --git a/po/ug/libdiscover.po b/po/ug/libdiscover.po new file mode 100644 index 0000000..8a71deb --- /dev/null +++ b/po/ug/libdiscover.po @@ -0,0 +1,1704 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Proprietary" +msgid "Proprietary" +msgstr "ئىگىسى بار" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: 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 "تۈرى:" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: 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 "پروگراممىلار" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "ئىجادىيەت" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "سازلا" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "يەرلىكلەشتۈرۈش" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: 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 "ئىجادىيەت" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "ئورنى" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "ئېلېكترونىكا" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "ماتېماتىكا" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "ئورنى" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "" + +#: 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 "پروگراممىلار" + +#: 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 "ئورنى" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "گرافىك" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "ئىنتېرنېت" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "كۆپ ۋاسىتە" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "" + +#: 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 "يېڭىلانمىلار" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "نامەلۇم" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "نامەلۇم" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "ئۆچۈرۈۋاتىدۇ..." + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Applications" +msgstr "پروگراممىلار" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "پروگراممىلار" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "خەت نۇسخا" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, 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:28 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "PackageID invalid" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not installed" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package not found" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package is already installed" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Save Package Download List..." +msgid "Package download failed" +msgstr "بوغچا چۈشۈرۈش تىزىمىنى ساقلاش…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package group not found" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package group list invalid" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Local install failed" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Authentication error" +msgid "Repo configuration error" +msgstr "كىملىك دەلىللەش خاتالىقى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@action" +#| msgid "Save Package Download List..." +msgid "Package conflict found" +msgstr "بوغچا چۈشۈرۈش تىزىمىنى ساقلاش…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package install blocked" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "All packages already installed" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, fuzzy, kde-format +#| msgid "Distribution upgrades" +msgid "No distro upgrade data" +msgstr "تارقىتىلما يۈكسەلدۈرۈش" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Media Change Required" +msgid "A media change is required" +msgstr "ۋاسىتە ئۆزگەرتىش زۆرۈر" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Not Installed" +msgid "Package failed to install" +msgstr "قاچىلانمىدى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, fuzzy, kde-format +#| msgctxt "@action:button Cancels the download" +#| msgid "Cancel" +msgid "Canceled priority" +msgstr "ۋاز كەچ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "قۇلۇپلانغان" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Unknown Error" +msgid "Unknown error %1." +msgstr "نامەلۇم خاتالىق" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Waiting" +msgid "Waiting..." +msgstr "كۈتۈۋاتىدۇ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "چىقىرىۋەت" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Downloading" +msgid "Downloading..." +msgstr "چۈشۈرۈۋاتىدۇ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "ئورنىتىۋاتىدۇ..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, 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:233 +#, fuzzy, kde-format +#| msgctxt "@info Status information, widget title" +#| msgid "Finished" +msgid "Finished" +msgstr "تاماملاندى" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, fuzzy, kde-format +#| msgctxt "@action:button Cancels the download" +#| msgid "Cancel" +msgid "Canceled" +msgstr "ۋاز كەچ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, fuzzy, kde-format +#| msgctxt "@info Status info, widget title" +#| msgid "Waiting for Authentication" +msgid "Waiting for authorization..." +msgstr "دەلىللەشنى كۈتۈۋاتىدۇ‏" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown Status" +msgstr "نامەلۇم" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown status %1." +msgstr "نامەلۇم" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, fuzzy, kde-format +#| msgid "Installed" +msgctxt "update state" +msgid "Unstable" +msgstr "ئورنىتىلغان" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "پروگراممىلار" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"%1 نى چۈرۈش مەغلۇپ بولدى\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Open File" +msgctxt "@action:button" +msgid "Open Discover" +msgstr "ھۆججەت ئاچ" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"base" +#| "\"" +#| msgid "Base System" +msgctxt "@action:button" +msgid "Repair System" +msgstr "ئاساسى سىستېما" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +"%1 نى چۈرۈش مەغلۇپ بولدى\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, fuzzy, kde-format +#| msgctxt "@title:column" +#| msgid "Package" +msgid "Packages to remove" +msgstr "بوغچا" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
                  • %1

                  in order to install:
                  • %2
                  " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "بۇزۇلغان" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "ئىشلەتكىلى بولىدۇ" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "ئورنىتىلغان" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "يۈكشەلدۈرگىلى بولىدۇ" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, fuzzy, kde-format +#| msgid "%1 (%2)" +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "يېڭىلانمىنى تەكشۈرۈش" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "View Updates" +msgstr "پروگراممىلار" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "باشلاۋاتىدۇ..." + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "كۈتۈۋاتىدۇ" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "چۈشۈرۈۋاتىدۇ" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "ئورنىتىۋاتىدۇ" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "ئۆچۈرۈۋاتىدۇ..." + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "تامام" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, fuzzy, kde-format +#| msgctxt "@action:button Cancels the download" +#| msgid "Cancel" +msgctxt "@info:status" +msgid "Cancelled" +msgstr "ۋاز كەچ" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "پروگراممىلار" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, fuzzy, kde-format +#| msgctxt "@item:inlistbox Filters updates in the history view" +#| msgid "Updates" +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "يېڭىلانمىلار" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +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..26259fc --- /dev/null +++ b/po/ug/plasma-discover.po @@ -0,0 +1,838 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:41 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search string." +msgstr "ئىزدە…" + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "" + +#: discover/main.cpp:92 +#, fuzzy, kde-format +#| msgid "An application discoverer" +msgid "An application explorer" +msgstr "پرورامما بايقىغۇچ" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, fuzzy, kde-format +#| msgid "Add-ons" +msgid "Add" +msgstr "قىستۇرمىلار" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "ئەمەلدىن قالدۇر" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "باھالاش:" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "مەنبەلەر" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "باھالاش پىكىرلىرى" + +#: discover/qml/ApplicationPage.qml:245 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "تەكشۈر" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review" +msgstr "تاپشۇر" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Install to Write a Review" +msgstr "تاپشۇر" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, fuzzy, kde-format +#| msgid "Total Size: %1
                  " +msgid "Size:" +msgstr "جەمئىي چوڭلۇقى: %1
                  " + +#: discover/qml/ApplicationPage.qml:337 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "مەنبەلەر" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search: %1" +msgstr "ئىزدە…" + +#: discover/qml/ApplicationsListPage.qml:64 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Sort: %1" +msgstr "ئىزدە…" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "ئاتى" + +#: discover/qml/ApplicationsListPage.qml:76 +#, fuzzy, kde-format +#| msgid "Rating:" +msgid "Rating" +msgstr "باھالاش:" + +#: discover/qml/ApplicationsListPage.qml:85 +#, fuzzy, kde-format +#| msgid "Total Size: %1
                  " +msgid "Size" +msgstr "جەمئىي چوڭلۇقى: %1
                  " + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:152 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "ئورنات" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "ئوقۇۋاتىدۇ…" + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "ئىزدە…" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "ئورنىتىلغان" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Fetching updates..." +msgstr "يېڭىلا" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Up to date" +msgstr "يېڭىلا" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "يېڭىلا" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "Settings" +msgstr "باھالاش" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "ئورنات" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "چىقىرىۋەت" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:17 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "يېڭىلا" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Review" +msgid "Reviewing %1" +msgstr "تەكشۈر" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "باھالاش:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "ئاتى" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the title" +msgstr "تاپشۇر" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the review" +msgstr "تاپشۇر" + +#: discover/qml/ReviewDialog.qml:69 +#, fuzzy, kde-format +#| msgid "Loading..." +msgid "Keep writing..." +msgstr "ئوقۇۋاتىدۇ…" + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "تاپشۇر" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "Reviews for %1" +msgstr "باھالاش" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review..." +msgstr "تاپشۇر" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "ئىزدە…" + +#: discover/qml/SearchField.qml:27 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search in '%1'..." +msgstr "ئىزدە…" + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "مەنبە قوشۇش" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "" + +#: discover/qml/UpdatesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Updates" +msgstr "يېڭىلا" + +#: discover/qml/UpdatesPage.qml:41 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Update Issue" +msgstr "يېڭىلا" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "تامام" + +#: discover/qml/UpdatesPage.qml:77 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "Update Selected" +msgstr "ھەممىنى يېڭىلا" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "ھەممىنى يېڭىلا" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "All updates selected (%1)" +msgstr "ھەممىنى يېڭىلا" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Update All" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "ھەممىنى يېڭىلا" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "ئورنات" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "يېڭىلا" + +#: discover/qml/UpdatesPage.qml:373 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "يېڭىلا" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Up to date" +msgstr "يېڭىلا" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..f268622 --- /dev/null +++ b/po/uk/libdiscover.po @@ -0,0 +1,1651 @@ +# Translation of libdiscover.po to Ukrainian +# Copyright (C) 2015-2020 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: libdiscover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-09 07:53+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 20.11.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Юрій Чорноіван" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yurchor@ukr.net" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "Пропрієтарний" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "Помилка під час спроби отримати рецензії: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "Помилка під час спроби надсилання даних щодо корисності: %1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "Помилка під час надсилання даних рецензії: %1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "Фіктивна категорія" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "тест" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "фіктивні додатки" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "фіктивний 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "фіктивний із вмістом" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "фіктивний зі значним вмістом" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "фіктивний 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "фіктивний 4" + +#: 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 "Програми" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "Інструменти" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "Доступність" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "Інструменти розробника" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "Налагоджування" + +#: 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 "Розробка графічних інтерфейсів" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "Локалізація" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "Профілювання" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "Розробка вебсторінок" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "Освіта" + +#: 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 "Наукові та інженерні обчислення" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "Астрономія" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "Біологія" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "Хімія" + +#: 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 "Комп’ютерні науки та робототехніка" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "Електроніка" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "Інженерна справа" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "Географія" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "Геологія" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "Математика" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "Фізика" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "Ігри" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "Аркади" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "Ігри на дошці" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "Карткові ігри" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "Головоломки" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "Рольові ігри" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "Імітатори" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "Стратегія" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "Спорт" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "Екшн" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "Імітатори" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Графіка" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "Просторові" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Малювання" + +#: 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 "Малювання та редагування" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Фотографія" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "Видавнича справа" + +#: 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 "Сканування та розпізнавання" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "Переглядачі" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "Інтернет" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "Спілкування" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "Спільний доступ до файлів" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Пошта" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "Переглядачі інтернету" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "Звук та відео" + +#: 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 "Редактори звуку та відео" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "Програвачі звуку" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "Програвачі відео" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "Офіс" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "Системні параметри" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "Локальний пакунок" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "Помилкове форматування адреси appstream «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "Невідомий" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "Отримуємо дані щодо розміру" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "Невідомий розмір" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 буде отримано, %2 буде використано на диску" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 на диску" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "Додати Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "Не вдалося додати джерело %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "Вилучаємо «%1»" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" +"Щоб вилучити це сховище, слід вилучити пакунки із такими програмами:
                  • " +"%1
                  " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "Не вдалося вилучити віддалене сховище %1: %2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "Не вдалося знайти %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "Введіть адресу сховища Flatpak (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "Додаємо віддалене сховище «%1» до %2 з %3" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "Переглянути EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"Для доступу до віддаленого сховища %1 вам слід погодитися із умовами " +"ліцензування:\n" +" %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "Ініціалізація модуля %1 триває надто довго" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "Програми" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Додатки Плазми" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "Додатки програм" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "Помилка у роботі з мережею у модулі %1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" +"До сервера надіслано надто багато запитів для модуля %1. Будь ласка, " +"повторіть спробу за декілька хвилин." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" +"Некоректний модуль %1, повідомте про це розробникам вашого дистрибутива." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "Не вдалося отримати знімок вікна для запису %1 у модулі %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" +"Непридатна до обробки помилка у модулі %1. Повідомте про це розробникам " +"вашого дистрибутива." + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "Помилкова адреса KNewStuff: %1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "Запустити" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "Використати" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "Дані щодо входу для %1" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "Не вдалося запустити %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Додатки Плазми" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Віджети Плазми" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Шрифти" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" +"Будь ласка, переконайтеся, що у вашій системі належним чином налаштовано " +"Appstream" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "Не вистачає пам'яті" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "З’єднання з мережею недоступне" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "Дія не підтримується" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "Внутрішня помилка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "Помилка GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "Некоректний ідентифікатор пакунка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "Пакунок не встановлено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "Пакунок не знайдено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "Пакунок вже встановлено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "Спроба отримання пакунка зазнала невдачі" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "Не вдалося знайти групи пакунка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "Некоректний список груп пакунків" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "Не вдалося розв’язати залежності" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "Некоректне фільтрування" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "Не вдалося створити потік виконання" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "Помилка під час виконання дії" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "Дію скасовано" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "У кеші немає ніяких даних" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "Не вдалося знайти сховище" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "Не можна вилучати пакунок, без якого система не працюватиме" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "Фонова служба PackageKit завершила роботу у аварійному режимі" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "Помилка ініціалізації" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "Не вдалося завершити виконання дії" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "Під час обробки файла налаштувань сталася помилка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "Не вдалося скасувати дію" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "Не вдалося встановити блокування" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "Немає пакунків для оновлення" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "Не вдалося записати файл налаштувань сховища" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "Невдала спроба локального встановлення" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "Виявлено помилковий підпис GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "Не виявлено підпису GPG" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "Не вдалося встановити пакунок з початковими кодами" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "Помилка у налаштуваннях сховища" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "Немає ліцензійної угоди" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "Виявлено конфлікт файлів" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "Виявлено конфлікт пакунків" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "Сховище недоступне" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "Некоректний файл пакунка" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "Встановлення пакунка заблоковано" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "Виявлено пошкоджений пакунок" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "Усі пакунки вже встановлено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "Файл не знайдено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "Список дзеркал вичерпано" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "Немає даних щодо оновлення дистрибутива" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "Несумісні архітектури" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "На пристрої зберігання даних більше немає вільного місця" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "Слід змінити носій" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "Вас не уповноважено на виконання цієї операції" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "Оновлення не знайдено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "Не можна виконувати встановлення з непідписаного сховища" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "Не можна виконувати оновлення з непідписаного сховища" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "Не вдалося отримати список файлів" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "Не вдалося отримати список потрібних пакунків" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "Не вдалося вимкнути сховище" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "Виявлено отримання даних з обмеженим використанням" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "Спроба налаштування пакунка зазнала невдачі" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "Спроба збирання пакунка зазнала невдачі" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "Спроба встановлення пакунка зазнала невдачі" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "Не вдалося вилучити пакунок" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "Спроба оновлення зазнала невдачі через запущений процес" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "До бази даних пакунків внесено зміни" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "Підтримки наданого типу не передбачено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "Некоректна коренева тека встановлення" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "Не вдалося отримати початковий код" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "Скасовано пріоритетність" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "Незавершена дія" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "Потрібне блокування" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "Невідома помилка %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "До «%1» було внесено зміни, пропонуємо виконати перезавантаження." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "Після змін, внесених «%1», варто перезапустити сеанс користувача." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" +"«%1» було оновлено з міркувань забезпечення захисту системи. Рекомендуємо " +"перезапустити ваш сеанс користувача, щоб внесені зміни набули чинності." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" +"«%1» було оновлено з міркувань забезпечення захисту системи. Рекомендуємо " +"перезапустити вашу операційну систему, щоб внесені зміни набули чинності." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" +"Після змін, внесених «%1», варто перезапустити вашу операційну систему." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "Програму слід перезапустити." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "Сеанс користувача слід перезапустити." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "Систему слід перезапустити." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "З міркувань безпеки сеанс користувача слід перезапустити." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "З міркувань безпеки систему слід перезапустити." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "Очікуємо…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "Оновлюємо кеш…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "Налаштовування…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "Виконуємо обробку…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "Вилучення…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "Отримання даних…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "Встановлюємо…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "Оновлення…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "Спорожнення…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "Розв’язання залежностей…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "Перевіряємо підписи…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "Перевіряємо можливість запису…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "Надсилання…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "Завершено" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "Скасовано" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "Очікуємо на блокування…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "Очікуємо на завершення розпізнавання…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "Копіювання файлів…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "Невідомий стан" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "Очікуємо на подію." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "Налаштовуємо параметри дії…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "Виконуємо обробку дії…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "Вилучаємо пакунки…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "Отримуємо дані пакунків…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "Встановлюємо пакунки…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "Оновлюємо пакунки…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "Виконуємо вилучення непотрібних даних…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" +"Зараз виконується розв’язання залежностей пакунків, які буде встановлено…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "Виконуємо перевірку підписів пакунків…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "Виконується перевірка можливості запису цього набору пакунків…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "Зараз виконується запис до системи набору пакунків…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "Виконання дії завершено!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "Дію було скасовано" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "Виконується очікування на встановлення блокування…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "Очікуємо на уповноваження від користувача на виконання дії…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "Зараз виконується дія з копіювання файлів…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "Зараз оновлюємо кеш сховищ…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "Невідомий стан %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "Стабільний" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "Нестабільний" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "Тестовий" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "Автономні оновлення" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Не вдалося оновити %1 пакунок\n" +"%2" +msgstr[1] "" +"Не вдалося оновити %1 пакунки\n" +"%2" +msgstr[2] "" +"Не вдалося оновити %1 пакунків\n" +"%2" +msgstr[3] "" +"Не вдалося оновити пакунок\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Відкрити Discover" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "Полагодити систему" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "Невдала спроба відновлення" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "Будь ласка, повідомте авторам свого дистрибутива: %1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "Успішно оновлено %1 пакунок" +msgstr[1] "Успішно оновлено %1 пакунки" +msgstr[2] "Успішно оновлено %1 пакунків" +msgstr[3] "Успішно оновлено %1 пакунок" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "Робить застарілим:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "Нотатки щодо випуску:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "Стан оновлення:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "Перезапуск:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "Виробник:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, 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:90 +#, kde-format +msgid "Repository URL:" +msgstr "Адреса сховища:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "Пакунки на вилучення" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
                  • %1

                  in order to install:
                  • %2
                  " +msgstr "" +"Під час оновлення буде вилучено такі пакунки:
                  • %1

                  для " +"встановлення:
                  • %2
                  " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "Будь ласка, перезавантажте комп'ютер, щоб завершити оновлення" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"Надіслано запит щодо зміни носія типу «%1».\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "Погодитися з EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "Немає підпису %1 у %2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "Підтвердження вилучення пакунка" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 – %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" +"Для встановлення цієї програми snap слід вимкнути заходи обмеження доступу." + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "Список всіх модулів, які слід завантажити, відокремлених комами («,»)." + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "Пошкоджено" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "Доступно" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "Встановлено" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "Можна оновлювати" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "Перевірити наявність оновлень" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "Перегляд оновлень" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/с" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "Розпочинаємо" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "Очікуємо" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Отримання" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Встановлення" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Вилучення" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Зміна додатків" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "Завершено" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "Помилка" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "Скасовано" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Оновлення програм" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "Оновлення системи" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +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..f2aae75 --- /dev/null +++ b/po/uk/plasma-discover-notifier.po @@ -0,0 +1,160 @@ +# Translation of plasma-discover-notifier.po to Ukrainian +# Copyright (C) 2015-2020 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover-notifier\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-06-24 08:04+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 20.07.70\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "Перегляд оновлень" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "Випущено оновлення для забезпечення захисту" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "Доступні оновлення" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "Система не потребує оновлення" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "Слід перезавантажити комп'ютер" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "Поза мережею" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "Перезапустити" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "Потрібне перезавантаження" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "Для застосування оновлень систему слід перезавантажити." + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "Оновити" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "Доступне оновлення" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "Нова версія: %1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Сповіщувач Discover" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "Засіб сповіщення щодо оновлень у системі" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© Команда розробників Плазми, 2010–2019" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Юрій Чорноіван" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yurchor@ukr.net" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "Замінити наявний екземпляр" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "Не показувати панель сповіщення" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "прихований" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "Оновлення" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "Відкрити Discover…" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "Переглянути оновлення…" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "Оновити…" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "Перезапустіть, щоб застосувати встановлені оновлення" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "Натисніть, щоб перезапустити комп'ютер" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..64a776b --- /dev/null +++ b/po/uk/plasma-discover.po @@ -0,0 +1,828 @@ +# Translation of plasma-discover.po to Ukrainian +# Copyright (C) 2012-2020 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, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: plasma-discover\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-15 08:42+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 20.11.70\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" +"Не знайдено модулів програми. Будь ласка, повідомте про це розробників " +"вашого дистрибутива." + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "Не вдалося знайти категорію «%1»" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" +"Не можна взаємодіяти з ресурсами flatpak без модуля flatpak %1. Будь ласка, " +"спочатку встановіть його." + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "Не вдалося відкрити %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "" +"Безпосередньо відкрити вказану за допомогою адреси appstream:// програму." + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" +"Відкрити з пошуком програми, яка здатна обробляти дані цього типу MIME." + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "Показати список записів з категорією." + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" +"Відкрити Discover у вказаному режимі. Назви режимів відповідають назвам " +"кнопок панелі інструментів." + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "Побудувати список всіх доступних режимів." + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "Компактний режим (auto/compact/full)." + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "Локальний файл пакунка для встановлення" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "Побудувати список всіх доступних модулів." + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "Шукати рядок." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "Показати доступні варіанти для відгуків користувача" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "Підтримує appstream: схема адрес" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Пошук" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "Програма для вивчення сховища програм" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© Команда розробників Плазми, 2010–2020" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "Забезпечення якості, дизайн та зручність у користуванні" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Юрій Чорноіван" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "yurchor@ukr.net" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "Доступні модулі:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "Доступні режими:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "Додатки" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "Більше…" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "Застосувати зміни" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "Скинути" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "Додати нове сховище %1" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "Додати" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Скасувати" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "– %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, 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:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "Оцінок ще немає" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "Джерела" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 — %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "Що нового?" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Рецензії" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "Показати %1 рецензію…" +msgstr[1] "Показати усі %1 рецензії…" +msgstr[2] "Показати усі %1 рецензій…" +msgstr[3] "Показати рецензію…" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "Написати рецензію" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "Встановіть, щоб написати рецензію" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "Категорія:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1, випущено %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "Версія:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "Автор:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "Розмір:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "Джерело:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "Ліцензування:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "Переглянути умови ліцензування" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "Документація:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "Ознайомитися із підручником" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "Участь:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "Відвідати сайт програми" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "Зробити пожертву" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "Повідомити про проблему" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "Пошук: %1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "Упорядковування: %1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Назва" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Оцінка" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "Розмір" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "Дата випуску" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "Вибачте, нічого не знайдено" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "Шукаємо…" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "Рекомендовані" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "Завантаження…" + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" +"Не вдалося завантажити список програм.Будь ласка, перевірте, чи є " +"працездатним з'єднання із інтернетом." + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "Повернутися до сторінки рекомендацій" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" +"Працювати від імені користувача root не варто, у цьому немає " +"потреби." + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "Пошук" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Встановлено" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "Отримуємо оновлення…" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "Не потребує оновлення" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Оновлення (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "Про програму" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "Параметри" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "Вибачте…" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" +"Не вдалося завершити роботу Discover, слід виконати заплановані завдання." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "Вийти попри це" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "Не вдалося знайти ресурс: %1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "Продовжити" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "Надіслати дані щодо користування" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"Надсилає анонімізовані дані щодо користування команді KDE. Ці дані " +"допоможуть нам краще зрозуміти потреби користувачів. Докладніше про це тут: " +"https://kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "Надсилаємо дані щодо користування…" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "Налаштувати" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "Налаштувати систему відгуків…" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" +"Ви можете допомогти у поліпшенні цієї програми, поділившись статистичними " +"даними та взявши участь у опитуванні." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "Взяти участь…" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "Нам потрібні ваші відгуки!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "Взяти участь…" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "Встановити" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "Вилучити" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "Ресурси для «%1»" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "Розширення…" + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "Завдання (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "Завдання" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 — %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 — %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "Версія: %1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "невідомий рецензент" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1, %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "Коментар %1" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "Голоси: %1 з %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "Корисно?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "Так" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "Ні" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "Рецензування %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Оцінка:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "Ім'я:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "Заголовок:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "Вкажіть оцінку" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "Напишіть заголовок" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "Напишіть рецензію" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "Напишіть ще щось…" + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "Надто довгий!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "Надіслати рецензію" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "Рецензії щодо %1" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "Написати рецензію…" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "Встановіть цю програму, щоб написати рецензію" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Пошук…" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Пошук у «%1»…" + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (Типове)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "Додати джерело…" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "Зробити типовим" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "Не вдалося підвищити пріоритетність «%1»" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "Не вдалося знизити пріоритетність «%1»" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "Вилучити походження" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "Показати дані" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "Не вистачає модулів обробки" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "Оновлення" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "Проблема із оновленням" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "Гаразд" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "Оновити позначені" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "Оновити всі" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "Позначено усі оновлення (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Позначено %1 оновлення з %2 (%3)" +msgstr[1] "Позначено %1 оновлення з %2 (%3)" +msgstr[2] "Позначено %1 оновлень з %2 (%3)" +msgstr[3] "Позначено %1 оновлення з %2 (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "Перезапуск" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "Оновити до версії %1" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "Встановлюємо" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "Докладніше…" + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Отримуємо оновлення…" + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "Оновлення" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "Система потребує перезапуску для застосування оновлень" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "Не потребує оновлення" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "Слід перевірити на оновлення" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..198df8c --- /dev/null +++ b/po/vi/libdiscover.po @@ -0,0 +1,1736 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+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" + +#, fuzzy, kde-format +#| msgctxt "Category" +#| msgid "Games" +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Trò chơi" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Proprietary" +msgid "Proprietary" +msgstr "Độc quyền" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "" + +#: 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 "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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 " + +#: 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ạ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "IDE" + +#: 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á" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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ử" + +#: 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" + +#: 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í" + +#: 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" + +#: 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" + +#: 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í" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "Đồ hoạ" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "Vẽ" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "Ảnh" + +#: 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" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "Thư" + +#: 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" + +#: 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" + +#: 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 "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "" + +#: 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 "" + +#: 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" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown" +msgstr "Không rõ" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown size" +msgstr "Không rõ" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, 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:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 trên đĩa" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Removing" +msgid "Removing '%1'" +msgstr "Đang gỡ bỏ" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Applications" +msgstr "Ứng dụng" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Application Addons" +msgstr "Ứng dụng" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "Phông chữ" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, 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:32 +#, 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:34 +#, 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:36 +#, 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:38 +#, 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:40 +#, 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:42 +#, 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:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization error" +msgid "Transaction failure" +msgstr "Lỗi khởi tạo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Initialization error" +msgid "Initialization failure" +msgstr "Lỗi khởi tạo" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, 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:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, 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:86 +#, kde-format +msgid "No license agreement" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, 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:90 +#, 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:92 +#, kde-format +msgid "Repo not available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, 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:98 +#, 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:100 +#, 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:102 +#, 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:104 +#, kde-format +msgid "No more mirrors available" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, 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:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, 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:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, 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:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, 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:132 +#, 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:134 +#, 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:136 +#, 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:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, fuzzy, kde-format +#| msgctxt "@info:status Package locked at a certain version" +#| msgid "Locked" +msgid "Lock required" +msgstr "Đã khoá" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown error %1." +msgstr "Không rõ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when waiting" +#| msgid "Waiting" +msgid "Waiting..." +msgstr "Đang đợi" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, 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:213 +#, fuzzy, kde-format +#| msgctxt "@info:status Requested action" +#| msgid "Remove" +msgid "Remove..." +msgstr "Gỡ bỏ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Downloading" +msgid "Downloading..." +msgstr "Đang tải" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, fuzzy, kde-format +#| msgctxt "@info:status" +#| msgid "Installing" +msgid "Installing..." +msgstr "Đang cài" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, 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:233 +#, kde-format +msgid "Finished" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, 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:244 +#, kde-format +msgid "Copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown Status" +msgstr "Không rõ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, fuzzy, kde-format +#| msgctxt "@info license" +#| msgid "Unknown" +msgid "Unknown status %1." +msgstr "Không rõ" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, 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:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "Offline Updates" +msgstr "Ứng dụng" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"Tải %1 thất bại\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, fuzzy, kde-format +#| msgctxt "@title:window" +#| msgid "Open File" +msgctxt "@action:button" +msgid "Open Discover" +msgstr "Mở tệp" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, fuzzy, kde-format +#| msgctxt "" +#| "@item:inlistbox Human-readable name for the Debian package section \"base" +#| "\"" +#| msgid "Base System" +msgctxt "@action:button" +msgid "Repair System" +msgstr "Hệ thống cơ sở" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, fuzzy, kde-format +#| msgctxt "@label" +#| msgid "" +#| "Failed to download %1\n" +#| "%2\n" +#| "\n" +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "" +"Tải %1 thất bại\n" +"%2\n" +"\n" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, 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:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
                  • %1

                  in order to install:
                  • %2
                  " +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "" +"The package %1 and its vendor %2 require that you accept their license:\n" +" %3" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Broken" +msgid "Broken" +msgstr "Hỏng" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, fuzzy, kde-format +#| msgid "Available updates" +msgid "Available" +msgstr "Bản cập nhật sẵn sàng" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, fuzzy, kde-format +#| msgctxt "@info:status describes a past-tense action" +#| msgid "Installed" +msgid "Installed" +msgstr "Đã cài " + +#: libdiscover/resources/AbstractResource.cpp:88 +#, fuzzy, kde-format +#| msgctxt "@info:status Package state" +#| msgid "Upgradeable" +msgid "Upgradeable" +msgstr "Nâng cấp được" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, 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:94 +#, fuzzy, kde-format +#| msgid "Applications" +msgid "View Updates" +msgstr "Ứng dụng" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when waiting" +#| msgid "Waiting" +msgctxt "@info:status" +msgid "Starting" +msgstr "Đang đợi" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when waiting" +#| msgid "Waiting" +msgctxt "@info:status" +msgid "Waiting" +msgstr "Đang đợi" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "Đang tải" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "Đang cài" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "Đang gỡ bỏ" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "Đang thay đổi phần mở rộng" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, fuzzy, kde-format +#| msgctxt "@info:status Progress text when done" +#| msgid "Done" +msgctxt "@info:status" +msgid "Done" +msgstr "Xong" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, fuzzy, kde-format +#| msgid "Applications" +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "Ứng dụng" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, 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" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +msgstr "" \ 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..d79ae38 --- /dev/null +++ b/po/vi/plasma-discover.po @@ -0,0 +1,838 @@ +# 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: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+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:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "" + +#: discover/main.cpp:33 +#, fuzzy, kde-format +#| msgid "Directly open the specified application by its package name." +msgid "Directly open the specified application by its appstream:// URI." +msgstr "Mở trực tiếp ứng dụng được chỉ định bằng tên gói của nó" + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "" + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "" + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "" + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "" + +#: discover/main.cpp:41 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search string." +msgstr "Tìm kiếm trong '%1'..." + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Khám phá" + +#: discover/main.cpp:92 +#, 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:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "" + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "" + +#: discover/qml/AddSourceDialog.qml:58 +#, fuzzy, kde-format +#| msgid "Add-ons" +msgid "Add" +msgstr "Phần mở rộng" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "Huỷ" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "Đánh giá" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "" + +#: discover/qml/ApplicationPage.qml:59 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Sources" +msgstr "Nguồn" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "Nhận xét" + +#: discover/qml/ApplicationPage.qml:245 +#, 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:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review" +msgstr "Gửi" + +#: discover/qml/ApplicationPage.qml:257 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Install to Write a Review" +msgstr "Gửi" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:328 +#, fuzzy, kde-format +#| msgid "Total Size: %1
                  " +msgid "Size:" +msgstr "Tổng kích thước: %1
                  " + +#: discover/qml/ApplicationPage.qml:337 +#, fuzzy, kde-format +#| msgid "Sources" +msgid "Source:" +msgstr "Nguồn" + +#: discover/qml/ApplicationPage.qml:346 +#, fuzzy, kde-format +#| msgid "points: %1" +msgid "License:" +msgstr "điểm: %1" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:45 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Search: %1" +msgstr "Tìm kiếm trong '%1'..." + +#: discover/qml/ApplicationsListPage.qml:64 +#, fuzzy, kde-format +#| msgid "Search in '%1'..." +msgid "Sort: %1" +msgstr "Tìm kiếm trong '%1'..." + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "Tên" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "Đánh giá" + +#: discover/qml/ApplicationsListPage.qml:85 +#, fuzzy, kde-format +#| msgid "Total Size: %1
                  " +msgid "Size" +msgstr "Tổng kích thước: %1
                  " + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "" + +#: discover/qml/ApplicationsListPage.qml:152 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Still looking..." +msgstr "Cài đặt" + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "" + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:60 +#, fuzzy, kde-format +#| msgid "Search..." +msgid "Search" +msgstr "Tìm kiếm..." + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "Đã cài " + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Fetching updates..." +msgstr "Cập nhật" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Up to date" +msgstr "Cập nhật" + +#: discover/qml/DiscoverWindow.qml:75 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "Cập nhật" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, fuzzy, kde-format +#| msgid "Best Ratings" +msgid "Settings" +msgstr "Đánh giá cao" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +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/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "" + +#: discover/qml/ProgressView.qml:17 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Tasks (%1%)" +msgstr "Cập nhật" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "" + +#: discover/qml/ReviewDialog.qml:23 +#, fuzzy, kde-format +#| msgid "Reviewing %1" +msgid "Reviewing %1" +msgstr "Nhận xét %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "Đánh giá:" + +#: discover/qml/ReviewDialog.qml:39 +#, fuzzy, kde-format +#| msgid "Name" +msgid "Name:" +msgstr "Tên" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "" + +#: discover/qml/ReviewDialog.qml:67 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the title" +msgstr "Gửi" + +#: discover/qml/ReviewDialog.qml:68 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write the review" +msgstr "Gửi" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "" + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "" + +#: discover/qml/ReviewDialog.qml:84 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Submit review" +msgstr "Gửi" + +#: discover/qml/ReviewsPage.qml:43 +#, fuzzy, kde-format +#| msgid "Rating" +msgid "Reviews for %1" +msgstr "Đánh giá" + +#: discover/qml/ReviewsPage.qml:54 +#, fuzzy, kde-format +#| msgid "Submit" +msgid "Write a Review..." +msgstr "Gửi" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "Tìm kiếm..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "Tìm kiếm trong '%1'..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "" + +#: discover/qml/SourcesPage.qml:51 +#, fuzzy, kde-format +#| msgid "Add Source" +msgid "Add Source..." +msgstr "Thêm nguồn" + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "" + +#: discover/qml/SourcesPage.qml:239 +#, 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:41 +#, fuzzy, kde-format +#| msgid "Update" +msgid "Update Issue" +msgstr "Cập nhật" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "" + +#: discover/qml/UpdatesPage.qml:77 +#, fuzzy, kde-format +#| msgid "Upgrade All!" +msgid "Update Selected" +msgstr "Nâng cấp tất cả!" + +#: discover/qml/UpdatesPage.qml:77 +#, fuzzy, kde-format +#| msgid "Upgrade All!" +msgid "Update All" +msgstr "Nâng cấp tất cả!" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Upgrade All!" +msgid "All updates selected (%1)" +msgstr "Nâng cấp tất cả!" + +#: discover/qml/UpdatesPage.qml:127 +#, fuzzy, kde-format +#| msgid "Upgrade All!" +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "Nâng cấp tất cả!" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "" + +#: discover/qml/UpdatesPage.qml:301 +#, fuzzy, kde-format +#| msgid "Install" +msgid "Installing" +msgstr "Cài đặt" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "" + +#: discover/qml/UpdatesPage.qml:360 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Fetching updates..." +msgstr "Cập nhật" + +#: discover/qml/UpdatesPage.qml:373 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Updates" +msgstr "Cập nhật" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, fuzzy, kde-format +#| msgid "Update" +msgctxt "@info" +msgid "Up to date" +msgstr "Cập nhật" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..fb7a63c --- /dev/null +++ b/po/zh_CN/libdiscover.po @@ -0,0 +1,1618 @@ +# 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, 2019. +# Guo Yunhe , 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2021-01-03 09:07\n" +"Last-Translator: \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-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf5-stable/messages/discover/libdiscover.pot\n" +"X-Crowdin-File-ID: 2320\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE China,Guo Yunhe,Charles Dong,Honghao Li,Fang Zheng" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" +"kde-china@kde.org,i@guoyunhe.me,charles.dong@kde.org,honghao.li@kde.org,fang." +"zheng@kde.org" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "专有" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "获取评论时出错:%1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "提交有用时出错:%1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "提交评论时出错:%1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "虚设分类" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "虚设项" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "虚设附加组件" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "虚设项 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "有内容的虚设项" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "有不少内容的虚设项" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "虚设项 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "虚设项 4" + +#: 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 "应用程序" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "附件" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "辅助" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "开发者工具" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "调试" + +#: 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 "图形界面设计" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "集成开发环境" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "本地化" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "分析" + +#: 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 开发" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "教育" + +#: 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 "科学和工程" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "天文" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "生物" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "化学" + +#: 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 "计算机科学和机器人学" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "电子" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "工程" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "地理" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "地质" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "数学" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "物理" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "游戏" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "街机" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "棋局" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "卡牌" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "解谜" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "角色扮演" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "模拟" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "策略" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "运动" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "动作" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "模拟" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "图像" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "3D" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "绘图" + +#: 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 "绘画和编辑" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "摄影" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "出版" + +#: 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 "扫描和文字识别" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "查看器" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "互联网" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "聊天" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "文件共享" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "邮件" + +#: 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 浏览器" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "多媒体" + +#: 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 "音频和视频编辑器" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "音频播放器" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "视频播放器" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "办公" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "系统设置" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "本地包" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "错误的 AppStream URL “%1”" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "未知" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "获取大小信息" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "未知大小" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "需要下载 %1,安装后占用 %2 磁盘空间" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "安装后占用 %1 磁盘空间" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "添加 Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "无法添加源 %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "正在移除“%1”" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "" +"要移除此仓库,您必须卸载以下应用:\n" +"
                  • %1
                  " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "移除 %1 远程仓库失败:%2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "找不到 %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "请输入 Flatpak 仓库 URI (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "在“%2”中添加来自“%3”的远程“%1”" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "查看最终用户许可协议" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"远程 %1 需要您接受他们的许可证:\n" +"%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "后端 %1 初始化时间过长" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "应用程序" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma 附加组件" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "应用程序附加组件" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "%1 后端网络错误:%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "%1 后端的服务器请求发送过多。请过几分钟之后再试。" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "无效的 %1 后端。请联系您的发行版。" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "无法从 %2 后端获取 %1 的屏幕截图" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "%1 后端出现无法处理的错误。请联系您的发行版。" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1:%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "错误的 KNewStuff URI:%1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "启动" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "使用" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "%1 的登录信息" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "无法启动 %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma 附加组件" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma 小部件" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "字体" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "请确保系统上正确设置了 AppStream" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "内存耗尽" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "无可用的网络连接" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "操作不被支持" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "内部错误" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG 失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID 无效" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "软件包未安装" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "软件包未找到" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "软件包已安装" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "软件包下载失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "未找到软件包组" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "软件包组列表无效" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "依赖关系解决失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "过滤器无效" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "创建线程失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "事务失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "事务已取消" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "无可用缓存" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "无法找到软件仓库" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "无法移除系统软件包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit 守护进程已崩溃" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "初始化错误" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "未能完成事务" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "解析配置失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "无法取消事务" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "无法获得锁" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "没有可更新的软件包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "无法写入软件仓库配置" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "本地安装失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "找到了错误的 GPG 签名" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "未找到 GPG 签名" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "无法安装源代码包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "软件仓库配置错误" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "没有许可协议" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "发现了冲突的文件" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "发现了软件包冲突" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "软件仓库不可用" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "包文件无效" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "安装软件包操作被阻止" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "发现了损坏的包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "所有软件包已被安装" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "找不到文件" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "没有更多可用的镜像" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "没有发行版升级数据" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "架构不兼容" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "设备上没有可用空间" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "需要更换安装介质" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "您没有足够的权限来执行这一操作" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "找不到更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "无法从未签名的软件仓库安装程序" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "无法从未签名的软件仓库更新程序" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "无法获取文件列表" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "无法获取依赖信息" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "无法禁用软件仓库" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "检测到下载被限制" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "配置软件包失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "构建软件包失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "安装软件包失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "移除软件包失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "由于进程正在运行,更新已失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "软件包数据库已改变" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "不支持给定的类型" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "安装所用根目录无效" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "无法获取源代码" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "已取消的优先级" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "未完成的事务" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "需要锁" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "未知错误 %1。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "“%1”已被更改,建议重启。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "来自“%1”的变更提示您重启会话。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "“%1”因安全问题已被更新,建议重启会话。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "“%1”因安全问题已被更新,建议重启系统。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "来自“%1”的变更提示您重启系统。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "应用程序将会重启。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "当前会话将会重启" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "系统将会重启。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "出于安全考虑,会话必须重新启动。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "出于安全考虑,系统必须重新启动。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "等待中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "正在刷新缓存..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "设置..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "正在处理..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "正在删除..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "正在下载..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "正在安装..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "正在更新..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "正在清理..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "正在解决依赖关系..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "检查签名..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "测试提交..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "正在提交..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "已完成" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "已取消" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "等待锁..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "正在等待认证..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "正在复制文件..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "未知状态" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "我们正在等待。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "正在设置事务..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "事务正在进行中..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "当前事务正在移除软件包..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "当前事务正在下载软件包..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "当前事务正在安装软件包..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "当前事务正在更新软件包..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "当前事务正在进行清理工作..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "当前事务正在处理所需安装软件包的依赖关系..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "当前事务正在校验软件包的签名..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "当前事务正在测试软件包的提交..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "当前事务正在提交软件包..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "事务已完成!" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "事务已取消" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "事务正在等待锁..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "正在等待用户授权处理事务..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "当前事务正在复制文件..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "正在更新软件仓库缓存..." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "未知状态 %1。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "稳定" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "不稳定" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "测试" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "离线更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"更新 %1 个软件包失败\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "打开发现者" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "修复系统" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "修复失败" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "请向您的发行版报告:%1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "成功更新了 %1 个软件包" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr "," + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "已废弃:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "发行说明:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "更新状态:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "重启:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "供应商:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (加上 %1 个依赖)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "仓库 URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "要移除的软件包" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
                  • %1

                  in order to install:
                  • %2
                  " +msgstr "" +"更新将删除以下软件包:
                  • %1

                  以安装:
                  • %2
                  " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "请重新启动计算机以完成更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"需要更换类型“%1”的安装介质。\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "接受最终用户许可协议" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "%2 中 %1 的缺少签名" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "确认移除软件包" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "此 Snap 应用程序需要禁用安全限制措施。" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "列出所有我们想要加载的后端,以英文逗号“,”隔开。" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "已损坏" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "可用" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "已安装" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "可升级" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "检查更新" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "查看更新" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1/秒" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "正在启动" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "正在等待" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "正在下载" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "正在安装" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "移除" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "更改附加组件" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "完成" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "已失败" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "已取消" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "应用程序更新" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "系统更新" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +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..6c7c98c --- /dev/null +++ b/po/zh_CN/plasma-discover-notifier.po @@ -0,0 +1,162 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Weng Xuetian , 2015. +# Chao Feng , 2019. +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2021-01-03 09:07\n" +"Last-Translator: \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-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf5-stable/messages/discover/plasma-discover-notifier.pot\n" +"X-Crowdin-File-ID: 2680\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "查看更新" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "安全更新可用" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "更新可用" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "系统已为最新" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "计算机需要重新启动" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "离线" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "重启" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "需要重启" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "系统需要重启以使更新生效。" + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "升级" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "有可用更新" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "新版本:%1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Discover 通知" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "系统更新状态通知" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Plasma 开发团队" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE 中国, Guo Yunhe, Tyson Tan" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-china@kde.org, i@guoyunhe.me, tysontan@tysontan.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "替换已有实例" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "不显示通知" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "隐藏" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "更新" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "打开 Discover..." + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "查看更新..." + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "刷新..." + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "重新启动以使已安装的更新生效" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "点击以重启计算机" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..16867c5 --- /dev/null +++ b/po/zh_CN/plasma-discover.po @@ -0,0 +1,808 @@ +# 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. +# Chao Feng , 2019. +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2021-01-03 09:07\n" +"Last-Translator: \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-Crowdin-Project: kdeorg\n" +"X-Crowdin-Project-ID: 269464\n" +"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-File: /kf5-stable/messages/discover/plasma-discover.pot\n" +"X-Crowdin-File-ID: 2322\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "未找到应用程序后端,请向您的发行版报告。" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "找不到分类“%1”" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "缺少 flatpak 后端 %1,无法与 Flatpak 资源进行交互。请先安装。" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "无法打开 %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "通过 appstream:// URI 直接打开指定的应用程序。" + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "寻找能处理指定 MIME 类型的程序打开。" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "显示某个分类中的项目列表。" + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "以指明的方式打开Discover。模式与工具栏按钮对应。" + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "列出所有可用的模式。" + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "紧凑模式 (自动/紧凑/完整)。" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "要安装的本地软件包文件" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "列出所有可用的后端。" + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "搜索字符串。" + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "列出用户反馈的可用选项" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "支持 appstream:url scheme" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "Discover" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "一款应用程序的探索工具" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Plasma 开发团队" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "质量保证,设计和可用性" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE 中国, Guo Yunhe, Tyson Tan" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-china@kde.org, i@guoyunhe.me, tysontan@tysontan.com" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "可用的后端:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "可用的模式:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "附加组件" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "更多..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "应用更改" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "重置" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "添加新的 %1 仓库" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "添加" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "取消" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 个评分" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "尚无评分" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "来源" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "更新亮点" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "评论" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "显示 %1 条评价" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "撰写评价" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "安装以撰写评论" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "分类:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1,发布于 %2" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "版本:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "作者:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "大小:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "来源:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "许可证:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "查看完整许可证" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "文档:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "阅读用户指南" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "参与:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "访问应用的网站" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "捐助我们" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "报告问题" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "搜索:%1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "排序:%1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "名称" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "评分" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "大小" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "发布日期" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "很抱歉,没有找到任何内容" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "仍在查找..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "精选" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "正在载入..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "无法加载应用程序。请检查互联网连接。" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "返回特色页面" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "作为 root 运行是不鼓励和不必要的。" + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "搜索" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "已安装" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "正在获取更新..." + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "已是最新" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "更新 (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "关于" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "设置" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "抱歉..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "无法关闭 Discover,尚有任务要执行。" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "仍要退出" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "无法找到资源:%1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "继续" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "提交使用信息" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"向 KDE 发送匿名使用数据,这样我们就能更好的理解客户。更多信息请参考:https://" +"kde.org/privacypolicy-apps.php." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "提交使用信息..." + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "配置" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "配置用户反馈..." + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "通过共享统计数据和参加调查,您可以帮助我们完善这个应用。" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "贡献..." + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "我们期待您的反馈!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "参与..." + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "安装" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "移除" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "“%1”的资源" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "扩展..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "任务 (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "任务" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "版本:%1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "未知评价者" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 由 %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "由 %1 评论" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "投票:%1/%2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "有用吗?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "是" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "否" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "评价 %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "评分:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "姓名:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "标题:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "输入评分" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "撰写标题" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "撰写评论" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "继续写点什么吧..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "太长了!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "提交评价" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "%1 的评论" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "撰写评论..." + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "安装此应用以发表评论" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "搜索..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "在“%1”中搜索..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1 (默认)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "添加源..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "设为默认" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "未能增加 \"%1\" 首选项" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "未能减少 \"%1\" 首选项" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "删除原始包" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "显示内容" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "缺少后端" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "更新" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "更新问题" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "确定" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "更新选中" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "全部更新" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "选中了全部更新 (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "选中了 %2 个更新中的 %1 个 (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "重启" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "更新到 %1 版本" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "正在安装" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "更多信息..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "正在获取更新..." + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "更新" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "系统需要重启以应用更新" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "已是最新" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "应当检查更新" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +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..80618a5 --- /dev/null +++ b/po/zh_TW/libdiscover.po @@ -0,0 +1,1609 @@ +# 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, 2020. +# pan93412 , 2018, 2019, 2020. +# Franklin Weng , 2010. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-11-14 08:37+0100\n" +"PO-Revision-Date: 2020-09-17 14:19+0800\n" +"Last-Translator: Jeff Huang \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 19.08.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "pan93412, Jeff Huang" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pan93412@gmail.com, s8321414@gmail.com" + +#: libdiscover/appstream/AppStreamUtils.cpp:83 +#, kde-format +msgid "Proprietary" +msgstr "專有軟體" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:134 +#, kde-format +msgid "Error while fetching reviews: %1" +msgstr "取得評論時發生錯誤:%1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:180 +#, kde-format +msgid "Error while submitting usefulness: %1" +msgstr "提交「無用」時發生錯誤:%1" + +#: libdiscover/appstream/OdrsReviewsBackend.cpp:235 +#, kde-format +msgid "Error while submitting review: %1" +msgstr "提交評論時發生錯誤:%1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:4 +#, kde-format +msgctxt "Category" +msgid "Dummy Category" +msgstr "假類別:" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:10 +#, kde-format +msgctxt "Category" +msgid "dummy" +msgstr "測試用" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:18 +#, kde-format +msgctxt "Category" +msgid "dummy addons" +msgstr "測試用外加功能" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:27 +#, kde-format +msgctxt "Category" +msgid "dummy 1" +msgstr "測試用 1" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:35 +#, kde-format +msgctxt "Category" +msgid "dummy with stuff" +msgstr "測試用,加上一些東西" + +#: 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" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:50 +#, kde-format +msgctxt "Category" +msgid "dummy with quite some stuff" +msgstr "測試用,加上更多東西" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:66 +#, kde-format +msgctxt "Category" +msgid "dummy 3" +msgstr "測試用 3" + +#: libdiscover/backends/DummyBackend/dummy-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "dummy 4" +msgstr "測試用 4" + +#: 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 "應用程式" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:14 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:14 +#, kde-format +msgctxt "Category" +msgid "Accessories" +msgstr "附屬應用程式" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:26 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:26 +#, kde-format +msgctxt "Category" +msgid "Accessibility" +msgstr "無障礙輔助" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:38 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:38 +#, kde-format +msgctxt "Category" +msgid "Developer Tools" +msgstr "程式開發工具" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:48 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:48 +#, kde-format +msgctxt "Category" +msgid "Debugging" +msgstr "除錯" + +#: 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 "圖形介面設計" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:67 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:67 +#, kde-format +msgctxt "Category" +msgid "IDEs" +msgstr "整合開發環境" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:76 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:76 +#, kde-format +msgctxt "Category" +msgid "Localization" +msgstr "本地化" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:86 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:86 +#, kde-format +msgctxt "Category" +msgid "Profiling" +msgstr "效能測試" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:95 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:95 +#, kde-format +msgctxt "Category" +msgid "Web Development" +msgstr "網頁開發" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:108 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:108 +#, kde-format +msgctxt "Category" +msgid "Education" +msgstr "教育" + +#: 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 "科學與工程" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:130 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:130 +#, kde-format +msgctxt "Category" +msgid "Astronomy" +msgstr "天文學" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:138 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:138 +#, kde-format +msgctxt "Category" +msgid "Biology" +msgstr "生物學" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:146 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:146 +#, kde-format +msgctxt "Category" +msgid "Chemistry" +msgstr "化學" + +#: 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 "電腦科學與機器人學" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:166 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:166 +#, kde-format +msgctxt "Category" +msgid "Electronics" +msgstr "電子學" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:175 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:175 +#, kde-format +msgctxt "Category" +msgid "Engineering" +msgstr "工程計算" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:184 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:184 +#, kde-format +msgctxt "Category" +msgid "Geography" +msgstr "地理" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:192 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:192 +#, kde-format +msgctxt "Category" +msgid "Geology" +msgstr "地質學" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:201 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:201 +#, kde-format +msgctxt "Category" +msgid "Mathematics" +msgstr "數學" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:212 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:212 +#, kde-format +msgctxt "Category" +msgid "Physics" +msgstr "物理屬性" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:223 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:223 +#, kde-format +msgctxt "Category" +msgid "Games" +msgstr "遊戲" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:233 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:233 +#, kde-format +msgctxt "Category" +msgid "Arcade" +msgstr "大型遊戲機遊戲" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:242 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:242 +#, kde-format +msgctxt "Category" +msgid "Board Games" +msgstr "棋盤遊戲" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:251 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:251 +#, kde-format +msgctxt "Category" +msgid "Card Games" +msgstr "紙牌遊戲" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:260 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:260 +#, kde-format +msgctxt "Category" +msgid "Puzzles" +msgstr "解謎遊戲" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:269 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:269 +#, kde-format +msgctxt "Category" +msgid "Role Playing" +msgstr "角色扮演" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:278 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:278 +#, kde-format +msgctxt "Category" +msgid "Simulation" +msgstr "模擬" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:287 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:287 +#, kde-format +msgctxt "Category" +msgid "Strategy" +msgstr "策略" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:296 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:296 +#, kde-format +msgctxt "Category" +msgid "Sports" +msgstr "運動" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:305 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:305 +#, kde-format +msgctxt "Category" +msgid "Action" +msgstr "動作" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:314 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:314 +#, kde-format +msgctxt "Category" +msgid "Emulators" +msgstr "模擬器" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:327 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:327 +#, kde-format +msgctxt "Category" +msgid "Graphics" +msgstr "美工繪圖" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:336 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:336 +#, kde-format +msgctxt "Category" +msgid "3D" +msgstr "立體" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:344 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:344 +#, kde-format +msgctxt "Category" +msgid "Drawing" +msgstr "繪圖" + +#: 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 "繪圖與編輯" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:369 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:369 +#, kde-format +msgctxt "Category" +msgid "Photography" +msgstr "攝影" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:378 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:378 +#, kde-format +msgctxt "Category" +msgid "Publishing" +msgstr "出版" + +#: 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 "掃描與光學辨識" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:397 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:397 +#, kde-format +msgctxt "Category" +msgid "Viewers" +msgstr "檢視器" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:409 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:409 +#, kde-format +msgctxt "Category" +msgid "Internet" +msgstr "網際網路" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:418 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:418 +#, kde-format +msgctxt "Category" +msgid "Chat" +msgstr "聊天" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:428 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:428 +#, kde-format +msgctxt "Category" +msgid "File Sharing" +msgstr "檔案分享" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:437 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:437 +#, kde-format +msgctxt "Category" +msgid "Mail" +msgstr "郵件" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:446 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:446 +#, kde-format +msgctxt "Category" +msgid "Web Browsers" +msgstr "網頁伺服器" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:458 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:458 +#, kde-format +msgctxt "Category" +msgid "Multimedia" +msgstr "多媒體" + +#: 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 "音訊與視訊編輯器" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:477 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:477 +#, kde-format +msgctxt "Category" +msgid "Audio Players" +msgstr "音樂播放器" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:498 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:498 +#, kde-format +msgctxt "Category" +msgid "Video Players" +msgstr "影片播放器" + +#: 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" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:528 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:528 +#, kde-format +msgctxt "Category" +msgid "Office" +msgstr "辦公軟體" + +#: libdiscover/backends/FlatpakBackend/flatpak-backend-categories.xml:539 +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:539 +#, kde-format +msgctxt "Category" +msgid "System Settings" +msgstr "系統設定" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:381 +#, kde-format +msgid "Local bundle" +msgstr "本機 Bundle" + +#: libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:1211 +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:571 +#, kde-format +msgid "Malformed appstream url '%1'" +msgstr "不正確的 appstream 網址 '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:97 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:226 +#, kde-format +msgid "Unknown" +msgstr "未知" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:102 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:353 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:361 +#, kde-format +msgid "Retrieving size information" +msgstr "正在取得大小資訊" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:355 +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:363 +#, kde-format +msgid "Unknown size" +msgstr "未知的大小" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:357 +#, kde-format +msgctxt "@info app size" +msgid "%1 to download, %2 on disk" +msgstr "%1 個準備下載,%2 個在磁碟中" + +#: libdiscover/backends/FlatpakBackend/FlatpakResource.cpp:365 +#, kde-format +msgctxt "@info app size" +msgid "%1 on disk" +msgstr "%1 個在磁碟中" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:40 +#, kde-format +msgid "Add Flathub" +msgstr "新增 Flathub" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:89 +#, kde-format +msgid "Could not add the source %1" +msgstr "無法增加來源 %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "Removing '%1'" +msgstr "正在移除 '%1'" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:196 +#, kde-format +msgid "" +"To remove this repository, the following applications must be uninstalled:" +"
                  • %1
                  " +msgstr "如要移除此軟體庫,必須先解除安裝下述應用程式:
                  • %1
                  " + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:211 +#, kde-format +msgid "Failed to remove %1 remote repository: %2" +msgstr "無法移除 %1 遠端軟體庫:%2" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:215 +#, kde-format +msgid "Could not find %1" +msgstr "找不到 %1" + +#: libdiscover/backends/FlatpakBackend/FlatpakSourcesBackend.cpp:350 +#, kde-format +msgid "Enter a Flatpak repository URI (*.flatpakrepo):" +msgstr "輸入 Flatpak 軟體庫連結 URI (*.flatpakrepo):" + +#: libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp:26 +#, kde-format +msgid "Adding remote '%1' in %2 from %3" +msgstr "正在增加來自 %3 的 %2 中「%1」遠端位置" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "Review EULA" +msgstr "審閱 EULA" + +#: libdiscover/backends/FwupdBackend/FwupdSourcesBackend.cpp:36 +#, kde-format +msgid "" +"The remote %1 require that you accept their license:\n" +" %2" +msgstr "" +"遠端 %1 要求您接受他們的條款:\n" +"%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:110 +#, kde-format +msgid "Backend %1 took too long to initialize" +msgstr "後端 %1 初始過久" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:170 +#, kde-format +msgid "Applications" +msgstr "應用程式" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Plasma Addons" +msgstr "Plasma 外加功能" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:204 +#, kde-format +msgid "Application Addons" +msgstr "應用程式外加功能" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:362 +#, kde-format +msgid "Network error in backend %1: %2" +msgstr "%1 後端發生網路錯誤:%2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:369 +#, kde-format +msgid "" +"Too many requests sent to the server for backend %1. Please try again in a " +"few minutes." +msgstr "過多請求傳送到後端 %1 的伺服器。請稍候重試。" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:372 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:378 +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:383 +#, kde-format +msgid "Invalid %1 backend, contact your distributor." +msgstr "無效的 %1 後端,聯絡你的經銷商。" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:392 +#, kde-format +msgid "Could not fetch screenshot for the entry %1 in backend %2" +msgstr "無法在 %2 後端抓取 %1 項目的螢幕截圖" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:396 +#, kde-format +msgid "Unhandled error in %1 backend. Contact your distributor." +msgstr "%1 後端發生無法處理的錯誤。請聯絡發行者。" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:406 +#, kde-format +msgid "%1: %2" +msgstr "%1: %2" + +#: libdiscover/backends/KNSBackend/KNSBackend.cpp:581 +#, kde-format +msgid "Wrong KNewStuff URI: %1" +msgstr "錯誤的 KNewStuff URI:%1" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:226 +#: libdiscover/resources/AbstractResource.cpp:233 +#, kde-format +msgid "Launch" +msgstr "執行" + +#: libdiscover/backends/KNSBackend/KNSResource.cpp:228 +#, kde-format +msgid "Use" +msgstr "使用" + +#: libdiscover/backends/KNSBackend/KNSReviews.cpp:136 +#, kde-format +msgid "Log in information for %1" +msgstr "%1 的登入資訊" + +#: libdiscover/backends/PackageKitBackend/AppPackageKitResource.cpp:235 +#, kde-format +msgid "Cannot launch %1" +msgstr "無法啟動 %1" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:552 +#, kde-format +msgctxt "Category" +msgid "Plasma Addons" +msgstr "Plasma 外加功能" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:563 +#, kde-format +msgctxt "Category" +msgid "Plasma Widgets" +msgstr "Plasma 元件" + +#: libdiscover/backends/PackageKitBackend/packagekit-backend-categories.xml:575 +#, kde-format +msgctxt "Category" +msgid "Fonts" +msgstr "字型" + +#: libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp:210 +#, kde-format +msgid "Please make sure that Appstream is properly set up on your system" +msgstr "請確認 Appstream 已經在您的系統上設定好了" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:20 +#, kde-format +msgid "Out of memory" +msgstr "記憶體不足" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:22 +#, kde-format +msgid "No network connection available" +msgstr "沒有可用的網路連結" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:24 +#, kde-format +msgid "Operation not supported" +msgstr "操作未支援" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:26 +#, kde-format +msgid "Internal error" +msgstr "內部錯誤" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:28 +#, kde-format +msgid "GPG failure" +msgstr "GPG 失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:30 +#, kde-format +msgid "PackageID invalid" +msgstr "PackageID 不合法" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:32 +#, kde-format +msgid "Package not installed" +msgstr "軟體包未安裝" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:34 +#, kde-format +msgid "Package not found" +msgstr "找不到軟體包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:36 +#, kde-format +msgid "Package is already installed" +msgstr "軟體包已安裝" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:38 +#, kde-format +msgid "Package download failed" +msgstr "軟體包下載失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:40 +#, kde-format +msgid "Package group not found" +msgstr "找不到軟體包群組" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:42 +#, kde-format +msgid "Package group list invalid" +msgstr "軟體包群組清單不合法" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:44 +#, kde-format +msgid "Dependency resolution failed" +msgstr "相依性解決失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:46 +#, kde-format +msgid "Filter invalid" +msgstr "過濾器不合法" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:48 +#, kde-format +msgid "Failed while creating a thread" +msgstr "建立執行緒失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:50 +#, kde-format +msgid "Transaction failure" +msgstr "工作階段失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:52 +#, kde-format +msgid "Transaction canceled" +msgstr "工作階段取消" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:54 +#, kde-format +msgid "No Cache available" +msgstr "沒有快取可使用" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:56 +#, kde-format +msgid "Cannot find repository" +msgstr "找不到軟體庫" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:58 +#, kde-format +msgid "Cannot remove system package" +msgstr "無法移除系統軟體包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:60 +#, kde-format +msgid "The PackageKit daemon has crashed" +msgstr "PackageKit 伺服程式已崩潰" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:62 +#, kde-format +msgid "Initialization failure" +msgstr "初始化失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:64 +#, kde-format +msgid "Failed to finalize transaction" +msgstr "工作階段收尾失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:66 +#, kde-format +msgid "Config parsing failed" +msgstr "剖析設定失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:68 +#, kde-format +msgid "Cannot cancel transaction" +msgstr "無法取消工作階段" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:70 +#, kde-format +msgid "Cannot obtain lock" +msgstr "無法取得鎖定" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:72 +#, kde-format +msgid "No packages to update" +msgstr "沒有軟體包需要更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:74 +#, kde-format +msgid "Cannot write repo config" +msgstr "無法寫入軟體庫設定" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:76 +#, kde-format +msgid "Local install failed" +msgstr "本地安裝失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:78 +#, kde-format +msgid "Bad GPG signature found" +msgstr "找到錯誤的 GPG 簽章" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:80 +#, kde-format +msgid "No GPG signature found" +msgstr "找不到 GPG 簽章" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:82 +#, kde-format +msgid "Cannot install source package" +msgstr "無法安裝來源軟體包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:84 +#, kde-format +msgid "Repo configuration error" +msgstr "軟體庫設定錯誤" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:86 +#, kde-format +msgid "No license agreement" +msgstr "沒有授權宣告" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:88 +#, kde-format +msgid "File conflicts found" +msgstr "發現檔案衝突" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:90 +#, kde-format +msgid "Package conflict found" +msgstr "發現軟體包衝突" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:92 +#, kde-format +msgid "Repo not available" +msgstr "無法使用軟體庫" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:94 +#, kde-format +msgid "Invalid package file" +msgstr "無效的軟體包檔案" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:96 +#, kde-format +msgid "Package install blocked" +msgstr "軟體包安裝被封鎖" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:98 +#, kde-format +msgid "Corrupt package found" +msgstr "發現損毀的軟體包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:100 +#, kde-format +msgid "All packages already installed" +msgstr "已安裝所有軟體包" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:102 +#, kde-format +msgid "File not found" +msgstr "找不到檔案" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:104 +#, kde-format +msgid "No more mirrors available" +msgstr "沒有其他可用的鏡像站" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:106 +#, kde-format +msgid "No distro upgrade data" +msgstr "沒有散布版升級資料" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:108 +#, kde-format +msgid "Incompatible architecture" +msgstr "不相容的硬體架構" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:110 +#, kde-format +msgid "No space on device left" +msgstr "裝置上已無空間" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:112 +#, kde-format +msgid "A media change is required" +msgstr "需要更換媒體" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:114 +#, kde-format +msgid "You have no authorization to execute this operation" +msgstr "您沒有權限執行此操作" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:116 +#, kde-format +msgid "Update not found" +msgstr "找不到更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:118 +#, kde-format +msgid "Cannot install from unsigned repo" +msgstr "無法從未簽署的軟體庫進行安裝" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:120 +#, kde-format +msgid "Cannot update from unsigned repo" +msgstr "無法從未簽署的軟體庫進行更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:122 +#, kde-format +msgid "Cannot get file list" +msgstr "無法取得檔案清單" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:124 +#, kde-format +msgid "Cannot get requires" +msgstr "無法取得需求" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:126 +#, kde-format +msgid "Cannot disable repository" +msgstr "無法關閉主目錄" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:128 +#, kde-format +msgid "Restricted download detected" +msgstr "偵測到限制下載" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:130 +#, kde-format +msgid "Package failed to configure" +msgstr "軟體包設定失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:132 +#, kde-format +msgid "Package failed to build" +msgstr "軟體包建立失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:134 +#, kde-format +msgid "Package failed to install" +msgstr "軟體包安裝失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:136 +#, kde-format +msgid "Package failed to remove" +msgstr "軟體包移除失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:138 +#, kde-format +msgid "Update failed due to running process" +msgstr "由於程序正在執行,因而更新失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:140 +#, kde-format +msgid "The package database changed" +msgstr "軟體包資料庫已變更" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:142 +#, kde-format +msgid "The provided type is not supported" +msgstr "不支援所提供的型態" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:144 +#, kde-format +msgid "Install root is invalid" +msgstr "安裝目錄不合法" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:146 +#, kde-format +msgctxt "" +"Failed to sync your Linux distro repositories or other sources of packages" +msgid "Cannot fetch sources" +msgstr "無法取得來源" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:148 +#, kde-format +msgid "Canceled priority" +msgstr "已取消優先權" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:150 +#, kde-format +msgid "Unfinished transaction" +msgstr "未完成的處理事項" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:152 +#, kde-format +msgid "Lock required" +msgstr "需要鎖定" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:157 +#, kde-format +msgid "Unknown error %1." +msgstr "未知的錯誤 %1." + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:166 +#, kde-format +msgid "'%1' was changed and suggests to be restarted." +msgstr "'%1' 已變更,並建議重新啟動。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:168 +#, kde-format +msgid "A change by '%1' suggests your session to be restarted." +msgstr "'%1' 的變更建議您重新啟動。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:170 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the session is " +"recommended." +msgstr "'%1' 已因為安全性理由而更新。建議重新啟動。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:172 +#, kde-format +msgid "" +"'%1' was updated for security reasons, a restart of the system is " +"recommended." +msgstr "'%1' 已因為安全性理由而更新。建議重新開機。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:177 +#, kde-format +msgid "A change by '%1' suggests your system to be restarted." +msgstr "由「%1」所作的變更建議您重新開機。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:185 +#, kde-format +msgid "The application will have to be restarted." +msgstr "此應用程式必須重啟。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:187 +#, kde-format +msgid "The session will have to be restarted" +msgstr "工作階段必須重啟。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:189 +#, kde-format +msgid "The system will have to be restarted." +msgstr "系統必須重新啟動。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:191 +#, kde-format +msgid "For security, the session will have to be restarted." +msgstr "為了安全起見,工作階段必須重啟。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:193 +#, kde-format +msgid "For security, the system will have to be restarted." +msgstr "為了安全起見,系統必須重新啟動。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:205 +#, kde-format +msgid "Waiting..." +msgstr "等待中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:207 +#, kde-format +msgid "Refreshing Cache..." +msgstr "重新快取中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:209 +#, kde-format +msgid "Setup..." +msgstr "設定…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:211 +#, kde-format +msgid "Processing..." +msgstr "處理中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:213 +#, kde-format +msgid "Remove..." +msgstr "移除…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:215 +#, kde-format +msgid "Downloading..." +msgstr "下載中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:217 +#, kde-format +msgid "Installing..." +msgstr "安裝中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:219 +#, kde-format +msgid "Updating..." +msgstr "更新中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:221 +#, kde-format +msgid "Cleaning up..." +msgstr "清除中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:224 +#, kde-format +msgid "Resolving dependencies..." +msgstr "解決相依性問題中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:226 +#, kde-format +msgid "Checking signatures..." +msgstr "檢查簽章中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:228 +#, kde-format +msgid "Test committing..." +msgstr "測試提交中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:230 +#, kde-format +msgid "Committing..." +msgstr "提交中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:233 +#, kde-format +msgid "Finished" +msgstr "已完成" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:235 +#, kde-format +msgid "Canceled" +msgstr "已取消" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:237 +#, kde-format +msgid "Waiting for lock..." +msgstr "等待鎖定中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:239 +#, kde-format +msgid "Waiting for authorization..." +msgstr "等待認證中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:244 +#, kde-format +msgid "Copying files..." +msgstr "複製檔案中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:247 +#, kde-format +msgid "Unknown Status" +msgstr "未知的狀態" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:255 +#, kde-format +msgid "We are waiting for something." +msgstr "正在等待中。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:257 +#, kde-format +msgid "Setting up transaction..." +msgstr "設定工作階段中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:259 +#, kde-format +msgid "The transaction is currently working..." +msgstr "工作階段目前進行中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:261 +#, kde-format +msgid "The transaction is currently removing packages..." +msgstr "目前正在移除軟體包中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:263 +#, kde-format +msgid "The transaction is currently downloading packages..." +msgstr "目前正在下載軟體包中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:265 +#, kde-format +msgid "The transactions is currently installing packages..." +msgstr "目前正在安裝軟體包中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:267 +#, kde-format +msgid "The transaction is currently updating packages..." +msgstr "目前正在更新軟體包中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:269 +#, kde-format +msgid "The transaction is currently cleaning up..." +msgstr "目前正在清除中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:272 +#, kde-format +msgid "" +"The transaction is currently resolving the dependencies of the packages it " +"will install..." +msgstr "目前正在解決軟體包相依性問題中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:274 +#, kde-format +msgid "The transaction is currently checking the signatures of the packages..." +msgstr "目前正在檢查簽章中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:276 +#, kde-format +msgid "" +"The transaction is currently testing the commit of this set of packages..." +msgstr "目前正在測試軟體包集的提交中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:278 +#, kde-format +msgid "The transaction is currently committing its set of packages..." +msgstr "目前正在提交軟體包集中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:281 +#, kde-format +msgid "The transaction has finished!" +msgstr "此工作階段已完成。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:283 +#, kde-format +msgid "The transaction was canceled" +msgstr "工作階段已取消" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:285 +#, kde-format +msgid "The transaction is currently waiting for the lock..." +msgstr "目前正在等待鎖定中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:287 +#, kde-format +msgid "Waiting for the user to authorize the transaction..." +msgstr "目前正在等待使用者認證中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:292 +#, kde-format +msgid "The transaction is currently copying files..." +msgstr "目前正在複製檔案中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:294 +#, kde-format +msgid "Currently refreshing the repository cache..." +msgstr "目前正在重新快取軟體庫中…" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:299 +#, kde-format +msgid "Unknown status %1." +msgstr "未知的狀態 %1。" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:310 +#, kde-format +msgctxt "update state" +msgid "Stable" +msgstr "穩定" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:312 +#, kde-format +msgctxt "update state" +msgid "Unstable" +msgstr "不穩定版" + +#: libdiscover/backends/PackageKitBackend/PackageKitMessages.cpp:314 +#, kde-format +msgctxt "update state" +msgid "Testing" +msgstr "測試中" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:107 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:126 +#, kde-format +msgid "Offline Updates" +msgstr "離線更新" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:108 +#, kde-format +msgid "" +"Failed to update %1 package\n" +"%2" +msgid_plural "" +"Failed to update %1 packages\n" +"%2" +msgstr[0] "" +"無法更新 %1 個軟體包\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:128 +#, kde-format +msgctxt "@action:button" +msgid "Open Discover" +msgstr "開啟《探詢》" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:110 +#, kde-format +msgctxt "@action:button" +msgid "Repair System" +msgstr "修復系統" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Repair Failed" +msgstr "修復失敗" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:118 +#, kde-format +msgid "Please report to your distribution: %1" +msgstr "請回報到您的發行版:%1" + +#: libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp:127 +#, kde-format +msgid "Successfully updated %1 package" +msgid_plural "Successfully updated %1 packages" +msgstr[0] "順利更新 %1 個軟體包" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:241 +#, kde-format +msgctxt "package-name (version)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:243 +#, kde-format +msgctxt "comma separating package names" +msgid ", " +msgstr ", " + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:281 +#, kde-format +msgid "Obsoletes:" +msgstr "廢棄:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:282 +#, kde-format +msgid "Release Notes:" +msgstr "發行註記:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:283 +#, kde-format +msgid "Update State:" +msgstr "更新狀態:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:284 +#, kde-format +msgid "Restart:" +msgstr "重新啟動:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:287 +#, kde-format +msgid "Vendor:" +msgstr "廠商:" + +#: libdiscover/backends/PackageKitBackend/PackageKitResource.cpp:307 +#, kde-format +msgid "%2 (plus %1 dependency)" +msgid_plural "%2 (plus %1 dependencies)" +msgstr[0] "%2 (加上 %1 個依賴庫)" + +#: libdiscover/backends/PackageKitBackend/PackageKitSourcesBackend.cpp:90 +#, kde-format +msgid "Repository URL:" +msgstr "軟體庫 URL:" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "Packages to remove" +msgstr "個軟體包要移除" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:203 +#, kde-format +msgid "" +"The following packages will be removed by the update:
                  • %1

                  in order to install:
                  • %2
                  " +msgstr "" +"以下軟體包將會因為更新而移除:
                  • %1

                  將會安裝:
                  • %2
                  " + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:219 +#, kde-format +msgid "Please restart the computer to finish the update" +msgstr "重新啟動電腦以完成更新程序" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:311 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:280 +#, kde-format +msgid "" +"Media Change of type '%1' is requested.\n" +"%2" +msgstr "" +"要求變更型態 %1 的媒體:\n" +"%2" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, kde-format +msgid "Accept EULA" +msgstr "接受 EULA" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:324 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:265 +#, 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:418 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:292 +#, kde-format +msgid "Missing signature for %1 in %2" +msgstr "在 %2 中缺少對 %1 的簽名" + +#: libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp:419 +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:293 +#, 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:178 +#, kde-format +msgid "Confirm package removal" +msgstr "確定移除軟體包" + +#: libdiscover/backends/PackageKitBackend/PKTransaction.cpp:178 +#, 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:37 +#, kde-format +msgid "Snap" +msgstr "Snap" + +#: libdiscover/backends/SnapBackend/SnapResource.cpp:354 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: libdiscover/backends/SnapBackend/SnapTransaction.cpp:48 +#, kde-format +msgid "This snap application needs security confinement measures disabled." +msgstr "這個 Snap 程序需要安全性監禁措施被停用。" + +#: libdiscover/DiscoverBackendsFactory.cpp:106 +#, kde-format +msgid "" +"List all the backends we'll want to have loaded, separated by comma ','." +msgstr "列出所有要載入的後端介面,以逗號分隔。" + +#: libdiscover/resources/AbstractResource.cpp:85 +#, kde-format +msgid "Broken" +msgstr "已破損" + +#: libdiscover/resources/AbstractResource.cpp:86 +#, kde-format +msgid "Available" +msgstr "可使用" + +#: libdiscover/resources/AbstractResource.cpp:87 +#, kde-format +msgid "Installed" +msgstr "已安裝" + +#: libdiscover/resources/AbstractResource.cpp:88 +#, kde-format +msgid "Upgradeable" +msgstr "可更新" + +#: libdiscover/resources/AbstractResource.cpp:228 +#, kde-format +msgctxt "origin (backend name)" +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: libdiscover/resources/ResourcesModel.cpp:89 +#, kde-format +msgctxt "@action Checks the Internet for updates" +msgid "Check for Updates" +msgstr "檢查更新" + +#: libdiscover/resources/ResourcesUpdatesModel.cpp:94 +#, kde-format +msgid "View Updates" +msgstr "檢視更新" + +#: libdiscover/Transaction/Transaction.cpp:134 +#, kde-format +msgctxt "@label Download rate" +msgid "%1/s" +msgstr "%1 / 秒" + +#: libdiscover/Transaction/TransactionModel.cpp:74 +#, kde-format +msgctxt "@info:status" +msgid "Starting" +msgstr "啟動中" + +#: libdiscover/Transaction/TransactionModel.cpp:76 +#, kde-format +msgctxt "@info:status" +msgid "Waiting" +msgstr "等待中" + +#: libdiscover/Transaction/TransactionModel.cpp:78 +#, kde-format +msgctxt "@info:status" +msgid "Downloading" +msgstr "下載中" + +#: libdiscover/Transaction/TransactionModel.cpp:82 +#, kde-format +msgctxt "@info:status" +msgid "Installing" +msgstr "安裝中" + +#: libdiscover/Transaction/TransactionModel.cpp:84 +#, kde-format +msgctxt "@info:status" +msgid "Removing" +msgstr "移除中" + +#: libdiscover/Transaction/TransactionModel.cpp:86 +#, kde-format +msgctxt "@info:status" +msgid "Changing Addons" +msgstr "變更外掛程式" + +#: libdiscover/Transaction/TransactionModel.cpp:90 +#, kde-format +msgctxt "@info:status" +msgid "Done" +msgstr "完成" + +#: libdiscover/Transaction/TransactionModel.cpp:92 +#, kde-format +msgctxt "@info:status" +msgid "Failed" +msgstr "已失敗" + +#: libdiscover/Transaction/TransactionModel.cpp:94 +#, kde-format +msgctxt "@info:status" +msgid "Cancelled" +msgstr "已取消" + +#: libdiscover/UpdateModel/UpdateModel.cpp:131 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Application Updates" +msgstr "應用程式更新" + +#: libdiscover/UpdateModel/UpdateModel.cpp:132 +#, kde-format +msgctxt "@item:inlistbox" +msgid "System Updates" +msgstr "系統更新" + +#: libdiscover/UpdateModel/UpdateModel.cpp:133 +#, kde-format +msgctxt "@item:inlistbox" +msgid "Addons" +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..8a803be --- /dev/null +++ b/po/zh_TW/plasma-discover-notifier.po @@ -0,0 +1,159 @@ +# 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, 2020. +# pan93412 , 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-09-12 02:27+0200\n" +"PO-Revision-Date: 2020-09-17 14:19+0800\n" +"Last-Translator: Jeff Huang \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 19.08.3\n" + +#: notifier/DiscoverNotifier.cpp:87 +#, kde-format +msgid "View Updates" +msgstr "檢視更新" + +#: notifier/DiscoverNotifier.cpp:146 +#, kde-format +msgid "Security updates available" +msgstr "有可用的安全性更新" + +#: notifier/DiscoverNotifier.cpp:148 +#, kde-format +msgid "Updates available" +msgstr "有可用的更新" + +#: notifier/DiscoverNotifier.cpp:150 +#, kde-format +msgid "System up to date" +msgstr "系統已更新" + +#: notifier/DiscoverNotifier.cpp:152 +#, kde-format +msgid "Computer needs to restart" +msgstr "電腦需要重新開機" + +#: notifier/DiscoverNotifier.cpp:154 +#, kde-format +msgid "Offline" +msgstr "離線" + +#: notifier/DiscoverNotifier.cpp:185 +#, kde-format +msgctxt "@action:button" +msgid "Restart" +msgstr "重新啟動" + +#: notifier/DiscoverNotifier.cpp:186 +#, kde-format +msgid "Restart is required" +msgstr "需要重開機" + +#: notifier/DiscoverNotifier.cpp:187 +#, kde-format +msgid "The system needs to be restarted for the updates to take effect." +msgstr "這系統需要重新開啟,以讓更新生效。" + +#: notifier/DiscoverNotifier.cpp:208 +#, kde-format +msgctxt "@action:button" +msgid "Upgrade" +msgstr "升級" + +#: notifier/DiscoverNotifier.cpp:209 +#, kde-format +msgid "Upgrade available" +msgstr "有可用的更新" + +#: notifier/DiscoverNotifier.cpp:210 +#, kde-format +msgid "New version: %1" +msgstr "新版本:%1" + +#: notifier/main.cpp:38 +#, kde-format +msgid "Discover Notifier" +msgstr "Discover 提醒工具" + +#: notifier/main.cpp:38 +#, kde-format +msgid "System update status notifier" +msgstr "系統更新狀態提醒工具" + +#: notifier/main.cpp:39 +#, kde-format +msgid "© 2010-2019 Plasma Development Team" +msgstr "© 2010-2019 Plasma 開發團隊" + +#: notifier/main.cpp:44 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "pan93412" + +#: notifier/main.cpp:45 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pan93412@gmail.com" + +#: notifier/main.cpp:51 +#, kde-format +msgid "Replace an existing instance" +msgstr "取代現存實體" + +#: notifier/main.cpp:53 +#, kde-format +msgid "Do not show the notifier" +msgstr "不顯示提醒工具" + +#: notifier/main.cpp:53 +#, kde-format +msgid "hidden" +msgstr "隱藏" + +#: notifier/NotifierItem.cpp:36 notifier/NotifierItem.cpp:37 +#, kde-format +msgid "Updates" +msgstr "更新" + +#: notifier/NotifierItem.cpp:51 +#, kde-format +msgid "Open Discover..." +msgstr "開啟《探尋》…" + +#: notifier/NotifierItem.cpp:54 +#, kde-format +msgid "See Updates..." +msgstr "檢視更新…" + +#: notifier/NotifierItem.cpp:57 +#, kde-format +msgid "Refresh..." +msgstr "重新整理…" + +#: notifier/NotifierItem.cpp:61 +#, kde-format +msgid "Restart to apply installed updates" +msgstr "重新啟動以套用已安裝的更新" + +#: notifier/NotifierItem.cpp:62 +#, kde-format +msgid "Click to restart the computer" +msgstr "點擊以重新啟動電腦" + +#: notifier/NotifierItem.cpp:64 +#, kde-format +msgid "Restart..." +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..b289703 --- /dev/null +++ b/po/zh_TW/plasma-discover.po @@ -0,0 +1,802 @@ +# 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, 2020. +# pan93412 , 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-12-06 08:11+0100\n" +"PO-Revision-Date: 2020-09-17 14:23+0800\n" +"Last-Translator: Jeff Huang \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 19.08.3\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: discover/DiscoverObject.cpp:164 +#, kde-format +msgid "No application back-ends found, please report to your distribution." +msgstr "找不到應用程式後端,請回報此問題到您的散佈版。" + +#: discover/DiscoverObject.cpp:247 +#, kde-format +msgid "Could not find category '%1'" +msgstr "找不到分類「%1」" + +#: discover/DiscoverObject.cpp:281 +#, kde-format +msgid "" +"Cannot interact with flatpak resources without the flatpak backend %1. " +"Please install it first." +msgstr "無法在無 Flatpak 前端 %1 情況下與 Flatpak 資源互動。請先安裝它。" + +#: discover/DiscoverObject.cpp:284 discover/DiscoverObject.cpp:311 +#, kde-format +msgid "Couldn't open %1" +msgstr "無法開啟 %1" + +#: discover/main.cpp:33 +#, kde-format +msgid "Directly open the specified application by its appstream:// URI." +msgstr "透過其 appstream:// URL 直接開啟指定的應用程式。" + +#: discover/main.cpp:34 +#, kde-format +msgid "Open with a search for programs that can deal with the given mimetype." +msgstr "以可以處理此 MIME 型態的搜尋到的程式來開啟。" + +#: discover/main.cpp:35 +#, kde-format +msgid "Display a list of entries with a category." +msgstr "依類別顯示項目清單。" + +#: discover/main.cpp:36 +#, kde-format +msgid "Open Discover in a said mode. Modes correspond to the toolbar buttons." +msgstr "以指定模式開啟 Muon 軟體中心。模式與工作列按鍵相關。" + +#: discover/main.cpp:37 +#, kde-format +msgid "List all the available modes." +msgstr "列出所有可用的模式。" + +#: discover/main.cpp:38 +#, kde-format +msgid "Compact Mode (auto/compact/full)." +msgstr "簡潔模式(自動/簡潔/完整)。" + +#: discover/main.cpp:39 +#, kde-format +msgid "Local package file to install" +msgstr "要安裝的本地軟體包" + +#: discover/main.cpp:40 +#, kde-format +msgid "List all the available backends." +msgstr "列出所有可用的後端介面。" + +#: discover/main.cpp:41 +#, kde-format +msgid "Search string." +msgstr "搜尋字串。" + +#: discover/main.cpp:42 +#, kde-format +msgid "Lists the available options for user feedback" +msgstr "列出能用於使用者意見回應的選項" + +#: discover/main.cpp:44 +#, kde-format +msgid "Supports appstream: url scheme" +msgstr "支援 appstream:網址機制" + +#: discover/main.cpp:92 discover/qml/DiscoverWindow.qml:51 +#, kde-format +msgid "Discover" +msgstr "探詢" + +#: discover/main.cpp:92 +#, kde-format +msgid "An application explorer" +msgstr "應用程式探詢器" + +#: discover/main.cpp:93 +#, kde-format +msgid "© 2010-2020 Plasma Development Team" +msgstr "© 2010-2020 Plasma 開發團隊" + +#: discover/main.cpp:94 +#, kde-format +msgid "Aleix Pol Gonzalez" +msgstr "Aleix Pol Gonzalez" + +#: discover/main.cpp:95 +#, kde-format +msgid "Nate Graham" +msgstr "Nate Graham" + +#: discover/main.cpp:95 +#, kde-format +msgid "Quality Assurance, Design and Usability" +msgstr "品質保證、設計與可用性" + +#: discover/main.cpp:96 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: discover/main.cpp:96 +#, kde-format +msgid "KNewStuff" +msgstr "KNewStuff" + +#: discover/main.cpp:101 +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "pan93412" + +#: discover/main.cpp:102 +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pan93412@gmail.com" + +#: discover/main.cpp:114 +#, kde-format +msgid "Available backends:\n" +msgstr "可用的後端介面:\n" + +#: discover/main.cpp:152 +#, kde-format +msgid "Available modes:\n" +msgstr "可用的模式:\n" + +#: discover/qml/AddonsView.qml:18 discover/qml/ApplicationPage.qml:201 +#, kde-format +msgid "Addons" +msgstr "外加功能" + +#: discover/qml/AddonsView.qml:67 +#, kde-format +msgid "More..." +msgstr "更多..." + +#: discover/qml/AddonsView.qml:76 +#, kde-format +msgid "Apply Changes" +msgstr "套用變更" + +#: discover/qml/AddonsView.qml:83 +#, kde-format +msgid "Reset" +msgstr "重設" + +#: discover/qml/AddSourceDialog.qml:20 +#, kde-format +msgid "Add New %1 Repository" +msgstr "增加一個新的 %1 軟體庫" + +#: discover/qml/AddSourceDialog.qml:58 +#, kde-format +msgid "Add" +msgstr "新增" + +#: discover/qml/AddSourceDialog.qml:70 discover/qml/DiscoverWindow.qml:236 +#: discover/qml/InstallApplicationButton.qml:33 +#: discover/qml/SourcesPage.qml:140 discover/qml/UpdatesPage.qml:108 +#, kde-format +msgid "Cancel" +msgstr "取消" + +#: discover/qml/ApplicationDelegate.qml:76 +#, kde-format +msgctxt "Part of a string like this: ' - '" +msgid "- %1" +msgstr "- %1" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "%1 rating" +msgid_plural "%1 ratings" +msgstr[0] "%1 個評分" + +#: discover/qml/ApplicationDelegate.qml:100 +#: discover/qml/ApplicationPage.qml:134 +#, kde-format +msgid "No ratings yet" +msgstr "目前還沒有評分" + +#: discover/qml/ApplicationPage.qml:59 +#, kde-format +msgid "Sources" +msgstr "來源" + +#: discover/qml/ApplicationPage.qml:70 +#, kde-format +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ApplicationPage.qml:173 +#, kde-format +msgid "What's New" +msgstr "發掘新項目" + +#: discover/qml/ApplicationPage.qml:210 +#, kde-format +msgid "Reviews" +msgstr "評論" + +#: discover/qml/ApplicationPage.qml:245 +#, kde-format +msgid "Show %1 Review..." +msgid_plural "Show All %1 Reviews..." +msgstr[0] "顯示 %1 的所有評論……" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Write a Review" +msgstr "撰寫評論" + +#: discover/qml/ApplicationPage.qml:257 +#, kde-format +msgid "Install to Write a Review" +msgstr "安裝以撰寫評論" + +#: discover/qml/ApplicationPage.qml:286 +#, kde-format +msgid "Category:" +msgstr "分類:" + +#: discover/qml/ApplicationPage.qml:303 +#, kde-format +msgid "%1, released on %2" +msgstr "%1,於 %2 釋出" + +#: discover/qml/ApplicationPage.qml:310 +#, kde-format +msgid "Version:" +msgstr "版本:" + +#: discover/qml/ApplicationPage.qml:319 +#, kde-format +msgid "Author:" +msgstr "作者:" + +#: discover/qml/ApplicationPage.qml:328 +#, kde-format +msgid "Size:" +msgstr "大小:" + +#: discover/qml/ApplicationPage.qml:337 +#, kde-format +msgid "Source:" +msgstr "來源:" + +#: discover/qml/ApplicationPage.qml:346 +#, kde-format +msgid "License:" +msgstr "授權:" + +#: discover/qml/ApplicationPage.qml:354 +#, kde-format +msgid "See full license terms" +msgstr "檢視完整授權條款" + +#: discover/qml/ApplicationPage.qml:365 +#, kde-format +msgid "Documentation:" +msgstr "文件:" + +#: discover/qml/ApplicationPage.qml:366 +#, kde-format +msgid "Read the user guide" +msgstr "閱讀使用者指南" + +#: discover/qml/ApplicationPage.qml:374 +#, kde-format +msgid "Get involved:" +msgstr "參與其中:" + +#: discover/qml/ApplicationPage.qml:375 +#, kde-format +msgid "Visit the app's website" +msgstr "造訪 App 的網站" + +#: discover/qml/ApplicationPage.qml:383 +#, kde-format +msgid "Make a donation" +msgstr "贊助我們" + +#: discover/qml/ApplicationPage.qml:391 +#, kde-format +msgid "Report a problem" +msgstr "回報問題" + +#: discover/qml/ApplicationsListPage.qml:45 +#, kde-format +msgid "Search: %1" +msgstr "搜尋:%1" + +#: discover/qml/ApplicationsListPage.qml:64 +#, kde-format +msgid "Sort: %1" +msgstr "排序:%1" + +#: discover/qml/ApplicationsListPage.qml:67 +#, kde-format +msgid "Name" +msgstr "名稱" + +#: discover/qml/ApplicationsListPage.qml:76 +#, kde-format +msgid "Rating" +msgstr "評分" + +#: discover/qml/ApplicationsListPage.qml:85 +#, kde-format +msgid "Size" +msgstr "大小" + +#: discover/qml/ApplicationsListPage.qml:94 +#, kde-format +msgid "Release Date" +msgstr "釋出日期" + +#: discover/qml/ApplicationsListPage.qml:138 +#, kde-format +msgid "Sorry, nothing found" +msgstr "抱歉,找不到東西" + +#: discover/qml/ApplicationsListPage.qml:152 +#, kde-format +msgid "Still looking..." +msgstr "依然在尋找中..." + +#: discover/qml/BrowsingPage.qml:18 +#, kde-format +msgid "Featured" +msgstr "特色應用程式" + +#: discover/qml/BrowsingPage.qml:41 discover/qml/LoadingPage.qml:7 +#, kde-format +msgid "Loading..." +msgstr "載入中..." + +#: discover/qml/BrowsingPage.qml:58 +#, kde-kuit-format +msgctxt "@info" +msgid "Unable to load applications.Please verify Internet connectivity." +msgstr "無法載入應用程式。請檢查網路是否可供連線。" + +#: discover/qml/DiscoverDrawer.qml:102 +#, kde-format +msgid "Return to the Featured page" +msgstr "回到「特色應用程式」頁面" + +#: discover/qml/DiscoverWindow.qml:40 +#, kde-format +msgid "Running as root is discouraged and unnecessary." +msgstr "以 root 身份執行是不被鼓勵且不需要的。" + +#: discover/qml/DiscoverWindow.qml:60 +#, kde-format +msgid "Search" +msgstr "搜尋" + +#: discover/qml/DiscoverWindow.qml:68 discover/qml/InstalledPage.qml:16 +#, kde-format +msgid "Installed" +msgstr "已安裝" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Fetching updates..." +msgstr "正在抓取更新…" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgid "Up to date" +msgstr "最新" + +#: discover/qml/DiscoverWindow.qml:75 +#, kde-format +msgctxt "Update section name" +msgid "Update (%1)" +msgstr "更新 (%1)" + +#: discover/qml/DiscoverWindow.qml:82 +#, kde-format +msgid "About" +msgstr "關於" + +#: discover/qml/DiscoverWindow.qml:89 discover/qml/SourcesPage.qml:12 +#, kde-format +msgid "Settings" +msgstr "設定" + +#: discover/qml/DiscoverWindow.qml:129 +#, kde-format +msgid "Sorry..." +msgstr "抱歉 ..." + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Could not close Discover, there are tasks that need to be done." +msgstr "無法關閉 Discover,仍有需要完成的作業。" + +#: discover/qml/DiscoverWindow.qml:133 +#, kde-format +msgid "Quit Anyway" +msgstr "仍然關閉" + +#: discover/qml/DiscoverWindow.qml:136 +#, kde-format +msgid "Unable to find resource: %1" +msgstr "找不到資源:%1" + +#: discover/qml/DiscoverWindow.qml:223 discover/qml/SourcesPage.qml:130 +#, kde-format +msgid "Proceed" +msgstr "繼續" + +#: discover/qml/Feedback.qml:11 +#, kde-format +msgid "Submit usage information" +msgstr "提交使用量資訊" + +#: discover/qml/Feedback.qml:12 +#, kde-format +msgid "" +"Sends anonymized usage information to KDE so we can better understand our " +"users. For more information see https://kde.org/privacypolicy-apps.php." +msgstr "" +"傳送匿名使用資訊給 KDE,以讓這程式能更貼合使用者的需求。請瀏覽 https://kde." +"org/privacypolicy-apps.php 取得更多資訊。" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Submitting usage information..." +msgstr "提交使用量資訊…" + +#: discover/qml/Feedback.qml:15 +#, kde-format +msgid "Configure" +msgstr "設定" + +#: discover/qml/Feedback.qml:19 +#, kde-format +msgid "Configure feedback..." +msgstr "設定回應…" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "" +"You can help us improving this application by sharing statistics and " +"participate in surveys." +msgstr "您可以藉由分享統計資料及參與問卷調查以協助我們改善這個應用程式。" + +#: discover/qml/Feedback.qml:48 +#, kde-format +msgid "Contribute..." +msgstr "貢獻…" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "We are looking for your feedback!" +msgstr "我們正在等待你的回應!" + +#: discover/qml/Feedback.qml:53 +#, kde-format +msgid "Participate..." +msgstr "參與…" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Install" +msgstr "安裝" + +#: discover/qml/InstallApplicationButton.qml:14 +#, kde-format +msgid "Remove" +msgstr "移除" + +#: discover/qml/navigation.js:19 +#, kde-format +msgid "Resources for '%1'" +msgstr "%1 的資源" + +#: discover/qml/navigation.js:43 +#, kde-format +msgid "Extensions..." +msgstr "副檔名..." + +#: discover/qml/ProgressView.qml:17 +#, kde-format +msgid "Tasks (%1%)" +msgstr "作業 (%1%)" + +#: discover/qml/ProgressView.qml:17 discover/qml/ProgressView.qml:40 +#, kde-format +msgid "Tasks" +msgstr "作業" + +#: discover/qml/ProgressView.qml:95 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2: %3" +msgstr "%1 - %2: %3" + +#: discover/qml/ProgressView.qml:96 +#, kde-format +msgctxt "TransactioName - TransactionStatus" +msgid "%1 - %2" +msgstr "%1 - %2" + +#: discover/qml/ReviewDelegate.qml:64 +#, kde-format +msgid "Version: %1" +msgstr "版本:%1" + +#: discover/qml/ReviewDelegate.qml:87 +#, kde-format +msgid "unknown reviewer" +msgstr "未知的評論者" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "%1 by %2" +msgstr "%1 由 %2" + +#: discover/qml/ReviewDelegate.qml:88 +#, kde-format +msgid "Comment by %1" +msgstr "來自 %1 的註解" + +#: discover/qml/ReviewDelegate.qml:137 +#, kde-format +msgid "Votes: %1 out of %2" +msgstr "投票:%1 超過 %2" + +#: discover/qml/ReviewDelegate.qml:145 +#, kde-format +msgid "Useful?" +msgstr "有用嗎?" + +#: discover/qml/ReviewDelegate.qml:157 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "Yes" +msgstr "有用" + +#: discover/qml/ReviewDelegate.qml:173 +#, kde-format +msgctxt "Keep this string as short as humanly possible" +msgid "No" +msgstr "沒用" + +#: discover/qml/ReviewDialog.qml:23 +#, kde-format +msgid "Reviewing %1" +msgstr "正在評論 %1" + +#: discover/qml/ReviewDialog.qml:35 +#, kde-format +msgid "Rating:" +msgstr "評分:" + +#: discover/qml/ReviewDialog.qml:39 +#, kde-format +msgid "Name:" +msgstr "名稱:" + +#: discover/qml/ReviewDialog.qml:47 +#, kde-format +msgid "Title:" +msgstr "標題:" + +#: discover/qml/ReviewDialog.qml:66 +#, kde-format +msgid "Enter a rating" +msgstr "輸入一個評論" + +#: discover/qml/ReviewDialog.qml:67 +#, kde-format +msgid "Write the title" +msgstr "撰寫標題" + +#: discover/qml/ReviewDialog.qml:68 +#, kde-format +msgid "Write the review" +msgstr "撰寫評論" + +#: discover/qml/ReviewDialog.qml:69 +#, kde-format +msgid "Keep writing..." +msgstr "正在撰寫..." + +#: discover/qml/ReviewDialog.qml:70 +#, kde-format +msgid "Too long!" +msgstr "太長了!" + +#: discover/qml/ReviewDialog.qml:84 +#, kde-format +msgid "Submit review" +msgstr "提交評論" + +#: discover/qml/ReviewsPage.qml:43 +#, kde-format +msgid "Reviews for %1" +msgstr "%1 的評論" + +#: discover/qml/ReviewsPage.qml:54 +#, kde-format +msgid "Write a Review..." +msgstr "撰寫評論…" + +#: discover/qml/ReviewsPage.qml:59 +#, kde-format +msgid "Install this app to write a review" +msgstr "安裝這個應用程式來撰寫評論" + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search..." +msgstr "搜尋..." + +#: discover/qml/SearchField.qml:27 +#, kde-format +msgid "Search in '%1'..." +msgstr "搜尋於 %1..." + +#: discover/qml/SourcesPage.qml:32 +#, kde-format +msgid "%1 (Default)" +msgstr "%1(預設值)" + +#: discover/qml/SourcesPage.qml:51 +#, kde-format +msgid "Add Source..." +msgstr "新增來源 ..." + +#: discover/qml/SourcesPage.qml:76 +#, kde-format +msgid "Make default" +msgstr "設為預設值" + +#: discover/qml/SourcesPage.qml:174 +#, kde-format +msgid "Failed to increase '%1' preference" +msgstr "無法增加「%1」設定" + +#: discover/qml/SourcesPage.qml:184 +#, kde-format +msgid "Failed to decrease '%1' preference" +msgstr "無法移除「%1」設定" + +#: discover/qml/SourcesPage.qml:189 +#, kde-format +msgid "Delete the origin" +msgstr "刪除來源" + +#: discover/qml/SourcesPage.qml:200 +#, kde-format +msgid "Show contents" +msgstr "顯示內容" + +#: discover/qml/SourcesPage.qml:239 +#, kde-format +msgid "Missing Backends" +msgstr "遺失後輟" + +#: discover/qml/UpdatesPage.qml:12 +#, kde-format +msgid "Updates" +msgstr "更新" + +#: discover/qml/UpdatesPage.qml:41 +#, kde-format +msgid "Update Issue" +msgstr "更新問題" + +#: discover/qml/UpdatesPage.qml:54 +#, kde-format +msgid "OK" +msgstr "確定" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update Selected" +msgstr "更新選取的" + +#: discover/qml/UpdatesPage.qml:77 +#, kde-format +msgid "Update All" +msgstr "全部更新" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "All updates selected (%1)" +msgstr "已選取全部更新 (%1)" + +#: discover/qml/UpdatesPage.qml:127 +#, kde-format +msgid "%1/%2 update selected (%3)" +msgid_plural "%1/%2 updates selected (%3)" +msgstr[0] "已選取 %1(共 %2)個更新 (%3)" + +#: discover/qml/UpdatesPage.qml:185 +#, kde-format +msgid "Restart" +msgstr "重新開機" + +#: discover/qml/UpdatesPage.qml:265 +#, kde-format +msgid "%1" +msgstr "%1" + +#: discover/qml/UpdatesPage.qml:278 +#, kde-format +msgid "Update to version %1" +msgstr "更新至 %1 版" + +#: discover/qml/UpdatesPage.qml:288 +#, kde-format +msgctxt "Do not translate or alter \\x9C" +msgid "%1 → %2%1 → %2%2" +msgstr "%1 → %2%1 → %2%2" + +#: discover/qml/UpdatesPage.qml:301 +#, kde-format +msgid "Installing" +msgstr "安裝中…" + +#: discover/qml/UpdatesPage.qml:332 +#, kde-format +msgid "More Information..." +msgstr "更多資訊..." + +#: discover/qml/UpdatesPage.qml:360 +#, kde-format +msgctxt "@info" +msgid "Fetching updates..." +msgstr "正在抓取更新…" + +#: discover/qml/UpdatesPage.qml:373 +#, kde-format +msgctxt "@info" +msgid "Updates" +msgstr "更新" + +#: discover/qml/UpdatesPage.qml:379 +#, kde-format +msgctxt "@info" +msgid "The system requires a restart to apply updates" +msgstr "系統需重新啟動才能套用更新" + +#: discover/qml/UpdatesPage.qml:384 discover/qml/UpdatesPage.qml:390 +#: discover/qml/UpdatesPage.qml:396 +#, kde-format +msgctxt "@info" +msgid "Up to date" +msgstr "最新" + +#: discover/qml/UpdatesPage.qml:402 +#, kde-format +msgctxt "@info" +msgid "Should check for updates" +msgstr "應該檢查更新" + +#: discover/qml/UpdatesPage.qml:408 +#, kde-format +msgctxt "@info" +msgid "It is unknown when the last check for updates was" +msgstr "不知道上次檢查更新的時間" \ No newline at end of file diff --git a/update/CMakeLists.txt b/update/CMakeLists.txt new file mode 100644 index 0000000..5544790 --- /dev/null +++ b/update/CMakeLists.txt @@ -0,0 +1,5 @@ +add_executable(plasma-discover-update main.cpp DiscoverUpdate.cpp) + +target_link_libraries(plasma-discover-update Discover::Common KF5::CoreAddons KF5::I18n) + +install(TARGETS plasma-discover-update ${INSTALL_TARGETS_DEFAULT_ARGS}) diff --git a/update/DiscoverUpdate.cpp b/update/DiscoverUpdate.cpp new file mode 100644 index 0000000..f2cd250 --- /dev/null +++ b/update/DiscoverUpdate.cpp @@ -0,0 +1,51 @@ +/* + * SPDX-FileCopyrightText: 2020 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#include "DiscoverUpdate.h" +#include +#include +#include +#include + +DiscoverUpdate::DiscoverUpdate() + : QObject(nullptr) + , m_resourcesUpdatesModel(new ResourcesUpdatesModel) +{ + connect(m_resourcesUpdatesModel, &ResourcesUpdatesModel::passiveMessage, this, [] (const QString &message) { + qWarning() << "message" << message; + }); + connect(ResourcesModel::global(), &ResourcesModel::fetchingChanged, this, &DiscoverUpdate::start); + connect(m_resourcesUpdatesModel, &ResourcesUpdatesModel::progressingChanged, this, &DiscoverUpdate::start); + connect(ResourcesModel::global(), &ResourcesModel::backendsChanged, this, &DiscoverUpdate::start); +} + +DiscoverUpdate::~DiscoverUpdate() = default; + +void DiscoverUpdate::start() +{ + if (m_resourcesUpdatesModel->isProgressing() || ResourcesModel::global()->isFetching() || m_done) + return; + + qDebug() << "ready" << ResourcesModel::global()->updatesCount(); + m_resourcesUpdatesModel->prepare(); + qDebug() << "steady" << m_resourcesUpdatesModel->rowCount({}); + m_resourcesUpdatesModel->updateAll(); + + auto transaction = m_resourcesUpdatesModel->transaction(); + connect(transaction, &Transaction::statusChanged, this, &DiscoverUpdate::transactionStatusChanged); + + qDebug() <<"go!" << transaction; +} + +void DiscoverUpdate::transactionStatusChanged(Transaction::Status status) +{ + m_done = true; + qDebug() <<"status!" << status << ResourcesModel::global()->updatesCount(); + if (status == Transaction::DoneStatus || status == Transaction::DoneWithErrorStatus) { + const bool withError = status == Transaction::DoneWithErrorStatus; + QCoreApplication::instance()->exit(withError); + } +} diff --git a/update/DiscoverUpdate.h b/update/DiscoverUpdate.h new file mode 100644 index 0000000..8734dce --- /dev/null +++ b/update/DiscoverUpdate.h @@ -0,0 +1,34 @@ +/* + * SPDX-FileCopyrightText: 2020 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#ifndef DISCOVERUPDATE_H +#define DISCOVERUPDATE_H + +#include +#include +#include + +#include + +class AbstractResource; +class ResourcesUpdatesModel; + +class DiscoverUpdate : public QObject +{ + Q_OBJECT + public: + explicit DiscoverUpdate(); + ~DiscoverUpdate() override; + + private: + void start(); + void transactionStatusChanged(Transaction::Status status); + + ResourcesUpdatesModel* const m_resourcesUpdatesModel; + bool m_done = false; +}; + +#endif // DISCOVERUPDATE_H diff --git a/update/main.cpp b/update/main.cpp new file mode 100644 index 0000000..9658696 --- /dev/null +++ b/update/main.cpp @@ -0,0 +1,36 @@ +/* + * SPDX-FileCopyrightText: 2020 Aleix Pol Gonzalez + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#include +#include +#include +#include +#include "DiscoverUpdate.h" +#include +#include "../DiscoverVersion.h" + +int main(int argc, char** argv) +{ + QApplication app(argc, argv); + app.setQuitOnLastWindowClosed(false); + KLocalizedString::setApplicationDomain("plasma-discover-update"); + KAboutData about(QStringLiteral("discoverupdate"), i18n("Discover Update"), version, {}, + KAboutLicense::GPL, i18n("© 2020 Aleix Pol Gonzalez"), {}); + about.addAuthor(QStringLiteral("Aleix Pol i Gonzàlez"), {}, QStringLiteral("aleixpolkde.org")); + about.setProductName("discover/update"); + + DiscoverUpdate exp; + { + QCommandLineParser parser; + DiscoverBackendsFactory::setupCommandLine(&parser); + about.setupCommandLine(&parser); + parser.process(app); + about.processCommandLine(&parser); + DiscoverBackendsFactory::processCommandLine(&parser, false); + } + + return app.exec(); +}