commit 138b73bb3fc63c9319011a782d103bd6b315b17d Author: openKylinBot Date: Tue May 24 22:48:50 2022 +0800 Import Upstream version 21.12.3 diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 0000000..74c7ef6 --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,2 @@ +1bb578b2a70d5696836ca9e146efdcf293d3bdeb +a1c83ab8b9bfcc3f8aa33054434dc35cc180e7d3 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cb33a24 --- /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* +.cmake/ +.clang-format diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..3570dcc --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: None +# SPDX-License-Identifier: CC0-1.0 + +include: + #- https://invent.kde.org/sysadmin/ci-tooling/raw/master/invent/ci-reuse.yml + - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml + - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml diff --git a/.kde-ci.yml b/.kde-ci.yml new file mode 100644 index 0000000..cbcb986 --- /dev/null +++ b/.kde-ci.yml @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: None +# SPDX-License-Identifier: CC0-1.0 + +Dependencies: +- 'on': ['@all'] + 'require': + 'frameworks/extra-cmake-modules': '@stable' + 'frameworks/kcmutils': '@stable' + 'frameworks/ki18n': '@stable' + 'frameworks/kcoreaddons': '@stable' + 'frameworks/kdbusaddons': '@stable' + 'frameworks/kdeclarative': '@stable' + 'frameworks/kwallet': '@stable' + 'frameworks/kio': '@stable' diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..8b56a7c --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,67 @@ +cmake_minimum_required(VERSION 3.16) + +set(RELEASE_SERVICE_VERSION_MAJOR "21") +set(RELEASE_SERVICE_VERSION_MINOR "12") +set(RELEASE_SERVICE_VERSION_MICRO "3") +set(KACCOUNTS_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") + +project(KAccounts LANGUAGES CXX VERSION ${KACCOUNTS_VERSION}) + +set(QT_REQUIRED_VERSION "5.15.0") +set(KF5_MIN_VERSION "5.78.0") + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) + +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) + +set(KACCOUNTS_SOVERSION "2") +set(ACCOUNTSQT_DEP_VERSION "1.13") +set(SIGNONQT_DEP_VERSION "8.55") +set(ACCOUNTSGLIB_DEP_VERSION "1.21") + +find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Core Widgets) +find_package(KF5 ${KF5_MIN_VERSION} REQUIRED KCMUtils I18n CoreAddons DBusAddons Declarative Wallet KIO) + +find_package(AccountsQt5 ${ACCOUNTSQT_DEP_VERSION} CONFIG) +set_package_properties(AccountsQt5 PROPERTIES DESCRIPTION "Accounts management library for Qt applications" + URL "https://gitlab.com/accounts-sso/libaccounts-qt" + TYPE REQUIRED + PURPOSE "Required for building this module") + +find_package(SignOnQt5 ${SIGNONQT_DEP_VERSION} CONFIG) +set_package_properties(SignOnQt5 PROPERTIES DESCRIPTION "D-Bus service which performs user authentication on behalf of its clients" + URL "https://gitlab.com/accounts-sso/signond" + TYPE REQUIRED + PURPOSE "Required for building this module") + +add_definitions (-DTRANSLATION_DOMAIN=\"kaccounts-integration\" -DQT_NO_KEYWORDS -DQT_NO_FOREACH) + +include(CMakePackageConfigHelpers) +include(KDEInstallDirs) +include(KDECMakeSettings) +include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) +include(ECMInstallIcons) +include(FeatureSummary) +include(ECMSetupVersion) +include(ECMGenerateHeaders) +include(GenerateExportHeader) +include(KDEClangFormat) + +if(KF5_VERSION VERSION_GREATER_EQUAL 5.79) + include(KDEGitCommitHooks) +endif() + +add_subdirectory(src) + +file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) +kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) + +if(KF5_VERSION VERSION_GREATER_EQUAL 5.79) + kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) +endif() + +feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) +ki18n_install(po) 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/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/Messages.sh b/Messages.sh new file mode 100755 index 0000000..f1ac27c --- /dev/null +++ b/Messages.sh @@ -0,0 +1,2 @@ +#! /usr/bin/env bash +$XGETTEXT `find . -name \*.cpp -o -name \*.h -o -name \*.qml` -o $podir/kaccounts-integration.pot diff --git a/README b/README new file mode 100644 index 0000000..31b9cf0 --- /dev/null +++ b/README @@ -0,0 +1,104 @@ +# Setting up accounts-sso + +Accounts-SSO is the framework we are using to store secrets (tokens, passwords) +and for storing Accounts (small pieces of information containing a name, +a provider, etc). + +https://accounts-sso.gitlab.io/ + +## Accounts + +This is a fairly simply yet powerful framework, it stores all information into a +sqlite database and then propagates the modifications using dbus so all applications +using libaccounts will be aware of the modifications. + +### libaccounts-glib + +The first thing to compile is libaccounts-glib, which is the code implementing +all the Read/Write/Notification of Accounts: + + git clone https://gitlab.com/accounts-sso/libaccounts-glib libaccounts-glib + cd libaccounts-glib + meson build + ninja -C build && ninja -C build install + +### libaccounts-qt + +This is the Qt bindings for libaccounts-glib, it uses qmake. + + git clone https://gitlab.com/accounts-sso/libaccounts-qt libaccounts-qt + cd libaccounts-qt + qmake + make && make install + +Note that at this very day libaccounts-qt qmake does **NOT** support compiling the +library outside the source directory, this means that the command qmake must be +executed within the root of libaccounts-qt and not for example in a build directory. + +##SSO + +Single Sign On is the part of the framework responsible for storing and obtaining +credentials. It stores the credentials in a secure way (in case of KDE within +KWallet) and has a plugin system to do authentication in most common cases such +oauth/2 or simple user and password. + +An interface can be plugged into SSO, at this moment we are using ubuntu's +implementation signon-ui but that will changes in the future. + +### signond + +This includes a daemon that will be dbus activated and will offer a set of dbus api +to access to credentials and to authenticate to services (google/facebook oauth or +owncloud user/password). Within this same repo there is a Qt library that we'll use +in our applications to talk to the daemon. + + git clone https://gitlab.com/accounts-sso/signond signond + qmake + make && make install + +Note: Since signond is *dbus* activated be sure that the file +`com.google.code.AccountsSSO.SingleSignOn.service` is in a location where dbus +can find it (usually /usr/share/dbus-1/services) + +### Wallet support + +In order for sigond to talk to KWallet we need a plugin for it, otherwise it will +store secrets (tokens and passwords) in plain text + + git clone git://anongit.kde.org/signon-kwallet-extension.git + mkdir signon-kwallet-extension/build + cd signon-kwallet-extension/build + cmake .. + make && make install + +### oauth2 plugin + +This plugin makes signond able to deal with oauth2 authentication + + git clone https://gitlab.com/accounts-sso/signon-plugin-oauth2 signon-plugin-oauth2 + mkdir signon-plugin-oauth2/build + cd signon-plugin-oauth2/build + qmake .. + make install + +### signon-ui + +signon-ui provides the user interface for logging-into various accounts. + + git clone https://gitlab.com/accounts-sso/signon-ui signon-ui + cd signon-ui + qmake + make install + +### kde providers + +This are the providers and services that at this very moment we provide support for. +For example in Facebook we support Chat, Contacts Calendar... for what we need a +facebook.provider and chat/contacts/calendar.service files. This is basically a bunch +of icons and .xml files + + git clone git://anongit.kde.org/kaccount-providers.git + mkdir kaccount-providers/build + cd kaccount-providers/build + cmake .. + make install diff --git a/README.md b/README.md new file mode 100644 index 0000000..8703a87 --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +# KAccounts Integration + +Integration library and QML module for Accounts-SSO and SignOn-SSO + +# Introduction + +KAccounts Integration provides a way to share accounts data such as login tokens and general +user information (like usernames and such) between various applications. + +The KAccounts library is a KDE Frameworks style abstraction layer on top of the Accounts-SSO +and SignOnD libraries, which uses a combination of models and jobs to expose the functionality +of those. + +The kaccounts QML plugin exposes that functionality directly to Qt Quick based applications, +and using the classes only requires importing the module like so: + +``` +import org.kde.kaccounts 1.2 as KAccounts +``` + +The main functionality in the library can be accessed through the various classes below, and +the accounts manager can be accessed directly through ```KAccounts::accountsManager()```. The +other central classes are: + +## Models + +* AccountsModel +* ServicesModel +* ProvidersModel + +## Jobs + +* AccountServiceToggleJob +* ChangeAccountDisplayNameJob +* CreateAccountJob +* RemoveAccountJob + +# KDE Control Module + +The Online Accounts KCM is the main user-visible point for KAccounts, and can be accessed +either through System Settings, or directly from any system menu which allows launching of +KCMs directly (including KRunner). It is built using the Qt Quick module mentioned above, +and uses Kirigami as its base. + +# Provider and Service files + +If you plan on creating new providers and services, you will need to register those with +the accounts manager. Two cmake macros are provided to assist you in the creation and +installation of these files, and further assists in translation integration for them: + +* kaccounts_add_provider +* kaccounts_add_service diff --git a/example/accounts.qml b/example/accounts.qml new file mode 100644 index 0000000..7324b68 --- /dev/null +++ b/example/accounts.qml @@ -0,0 +1,67 @@ +import QtQuick 2.3 +import QtQuick.Controls 1.2 +import QtQuick.Layouts 1.1 +import Ubuntu.OnlineAccounts 0.1 as OA +import org.kde.kaccounts 1.0 + +ApplicationWindow +{ + StackView { + id: stack + anchors.fill: parent + + initialItem: ListView { + Layout.fillWidth: true + Layout.fillHeight: true + + header: Label { + font.pointSize: 20 + text: "Accounts" + } + footer: Button { + text: "Add new Account" + onClicked: stack.push(addProviderComponent) + } + + model: OA.AccountServiceModel { + id: accountsModel + service: "global" + includeDisabled: true + } + + delegate: Label { + text: displayName + } + } + } + + Component { + id: addProviderComponent + ListView { + Layout.fillWidth: true + Layout.fillHeight: true + + header: Label { + anchors.horizontalCenter: parent.horizontalCenter + font.pointSize: 20 + text: "Available Accounts" + } + + model: OA.ProviderModel {} + delegate: Button { + anchors.horizontalCenter: parent.horizontalCenter + text: displayName + + Component { + id: jobComponent + CreateAccountJob {} + } + + onClicked: { + var job = jobComponent.createObject(stack, { providerName: providerId}) + job.start() + } + } + } + } +} diff --git a/po/ar/kaccounts-integration.po b/po/ar/kaccounts-integration.po new file mode 100644 index 0000000..f7a0de3 --- /dev/null +++ b/po/ar/kaccounts-integration.po @@ -0,0 +1,385 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Safa Alfulaij , ٢٠١٥. +# Zayed Al-Saidi , 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-07-10 19:37+0400\n" +"Last-Translator: Zayed Al-Saidi \n" +"Language-Team: ar\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 21.07.70\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "زايد السعيدي" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "zayed.alsaidi@gmail.com" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "الحسابات" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "تفاصيل الحساب" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "حساب %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "غيّر اسم عرض الحساب" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "استخدم هذا الحساب لـ" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "أزل هذا الحساب" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"لا توجد خدمات قابلة للضبط متوفرة لهذا الحساب. لا يزال بإمكانك تغيير اسم " +"العرض الخاص به عن طريق النقر فوق أيقونة التحرير أعلاه." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "أزِل %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "لم تضف أي حساب بعد" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"انقر على زرأضف حساب جديد... في الأسفل لتضيف واحد" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "أضف حسابًا جديدًا..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "أضف حسابًا جديدًا" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "أأزيل الحساب؟" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "أمتأكد أنك تريد إزالة حساب \"%1\" \"%2\" ؟" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "أمتأكد أنك تريد إزالة حساب \"%1\"؟" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "أمتأكد أنك تريد إزالة حساب \"%1\"؟" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "أزل الحساب" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "غير اسم الحساب" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "أدخل الاسم الجديد:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "ضع اسم الحساب" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "لم يعثر على حساب بالمعرف %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "لا يوجد مدير حسابات ، هذا ليس رائعًا." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "اسم العرض لا يمكن أن يكون فارغا" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "تعذّر تحميل الملحقة %1، فضلًا تأكّد من تثبيتك" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "ألغيت بواسطة المستخدم" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "حدث خطأ أثناء محاولة معالجة الطلب: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "تعذر العثور على الحساب" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "تعذر العثور على معلومات الاستيثاق" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "تعثذر إنشاء جلسة استيثاق" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "تعذّر فتح المحفظة" + +#~ msgid "Configure..." +#~ msgstr "اضبط..." + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "تعذّر الإنهاء" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "حدّد حسابًا من العمود الأيمن لضبطه" + +#~ msgid "Create" +#~ msgstr "أنشئ" + +#~ msgid "Select what services you want to activate" +#~ msgstr "حدّد أيّ الخدمات تريد تنشيطها" + +#~ msgid "ownCloud" +#~ msgstr "سحابتي" + +#~ msgid "Password:" +#~ msgstr "كلمة المرور :" + +#~ msgid "Username" +#~ msgstr "اسم المستخدم" + +#, fuzzy +#~| msgid "my.owncloudserver.org" +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "الخادوم" + +#~ msgid "Connecting to:" +#~ msgstr "يتّصل بِـ:" + +#~ msgid "Contacts" +#~ msgstr "المتراسلون" + +#~ msgid "ownCloud Server" +#~ msgstr "خادوم سحابتي ownCloud" + +#~ msgid "Everything is Ok" +#~ msgstr "كلّ شيء على ما يرام" + +#~ msgid "Information is invalid" +#~ msgstr "المعلومات غير صالحة" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "Username:" +#~ msgstr "اسم المستخدم:" + +#~ msgid "Password" +#~ msgstr "كلمة المرور" + +#~ msgid "Host:" +#~ msgstr "المضيف:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "التّالي" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "أنهِ" + +#~ msgid "Files" +#~ msgstr "الملفّات" + +#~ msgid "Calendar" +#~ msgstr "التّقويم" + +#~ msgid "Facebook account Wizard" +#~ msgstr "مرشد حساب فيسبوك" + +#~ msgid "The email and password are required" +#~ msgstr "البريد الإلكترونيّ وكلمة المرور مطلوبان" + +#~ msgid "The email is required" +#~ msgstr "البريد الإلكترونيّ مطلوب" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "الحساب مضبوط بالفعل كحساب وِبّ" + +#~ msgid "The password is required" +#~ msgstr "كلمة المرور مطلوبة" + +#~ msgid "Facebook Authentication" +#~ msgstr "استيثاق فيسبوك" + +#, fuzzy +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "خطأ في المزامنة مع فيسبوك، فضلًا اضغط \"السّابق\" وتحقّق من" + +#~ msgid "Checking username..." +#~ msgstr "يفحص اسم المستخدم..." + +#~ msgid "Waiting for authorization..." +#~ msgstr "ينتظر الاستيثاق..." + +#~ msgid "Try again" +#~ msgstr "حاول مجدّدًا" + +#~ msgid "Google account Wizard" +#~ msgstr "مرشد حساب غوغل" + +#~ msgid "Calendar / Tasks" +#~ msgstr "التّقويم / المهامّ" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "يبدو البريد الإلكترونيّ خاطئًا (نسقه غير صالح)" + +#~ msgid "Email address:" +#~ msgstr "عنوان البريد الإلكترونيّ:" + +#~ msgid "Google Authentication" +#~ msgstr "استيثاق غوغل" + +#~ msgid "TextLabel" +#~ msgstr "لصيقة نصّ" + +#~ msgid "Select services" +#~ msgstr "حدّد الخدمات" + +#~ msgid "EMail" +#~ msgstr "البريد الإلكترونيّ" + +#~ msgid "Tasks" +#~ msgstr "المهامّ" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "يطلب «حسابات الوِبّ» النّفاذ إلى" + +#~ msgid "Calendar and Contacts" +#~ msgstr "التّقويم والمتراسلون" + +#~ msgid "User or password are incorrect" +#~ msgstr "المستخدم أو كلمة المرور خاطئان" + +#~ msgid "The username and password are required" +#~ msgstr "اسم المستخدم وكلمة المرور مطلوبان" + +#~ msgid "The username is required" +#~ msgstr "اسم المستخدم مطلوب" diff --git a/po/ast/kaccounts-integration.po b/po/ast/kaccounts-integration.po new file mode 100644 index 0000000..bc8c881 --- /dev/null +++ b/po/ast/kaccounts-integration.po @@ -0,0 +1,232 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the kaccounts-integration package. +# +# enolp , 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-01-14 19:06+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 20.12.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Softastur" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alministradores@softastur.org" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Cuentes" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Detalles d'una cuenta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Camudar el nome de la cuenta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Usar esta cuenta pa" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Desaniciar esta cuenta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Nun hai servicios configurables y disponibles pa esta cunta. Entá pues " +"camudar el so nome calcando l'iconu d'edición d'enriba." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Desaniciar %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Entá nun s'amestaron cuentes" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Amestar una cuenta nueva…" + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Amiestu d'una cuenta nueva" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "¿Desaniciar la cuenta?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "¿De xuru que desees desaniciar la cuenta «%2» de «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "¿De xuru que desees desaniciar la cuenta «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "¿De xuru que desees desaniciar esta cuenta de «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Desaniciar la cuenta" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Desaniciar la cuenta" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Introduz el nome de nuevu:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Afitar el nome" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Nun s'atopó nenguna cuenta cola ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Nun hai un xestor de cuentes, esto nun ta mui bien." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "El nome nun pue tar baleru" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Nun pue cargase'l plugin %1, comprueba la instalación" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Hebo un fallu mentanto se tentaba de procesar la solicitú: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Nun pudo atopase la cuenta" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Nun pudieron atopase les credenciales" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Nun pue crease la sesión d'autenticación" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Nun pue abrise la cartera" diff --git a/po/az/kaccounts-integration.po b/po/az/kaccounts-integration.po new file mode 100644 index 0000000..3a4428f --- /dev/null +++ b/po/az/kaccounts-integration.po @@ -0,0 +1,240 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the kaccounts-integration package. +# +# Kheyyam Gojayev , 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-03-24 12:21+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.12.3\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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "İstifadəçi Hesabları" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "İstifadəçi Hesabları haqqında" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 hesab" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Hesabın adını dəyişmək" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Bu Hesabı bunun üçün istifadə etmək" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Bu Hesabı silmək" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Bu Hesab üçün tənzimlənə bilən xidmət yoxdur. Siz hələ də yuxarıdakı nişana " +"vurmaqla hesabın adını dəyişə bilərsiniz." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "%1 silmək" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Hələlik hesablar əlavə edilməyib" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Bir hesab əlavə etmək üçün, aşağıda Yeni hesab əlavə edin... düyməsinə vurun" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Yeni Hesab əlavə etmək..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Yeni Hesab əlaə etmək" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Hesab silinsin?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Siz \"%1\" \"%2\" hesabını silinmək istədiyinizə əminsiniz?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "\"%1\" hesabını silmək istədiyinizə əminsiniz?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Bu \"%1\" hesabını silmək istədiyinizə əminsiniz?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Hesabı Silmək" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Hesabın adını dəyişmək" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Yeni ad daxil edin:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Hesabın adını təyin edin" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "%1 İD-si ilə hesab tapılmadı" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Hesab Meneceri yoxdur, bu yaxşı deyil." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Hesab adı boş ola bilməz" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "%1 qoşması yüklənə bilmədi, lütfən quraşdırmanı yoxlayın" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "İstifadəçi tərəfindən ləğv edildi" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Bu sorğunun işlənməsi zamanı xəta baş verdi: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Hesab tapıla bilmədi" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Hesab məlumatlarını" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Doğrulama sessiyası yaradıla bilmədi" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Cüzdan açıla bilmir" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Hesabın yeni adını daxil edin" diff --git a/po/bs/kaccounts-integration.po b/po/bs/kaccounts-integration.po new file mode 100644 index 0000000..fe49f80 --- /dev/null +++ b/po/bs/kaccounts-integration.po @@ -0,0 +1,232 @@ +# Bosnian translations for PACKAGE package +# engleski prevodi za paket PACKAGE. +# Copyright (C) 2015 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Samir ribic , 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: kde5\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2015-02-19 10:14+0100\n" +"Last-Translator: Samir ribic \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" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "" + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "" diff --git a/po/ca/kaccounts-integration.po b/po/ca/kaccounts-integration.po new file mode 100644 index 0000000..5f01f38 --- /dev/null +++ b/po/ca/kaccounts-integration.po @@ -0,0 +1,239 @@ +# Translation of kaccounts-integration.po to Catalan +# Copyright (C) 2015-2021 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. +# +# Antoni Bella Pérez , 2015, 2016, 2020, 2021. +# Josep M. Ferrer , 2015, 2016, 2017, 2019, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-10-29 17:53+0200\n" +"Last-Translator: Josep M. 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 20.12.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Antoni Bella" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "antonibella5@yahoo.com" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Comptes" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Detalls del compte" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "Compte de %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Canvia el nom a mostrar del compte" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Usa aquest compte per a" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Elimina aquest compte" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"No hi ha cap servei configurable per a aquest compte. Encara podreu canviar " +"el seu nom a mostrar fent clic a la icona d'edició de dalt." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Elimina %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Encara no s'ha afegit cap compte" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Feu clic al botó Afegeix un compte nou... que hi ha a " +"sota per a afegir-ne un" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Afegeix un compte nou..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Afegeix un compte nou" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Elimino el compte?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Esteu segur que voleu eliminar el compte «%2» de «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Esteu segur que voleu eliminar el compte «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Esteu segur que voleu eliminar aquest compte de «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Elimina el compte" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Reanomena el compte" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Introduïu el nom nou:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Indiqueu el nom del compte" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "No s'ha trobat cap compte amb la ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "No hi ha cap gestor de comptes, això no és impressionant." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "El nom de la pantalla no pot estar buit" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "" +"No s'ha pogut carregar el connector %1. Si us plau, comproveu la instal·lació" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Cancel·lada per l'usuari" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "S'ha produït un error en provar de processar la sol·licitud: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "No s'ha pogut trobar el compte" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "No s'han pogut trobar les credencials" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "No s'ha pogut crear la sessió d'autorització" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "No s'ha pogut obrir la cartera" diff --git a/po/ca@valencia/kaccounts-integration.po b/po/ca@valencia/kaccounts-integration.po new file mode 100644 index 0000000..35c6f94 --- /dev/null +++ b/po/ca@valencia/kaccounts-integration.po @@ -0,0 +1,239 @@ +# Translation of kaccounts-integration.po to Catalan (Valencian) +# Copyright (C) 2015-2021 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. +# +# Antoni Bella Pérez , 2015, 2016, 2020, 2021. +# Josep M. Ferrer , 2015, 2016, 2017, 2019, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-10-29 17:53+0200\n" +"Last-Translator: Josep M. 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 20.12.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Antoni Bella" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "antonibella5@yahoo.com" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Comptes" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Detalls del compte" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "Compte de %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Canvia el nom a mostrar del compte" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Usa aquest compte per a" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Elimina aquest compte" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"No hi ha cap servei configurable per a aquest compte. Encara podreu canviar " +"el seu nom a mostrar fent clic a la icona d'edició de dalt." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Elimina %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Encara no s'ha afegit cap compte" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Feu clic al botó Afig un compte nou... que hi ha a " +"sota per a afegir-ne un" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Afig un compte nou..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Afig un compte nou" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Elimino el compte?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Esteu segur que voleu eliminar el compte «%2» de «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Esteu segur que voleu eliminar el compte «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Esteu segur que voleu eliminar aquest compte de «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Elimina el compte" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Reanomena el compte" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Introduïu el nom nou:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Indiqueu el nom del compte" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "No s'ha trobat cap compte amb la ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "No hi ha cap gestor de comptes, això no és impressionant." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "El nom de la pantalla no pot estar buit" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "" +"No s'ha pogut carregar el connector %1. Per favor, comproveu la instal·lació" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Cancel·lada per l'usuari" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "S'ha produït un error en provar de processar la sol·licitud: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "No s'ha pogut trobar el compte" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "No s'han pogut trobar les credencials" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "No s'ha pogut crear la sessió d'autorització" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "No s'ha pogut obrir la cartera" diff --git a/po/cs/kaccounts-integration.po b/po/cs/kaccounts-integration.po new file mode 100644 index 0000000..b5ab8b6 --- /dev/null +++ b/po/cs/kaccounts-integration.po @@ -0,0 +1,231 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Vít Pelčák , 2014, 2015, 2017. +# Vit Pelcak , 2017, 2019, 2020, 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-03-22 18:41+0100\n" +"Last-Translator: Vit Pelcak \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Lokalize 20.12.3\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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Účty" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Podrobnosti o účtu" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 účet" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Změnit zobrazovaný název účtu" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Použít tento účet pro" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Odstranit tento účet" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Odstranit %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Žádné účty zatím nebyly přidány" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Přidat nový účet..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Přidat nový účet" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Odstranit účet" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Opravdu si přejete odstranit \"%1\" účet \"%2\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Opravdu si přejete odstranit účet \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Určitě chcete odstranit tento \"%1\" účet?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Odstranit účet" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Přejmenovat účet" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Zadejte nový název:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Nastavit název účtu" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Název obrazovky nesmí být prázdný" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Nelze načíst zásuvný modul %1. Prosím, zkontrolujte svou instalaci" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Zrušeno uživatelem" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Nastala chyba při pokusu o zpracování žádosti: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Nelze najít účet" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Nelze najít přihlašovací údaje" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Úschovnu nelze otevřít" diff --git a/po/da/kaccounts-integration.po b/po/da/kaccounts-integration.po new file mode 100644 index 0000000..d02403a --- /dev/null +++ b/po/da/kaccounts-integration.po @@ -0,0 +1,269 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Martin Schlander , 2015, 2016, 2020, 2021. +# scootergrisen, 2017. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-09-09 21:51+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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Konti" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Kontodetaljer" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1-konto" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Skift kontoens viste navn" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Brug denne konto til" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Fjern denne konto" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Der er ingen konfigurerbare tjenester tilgængelige for denne konto. Du kan " +"stadig ændre dens viste navn ved at klikke på redigér-ikonet ovenfor." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Fjern %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Ingen konti tilføjet endnu" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Klik på knappen Tilføj ny konto... nedenfor for at " +"tilføje en" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Tilføj ny konto..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Tilføj ny konto" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Fjern konto?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Vil du fjerne \"%1\"-kontoen \"%2\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Vil du fjerne kontoen \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Vil du fjerne denne \"%1\"-konto?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Fjern konto" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Omdøb konto" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Angiv nyt navn:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Angiv kontonavn" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Ingen konto fundet med id %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Ingen håndtering af konti, dette er ikke optimalt." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Det viste navn må ikke være tomt" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Kunne ikke indlæse %1-plugin. Tjek din installation" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Annulleret af brugeren" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Der opstod en fejl under forsøg på at behandle anmodningen: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Kunne ikke finde konto" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Kunne ikke finde akkreditiver" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Kunne ikke oprette auth-session" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Kan ikke åbne tegnebog" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Angiv navnet på kontoen" + +#~ msgid "Configure..." +#~ msgstr "Indstil..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Ingen kontoudbydere fundet.Der kan findes udbydere i pakkerne " +#~ "kaccounts-providers og ktp-" +#~ "accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "Følgende manglende udbydere kræves af installerede tjenester: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Kan ikke afslutte" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Vælg en konto fra venstre kolonne der skal konfigureres" + +#~ msgid "Create" +#~ msgstr "Opret" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Vælg hvilke tjenester du vil aktivere" diff --git a/po/de/kaccounts-integration.po b/po/de/kaccounts-integration.po new file mode 100644 index 0000000..f32db04 --- /dev/null +++ b/po/de/kaccounts-integration.po @@ -0,0 +1,412 @@ +# Burkhard Lück , 2014, 2015, 2017, 2019, 2020, 2021. +# Frederik Schwarzer , 2016. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-04-24 10:35+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" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Deutsches KDE-Übersetzerteam" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-i18n-de@kde.org" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Zugänge" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Zugangsdetails" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "Zugang %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Anzeigenamen des Zugangs ändern" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Diesen Zugang verwenden für" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Diesen Zugang entfernen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Es gibt keine einstellbaren Dienste für diesen Zugang, sie können jedoch den " +"angezeigten Namen ändern, indem Sie auf das Bearbeitungssymbol oben klicken." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "%1 entfernen" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Es wurden noch keine Zugänge hinzugefügt." + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Klicken Sie auf Neuen Zugang hinzufügen ... unten, um " +"einen neuen Zugang hinzuzufügen" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Neuen Zugang hinzufügen ..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Neuen Zugang hinzufügen" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Zugang entfernen?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Möchten Sie den Zugang „%1“ für „%2“ wirklich entfernen?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Möchten Sie den Zugang „%1“ wirklich entfernen?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Möchten Sie diesen Zugang „%1“ wirklich entfernen?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Zugang entfernen" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Zugang umbenennen" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Neuen Namen eingeben:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Zugangsname festlegen" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Kein Zugang mit der Kennung „%1“ gefunden" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Es wurde keine Zugangsverwaltung gefunden." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Der Anzeigename darf nicht leer sein" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "" +"Das Modul %1 kann nicht geladen werden, bitte überprüfen Sie Ihre " +"Installation" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Vom Benutzer abgebrochen" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Beim Bearbeiten der Anfrage ist ein Fehler aufgetreten: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Zugang wurde nicht gefunden" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Anmeldungsdaten wurden nicht gefunden" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Autorisierungssitzung kann nicht erstellt werden" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Der Passwortspeicher kann nicht geöffnet werden" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Geben Sie den neuen Namen des Zugangs ein" + +#~ msgid "Configure..." +#~ msgstr "Einrichten ..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Es wurde kein Anbieter für den Zugang gefunden.Einige Anbieter " +#~ "finden Sie im Paket kaccounts-providers und " +#~ "ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "Folgende fehlende Anbieter sind für den installierten Dienst " +#~ "erforderlich: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Beenden ist nicht möglich" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Wählen Sie einen Zugang aus der linken Spalte, um ihn einzurichten" + +#~ msgid "Create" +#~ msgstr "Erstellen" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Wählen Sie den Dienst. den Sie aktivieren möchten" + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Passwort:" + +#~ msgid "Username" +#~ msgstr "Benutzername" + +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "http://my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "Server" + +#~ msgid "JohnDoe" +#~ msgstr "Max Mustermann" + +#~ msgid "Unable to authenticate using the provided username and password" +#~ msgstr "" +#~ "Die Anmeldung ist mit den angegebenen Benutzernamen und Passwort nicht " +#~ "möglich" + +#~ msgid "Connecting to:" +#~ msgstr "Verbindung herstellen zu:" + +#~ msgid "Contacts" +#~ msgstr "Kontakte" + +#~ msgid "ownCloud Server" +#~ msgstr "ownCloud-Server" + +#~ msgid "Everything is Ok" +#~ msgstr "Alles ist in Ordnung" + +#~ msgid "Information is invalid" +#~ msgstr "Die Information ist ungültig" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "Max Mustermann (Benutzername)" + +#~ msgid "Username:" +#~ msgstr "Benutzername:" + +#~ msgid "Password" +#~ msgstr "Passwort" + +#~ msgid "Host:" +#~ msgstr "Rechner:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Weiter" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Fertigstellen" + +#~ msgid "Files" +#~ msgstr "Dateien" + +#~ msgid "Calendar" +#~ msgstr "Kalender" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Facebook-Zugangsassistent" + +#~ msgid "Credentials" +#~ msgstr "Zugangsdaten" + +#~ msgid "The email and password are required" +#~ msgstr "Die E-Mail-Adresse und das Passwort sind erforderlich" + +#~ msgid "The email is required" +#~ msgstr "Die E-Mail-Adresse ist erforderlich" + +#~ msgid "The password is required" +#~ msgstr "Das Passwort ist erforderlich" + +#~ msgid "Facebook Authentication" +#~ msgstr "Facebook-Authentifizierung" + +#~ msgid "Checking username..." +#~ msgstr "Benutzername wird überprüft ..." + +#~ msgid "Waiting for authorization..." +#~ msgstr "Autorisierung wird erwartet ..." + +#~ msgid "Try again" +#~ msgstr "Erneut versuchen" + +#~ msgid "Chat" +#~ msgstr "Chat" + +#~ msgid "Contacts and Events" +#~ msgstr "Kontakte und Ereignisse" + +#~ msgid "Google account Wizard" +#~ msgstr "Google-Zugangsassistent" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Kalender / Aufgaben" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "Die E-Mail scheint fehlerhaft zu sein (ungültiges Format)" + +#~ msgid "Email address:" +#~ msgstr "E-Mail-Adresse:" + +#~ msgid "Google Authentication" +#~ msgstr "Google-Authentifizierung" + +#~ msgid "TextLabel" +#~ msgstr "Textfeld" + +#~ msgid "Select services" +#~ msgstr "Dienste auswählen" + +#~ msgid "EMail" +#~ msgstr "E-Mail" + +#~ msgid "Tasks" +#~ msgstr "Aufgaben" + +#~ msgid "Retry" +#~ msgstr "Erneut versuchen" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Kalender und Kontakte" + +#~ msgid "User or password are incorrect" +#~ msgstr "Benutzername oder Passwort sind falsch" + +#~ msgid "The username and password are required" +#~ msgstr "Der Benutzername und das Passwort sind erforderlich" + +#~ msgid "The username is required" +#~ msgstr "Der Benutzername ist erforderlich" diff --git a/po/el/kaccounts-integration.po b/po/el/kaccounts-integration.po new file mode 100644 index 0000000..3206b60 --- /dev/null +++ b/po/el/kaccounts-integration.po @@ -0,0 +1,272 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stelios , 2017, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-06-04 21:52+0300\n" +"Last-Translator: Stelios \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 20.04.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Stelios" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "sstavra@gmail.com" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Λογαριασμοί" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Λεπτομέρειες λογαριασμού" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 λογαριασμός" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Αλλαγή ονόματος λογαριασμού στην οθόνη" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Χρήση αυτού του λογαριασμού για" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Αφαίρεση αυτού του λογαριασμού" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Δεν υπάρχουν διαθέσιμες διαμορφώσιμες υπηρεσίες για αυτόν το λογαριασμό. " +"Μπορείτε όμως να αλλάξετε το όνομα με το οποίο παρουσιάζεται στην οθόνη με " +"κλικ στο παραπάνω εικονίδιο επεξεργασίας." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Αφαίρεση %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Δεν προστέθηκαν λογαριασμοί ακόμη" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Κάνετε κλικ στο παρακάτω κουμπί Προσθήκη νέου λογαριασμού... για να προσθέσετε έναν" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Προσθήκη νέου λογαριασμού..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Προσθήκη νέου λογαριασμού" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Αφαίρεση λογαριασμού;" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Είστε βέβαιοι ότι θέλετε να αφαιρέσετε τον «%1» λογαριασμό «%2»;" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Είστε βέβαιοι ότι θέλετε να αφαιρέσετε το λογαριασμό «%1';" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Είστε βέβαιοι ότι θέλετε να αφαιρέσετε αυτόν τον «%1» λογαριασμό '%1';" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Αφαίρεση λογαριασμού" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Μετονομασία λογαριασμού" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Δώστε νέο όνομα:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Ρύθμιση ονόματος λογαριασμού" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Δε βρέθηκε λογαριασμός με αυτό το αναγνωριστικό %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Κανένας διαχειριστής λογαριασμών, αυτό δεν είναι καλό." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Το όνομα στην οθόνη δεν μπορεί να είναι κενό" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Αδυναμία φόρτωσης του πρόσθετου %1, ελέγξτε την εγκατάστασή σας" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Ακυρώθηκε από τον χρήστη" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Υπήρξε σφάλμα κατά την επεξεργασία του αιτήματος: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Αδυναμία εύρεσης λογαριασμού" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Αδυναμία εύρεσης διαπιστευτηρίων" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Αδυναμία δημιουργίας συνεδρίας ταυτοποίησης" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Αδυναμία ανοίγματος πορτοφολιού" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Δώστε το νέο όνομα του λογαριασμού" + +#~ msgid "Configure..." +#~ msgstr "Διαμόρφωση..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Δεν βρέθηκαν πάροχοι λογαριασμών.Ορισμένοι πάροχοι βρίσκονται στα " +#~ "πακέτα kaccounts-providers και " +#~ "ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "Οι παρακάτω πάροχοι λείπουν, αλλά απαιτούνται από τις εγκατεστημένες " +#~ "υπηρεσίες: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Αδυναμία ολοκλήρωσης" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Επιλέξτε ένα λογαριασμό από την αριστερή στήλη για διαμόρφωση" + +#~ msgid "Create" +#~ msgstr "Δημιουργία" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Επιλέξτε τις υπηρεσίες που θα ενεργοποιηθούν" diff --git a/po/en_GB/kaccounts-integration.po b/po/en_GB/kaccounts-integration.po new file mode 100644 index 0000000..b3e8ed0 --- /dev/null +++ b/po/en_GB/kaccounts-integration.po @@ -0,0 +1,459 @@ +# 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, 2019, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-04-03 15:07+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.12.3\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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Accounts" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Account Details" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 account" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Change Account Display Name" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Use This Account For" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Remove This Account" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Remove %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "No accounts added yet" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Click the Add New Account... button below to add one" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Add New Account..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Add New Account" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Remove Account?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Are you sure you wish to remove the \"%1\" account \"%2\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Are you sure you wish to remove the account \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Are you sure you wish to remove this \"%1\" account?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Remove Account" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Rename Account" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Enter new name:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Set Account Name" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "No account found with the ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "No accounts manager, this is not awesome." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "The display name cannot be empty" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Could not load %1 plugin, please check your installation" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Cancelled by user" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "There was an error while trying to process the request: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Could not find account" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Could not find credentials" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Could not create auth session" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Cannot open wallet" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Enter the new name of the account" + +#~ msgid "Configure..." +#~ msgstr "Configure..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "Following missing providers are required by installed services: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Unable to finish" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Select an account from the left column to configure" + +#~ msgid "Create" +#~ msgstr "Create" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Select what services you want to activate" + +#~ msgctxt "" +#~ "Error message that shows up right after the KCM opens and detects that " +#~ "the required variables are empty" +#~ msgid "" +#~ "It appears your system is not configured properly, please ensure you have " +#~ "AG_PROVIDERS and/or AG_SERVICES environment variables set correctly, then " +#~ "restart this configuration module.\n" +#~ "\n" +#~ "Please contact your distribution if you're unsure how to proceed." +#~ msgstr "" +#~ "It appears your system is not configured properly, please ensure you have " +#~ "AG_PROVIDERS and/or AG_SERVICES environment variables set correctly, then " +#~ "restart this configuration module.\n" +#~ "\n" +#~ "Please contact your distribution if you're unsure how to proceed." + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Password:" + +#~ msgid "Username" +#~ msgstr "Username" + +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "http://my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "Server" + +#~ msgid "JohnDoe" +#~ msgstr "JohnDoe" + +#~ msgid "Unable to authenticate using the provided username and password" +#~ msgstr "Unable to authenticate using the provided username and password" + +#~ msgid "Connecting to:" +#~ msgstr "Connecting to:" + +#~ msgid "Contacts" +#~ msgstr "Contacts" + +#~ msgid "" +#~ "Unable to connect to ownCloud at the given server URL. Please check the " +#~ "server URL." +#~ msgstr "" +#~ "Unable to connect to ownCloud at the given server URL. Please check the " +#~ "server URL." + +#~ msgid "ownCloud Server" +#~ msgstr "ownCloud Server" + +#~ msgid "Everything is Ok" +#~ msgstr "Everything is Ok" + +#~ msgid "Information is invalid" +#~ msgstr "Information is invalid" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "JohnDoe (username)" + +#~ msgid "Username:" +#~ msgstr "Username:" + +#~ msgid "Password" +#~ msgstr "Password" + +#~ msgid "Host:" +#~ msgstr "Host:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Next" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Finish" + +#~ msgid "Files" +#~ msgstr "Files" + +#~ msgid "Calendar" +#~ msgstr "Calendar" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Facebook account Wizard" + +#~ msgid "Credentials" +#~ msgstr "Credentials" + +#~ msgid "The email and password are required" +#~ msgstr "The email and password are required" + +#~ msgid "The email is required" +#~ msgstr "The email is required" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "This account is already configured as a Web Account" + +#~ msgid "The password is required" +#~ msgstr "The password is required" + +#~ msgid "Facebook Authentication" +#~ msgstr "Facebook Authentication" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" + +#~ msgid "Checking username..." +#~ msgstr "Checking username..." + +#~ msgid "Waiting for authorization..." +#~ msgstr "Waiting for authorisation..." + +#~ msgid "Try again" +#~ msgstr "Try again" + +#~ msgid "Chat" +#~ msgstr "Chat" + +#~ msgid "Contacts and Events" +#~ msgstr "Contacts and Events" + +#~ msgid "Google account Wizard" +#~ msgstr "Google account Wizard" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Calendar / Tasks" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "The email seems to be wrong (Invalid format)" + +#~ msgid "Email address:" +#~ msgstr "Email address:" + +#~ msgid "Google Authentication" +#~ msgstr "Google Authentication" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" + +#~ msgid "TextLabel" +#~ msgstr "TextLabel" + +#~ msgid "Select services" +#~ msgstr "Select services" + +#~ msgid "EMail" +#~ msgstr "EMail" + +#~ msgid "Tasks" +#~ msgstr "Tasks" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "WebAccounts requires to have access to" + +#~ msgid "Retry" +#~ msgstr "Retry" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Calendar and Contacts" + +#~ msgid "User or password are incorrect" +#~ msgstr "User or password are incorrect" + +#~ msgid "The username and password are required" +#~ msgstr "The username and password are required" + +#~ msgid "The username is required" +#~ msgstr "The username is required" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Runner-id Wizard" + +#, fuzzy +#~| msgid "This account is already configured as a Web Account" +#~ msgid "This account is already configured in KAccounts" +#~ msgstr "This account is already configured as a Web Account" diff --git a/po/es/kaccounts-integration.po b/po/es/kaccounts-integration.po new file mode 100644 index 0000000..36ab22c --- /dev/null +++ b/po/es/kaccounts-integration.po @@ -0,0 +1,442 @@ +# Spanish translations for kaccounts-integration.po package. +# Copyright (C) 2014 This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Automatically generated, 2014. +# Víctor Rodrigo Córdoba , 2014. +# Eloy Cuadra , 2015, 2017, 2019, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-03-24 14:52+0100\n" +"Last-Translator: Eloy Cuadra \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 20.12.3\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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Cuentas" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Detalles de la cuenta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "Cuenta de %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Cambiar el nombre de la cuenta a mostrar" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Usar esta cuenta para" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Eliminar esta cuenta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"No existen servicios que se puedan configurar para esta cuenta. Puede " +"cambiar el nombre a mostrar pulsando el icono de edición superior." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Eliminar %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "No se han añadido cuentas" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Pulse el botón Añadir nueva cuenta... inferior para " +"añadir una" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Añadir nueva cuenta..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Añadir nueva cuenta" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "¿Eliminar cuenta?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "¿Seguro que quiere eliminar la cuenta de «%1» «%2»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "¿Seguro que quiere eliminar la cuenta «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "¿Seguro que quiere eliminar la cuenta de «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Eliminar cuenta" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Cambiar nombre de la cuenta" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Introduzca el nuevo nombre:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Definir nombre de la cuenta" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "No se ha encontrado ninguna cuenta con el ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "No existe ningún gestor de cuentas. Esto no es bueno." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "El nombre de a mostrar no puede estar vacío" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "" +"No se ha podido cargar el complemento %1. Por favor, compruebe su " +"instalación." + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Cancelado por el usuario" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Ocurrió un error al intentar procesar la petición: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "No se ha podido encontrar la cuenta" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "No se han podido encontrar las credenciales" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "No se ha podido crear la sesión de autenticación" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "No se puede abrir la cartera" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Introduzca el nuevo nombre de la cuenta" + +#~ msgid "Configure..." +#~ msgstr "Configurar..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "No se han encontrado proveedores de cuentas.Puede encontrar algunos " +#~ "proveedores en los paquetes kaccounts-providers y ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "Los servicios instalados necesitan los siguientes proveedores ausentes: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Incapaz de terminar" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Seleccione una cuenta de la columna a la izquierda para configurar" + +#~ msgid "Create" +#~ msgstr "Crear" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Seleccione que servicios quiere activar" + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Contraseña:" + +#~ msgid "Username" +#~ msgstr "Nombre de usuario" + +#, fuzzy +#~| msgid "my.owncloudserver.org" +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "Servidor" + +#~ msgid "JohnDoe" +#~ msgstr "Fulano" + +#~ msgid "Connecting to:" +#~ msgstr "Conectando a:" + +#~ msgid "Contacts" +#~ msgstr "Contactos" + +#~ msgid "ownCloud Server" +#~ msgstr "Servidor de ownCloud" + +#~ msgid "Everything is Ok" +#~ msgstr "Todo está correcto" + +#~ msgid "Information is invalid" +#~ msgstr "La información no es válida" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "JohnDoe (nombre de usuario)" + +#~ msgid "Username:" +#~ msgstr "Nombre de usuario:" + +#~ msgid "Password" +#~ msgstr "Contraseña" + +#~ msgid "Host:" +#~ msgstr "Servidor:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Siguiente" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Terminar" + +#~ msgid "Files" +#~ msgstr "Archivos" + +#~ msgid "Calendar" +#~ msgstr "Calendario" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Asistente de cuenta de Facebook" + +#~ msgid "Credentials" +#~ msgstr "Credenciales" + +#~ msgid "The email and password are required" +#~ msgstr "El correo electrónico y la contraseña son necesarios" + +#~ msgid "The email is required" +#~ msgstr "Se requiere el correo electrónico" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "Esta cuenta ya se encuentra configurada como cuenta web" + +#~ msgid "The password is required" +#~ msgstr "Se requiere la contraseña" + +#~ msgid "Facebook Authentication" +#~ msgstr "Autenticación de Facebook" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Error al autenticar en Facebook, por favor, pulse Atrás y compruebe sus " +#~ "credenciales" + +#~ msgid "Checking username..." +#~ msgstr "Comprobando nombre de usuario..." + +#~ msgid "Waiting for authorization..." +#~ msgstr "Esperando autorización..." + +#~ msgid "Try again" +#~ msgstr "Pruebe de nuevo" + +#~ msgid "Chat" +#~ msgstr "Chat" + +#~ msgid "Contacts and Events" +#~ msgstr "Contactos y eventos" + +#~ msgid "Google account Wizard" +#~ msgstr "Asistente de cuenta de Google" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Calendario / Tareas" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "El correo electrónico parece ser incorrecto (Formato inválido)" + +#~ msgid "Email address:" +#~ msgstr "Dirección de correo electrónico:" + +#~ msgid "Google Authentication" +#~ msgstr "Autenticación de Google" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Error al autenticar en Google, por favor, pulse Atrás y compruebe sus " +#~ "credenciales" + +#~ msgid "TextLabel" +#~ msgstr "Etiqueta de texto" + +#~ msgid "Select services" +#~ msgstr "Seleccione servicios" + +#~ msgid "EMail" +#~ msgstr "Correo electrónico" + +#~ msgid "Tasks" +#~ msgstr "Tareas" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "WebAccounts requiere tener acceso a" + +#~ msgid "Retry" +#~ msgstr "Reintentar" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Calendario y contactos" + +#~ msgid "User or password are incorrect" +#~ msgstr "El usuario o la contraseña son incorrectos" + +#~ msgid "The username and password are required" +#~ msgstr "El nombre de usuario y la contraseña son necesarios" + +#~ msgid "The username is required" +#~ msgstr "Se requiere nombre de usuario" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Asistente de Runner-id" + +#, fuzzy +#~| msgid "This account is already configured as a Web Account" +#~ msgid "This account is already configured in KAccounts" +#~ msgstr "Esta cuenta ya se encuentra configurada como cuenta web" diff --git a/po/et/kaccounts-integration.po b/po/et/kaccounts-integration.po new file mode 100644 index 0000000..ffbc77e --- /dev/null +++ b/po/et/kaccounts-integration.po @@ -0,0 +1,250 @@ +# 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: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2020-10-07 10:58+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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Kontod" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Konto üksikasjad" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 konto" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Muuda konto kuvatavat nime" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Konto kasutuskohad" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Eemalda see konto" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Selle konto jaoks pole ühtegi seadistatavat teenust saadaval. Ülal paikneva " +"muutmisikooni abil saad siiski muuta konto kuvatavat nime." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Eemalda %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Ühtegi kontot pole veel lisatud." + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Lisa uus konto ..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Uue konto lisamine" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Konto eemaldamine" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Kas tõesti eemaldada \"%1\" konto \"%2\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Kas tõesti eemaldada konto \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Kas tõesti eemaldada see \"%1\" konto?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Eemalda konto" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Konto kuvatava nime muutmine" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Sisesta konto uus nimi:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Määra konto nimi" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Ühtegi kontot ID-ga %1 ei leitud" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Ühtegi kontohaldurit pole, see on nüüd küll vapustav." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Näidatav nimi ei tohi olla andmata" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "%1 plugina laadimine nurjus, palun kontrolli paigaldust" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Päringu töötlemisel tekkis tõrge: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Kontot ei leitud" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Kasutajatunnuseid ei leitud" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Autentimisseansi loomine nurjus" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Turvalaeka avamine nurjus" + +#~ msgid "Configure..." +#~ msgstr "Seadista..." + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Lõpetamine nurjus" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Vali vasakult veerust seadistamist vajav konto" + +#~ msgid "Create" +#~ msgstr "Loo" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Vali, millised teenused aktiveerida" diff --git a/po/eu/kaccounts-integration.po b/po/eu/kaccounts-integration.po new file mode 100644 index 0000000..a50bf14 --- /dev/null +++ b/po/eu/kaccounts-integration.po @@ -0,0 +1,275 @@ +# Translation for kaccounts-integration.po to Euskara/Basque (eu). +# Copyright (C) 2018-2020, This file is copyright: +# This file is distributed under the same license as the kaccounts-integration package. +# KDE euskaratzeko proiektuko arduraduna . +# +# Translators: +# Gontzal M. Pujana , 2018. +# Iñigo Salvador Azurmendi , 2019, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-05-06 22:24+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 21.04.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Gontzal Pujana" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "juchuf@gmail.com" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Kontuak" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Kontuaren xehetasunak" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 kontua" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Aldatu kontuan azalduko den izena" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Erabili kontu hau" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Kendu kontu hau" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Ez dago kontu honetarako konfigura daitekeen zerbitzurik. Azaltzen duen " +"izena alda dezakezu goiko editatzeko botoiari klik eginez." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Kendu %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Ez da oraindik konturik gehitu" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Egin klik azpiko Gehitu kontu berria... butoian bat " +"gehitzeko" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Gehitu kontu berria..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Gehitu kontu berria" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Kontua kendu?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Ziur zaude «%1» «%2» kontua kendu nahi duzula?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Ziur zaude «%1» kontua kendu nahi duzula?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Ziur zaude «%1» kontua hau nahi duzula?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Kendu kontua" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Berrizendatu kontua" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Sartu izen berria:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Ezarri kontuaren izena" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Ez da aurkitu ID %1 duen konturik" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Ez dago kontu kudeatzailerik, ez da ona." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Azaldu beharreko izena ezin da hutsik egon" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Ezin izan da %1 plugina zamatu, ikuskatu zure instalazioa" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Erabiltzaileak bertan behera utzi du" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Errore bat gertatu da eskaera prozesatzen saiatzean: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Ezin izan da kontua aurkitu" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Ezin izan da egiaztagiririk aurkitu" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Ezin izan da sortu autentifikatutako saiorik" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Ezin da zorroa ireki" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Sartu kontuaren izen berria" + +#~ msgid "Configure..." +#~ msgstr "Konfiguratu..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Ez da aurkitu kontu hornitzailerik.Hornitzaile batzuk aurki daitezke " +#~ "kaccounts-providers eta ktp-" +#~ "accounts-kcm paketeetan." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "Falta diren ondoko hornitzaileak behar dituzte instalatutako zerbitzuek: " +#~ "%1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Ezin da amaitu" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Hautatu ezkerreko zutabean konfiguratu beharreko kontu bat" + +#~ msgid "Create" +#~ msgstr "Sortu" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Hautatu aktibatu nahi dituzun zerbitzuak" diff --git a/po/fi/kaccounts-integration.po b/po/fi/kaccounts-integration.po new file mode 100644 index 0000000..0516c05 --- /dev/null +++ b/po/fi/kaccounts-integration.po @@ -0,0 +1,465 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Lasse Liehu , 2015, 2016. +# Tommi Nieminen , 2017, 2020, 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-04-08 14:46+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" + +#, 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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Tilit" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Tilin tiedot" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +# *** TARKISTA: Toimii, jos %1 on yksi sana, mutta ei, jos se on sanaliitto (”Google Drive”) +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1-tili" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Muuta tilin näyttönimeä" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Käytä tätä tiliä palveluille" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Poista tämä tili" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Tälle tilille ei ole asetettavia palveluja. Sen näyttönimeä voi silti " +"muuttaa napsauttamalla yllä olevaa muokkauskuvaketta." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Poista %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Tilejä ei ole asetettu" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Lisää tili napsauttamalla alta painiketta Lisää uusi tili…" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Lisää uusi tili…" + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Lisää uusi tili" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Poistetaanko tili?" + +# %1 suluissa, jotta vältetään puuttuvan sanavälin ongelma, jos se on sanaliitto (esim. ”Google Drive”) +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Haluatko varmasti poistaa tilin ”%2” (%1)?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Haluatko varmasti poistaa tilin ”%1”?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Haluatko varmasti poistaa tilin ”%1”?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Poista tili" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Muuta tilin nimeä" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Anna uusi nimi:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Aseta tilin nimi" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Tunnistetta %1 vastaavaa tiliä ei löytynyt." + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Ei tilien hallintaa: tämä ei ole hyvä." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Näyttönimi ei voi olla tyhjä" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Ei voitu ladata liitännäistä %1. Tarkista asennuksesi." + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Käyttäjä perui" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Pyyntösi käsittelyssä tapahtui virhe: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Tiliä ei löytynyt" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Todennustietoja ei löytynyt" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Todennusistuntoa ei voitu luoda" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Lompakkoa ei voi avata" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Anna tilin uusi nimi" + +#~ msgid "Configure..." +#~ msgstr "Asetukset…" + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Tilipalveluntarjoajia ei löytynyt.Jotkin palveluntarjoajat löytää " +#~ "paketeista kaccounts-providers ja " +#~ "ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "Asennetut palvelut vaativat seuraavia puuttuvia palveluntarjoajia: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Toimintoa ei saatu valmiiksi" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Valitse tili vasemmalta, jotta voit muuttaa sen asetuksia" + +#~ msgid "Create" +#~ msgstr "Luo" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Valitse haluamasi palvelut" + +#~ msgctxt "" +#~ "Error message that shows up right after the KCM opens and detects that " +#~ "the required variables are empty" +#~ msgid "" +#~ "It appears your system is not configured properly, please ensure you have " +#~ "AG_PROVIDERS and/or AG_SERVICES environment variables set correctly, then " +#~ "restart this configuration module.\n" +#~ "\n" +#~ "Please contact your distribution if you're unsure how to proceed." +#~ msgstr "" +#~ "Näyttää siltä, että järjestelmän asetukset eivät ole kunnossa. Tarkista, " +#~ "että AG_PROVIDERS- ja/tai AG_SERVICES-ympäristömuuttujat on asetettu " +#~ "oikein, ja käynnistä sitten tämä asetusosio uudelleen.\n" +#~ "\n" +#~ "Ota yhteyttä jakeluusi, jos et tiedä, miten jatkaa." + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Salasana:" + +#~ msgid "Username" +#~ msgstr "Käyttäjätunnus" + +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "http://oma.owncloudpalvelin.org" + +#~ msgid "Server" +#~ msgstr "Palvelin" + +#~ msgid "JohnDoe" +#~ msgstr "MattiMeikalainen" + +#~ msgid "Unable to authenticate using the provided username and password" +#~ msgstr "" +#~ "Kirjautuminen epäonnistui annetulla käyttäjätunnuksella ja salasanalla" + +#~ msgid "Connecting to:" +#~ msgstr "Yhdistetään palvelimeen:" + +#~ msgid "Contacts" +#~ msgstr "Yhteystiedot" + +#~ msgid "" +#~ "Unable to connect to ownCloud at the given server URL. Please check the " +#~ "server URL." +#~ msgstr "" +#~ "Annetussa palvelinosoitteessa olevaan ownCloudiin ei saatu yhteyttä. " +#~ "Tarkista palvelimen osoite." + +#~ msgid "ownCloud Server" +#~ msgstr "ownCloud-palvelin" + +#~ msgid "Everything is Ok" +#~ msgstr "Tiedot ovat kunnossa" + +#~ msgid "Information is invalid" +#~ msgstr "Tiedot ovat virheelliset" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "MattiMeikalainen (käyttäjätunnus)" + +#~ msgid "Username:" +#~ msgstr "Käyttäjätunnus:" + +#~ msgid "Password" +#~ msgstr "Salasana" + +#~ msgid "Host:" +#~ msgstr "Palvelin:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Seuraava" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Valmis" + +#~ msgid "Files" +#~ msgstr "Tiedostot" + +#~ msgid "Calendar" +#~ msgstr "Kalenteri" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Opastettu Facebook-tilin luonti" + +#~ msgid "Credentials" +#~ msgstr "Käyttäjätiedot" + +#~ msgid "The email and password are required" +#~ msgstr "Sähköposti ja salasana ovat pakollisia" + +#~ msgid "The email is required" +#~ msgstr "Sähköposti on pakollinen" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "Tämä tili on jo lisätty verkkotiliksi" + +#~ msgid "The password is required" +#~ msgstr "Salasana on pakollinen" + +#~ msgid "Facebook Authentication" +#~ msgstr "Facebook-tunnistautuminen" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Virhe tunnistauduttaessa Facebookiin. Paina Takaisin ja tarkista " +#~ "käyttäjätietosi" + +#~ msgid "Checking username..." +#~ msgstr "Tarkistetaan käyttäjätunnusta…" + +#~ msgid "Waiting for authorization..." +#~ msgstr "Odotetaan tunnistautumista…" + +#~ msgid "Try again" +#~ msgstr "Yritä uudelleen" + +#~ msgid "Chat" +#~ msgstr "Keskustelu" + +#~ msgid "Contacts and Events" +#~ msgstr "Yhteystiedot ja tapahtumat" + +#~ msgid "Google account Wizard" +#~ msgstr "Opastettu Google-tilin luonti" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Kalenteri/tehtävät" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "Sähköposti näyttää olevan väärin (se on vääränlainen)" + +#~ msgid "Email address:" +#~ msgstr "Sähköpostiosoite:" + +#~ msgid "Google Authentication" +#~ msgstr "Google-tunnistautuminen" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Virhe tunnistauduttaessa Googleen. Paina Takaisin ja tarkista " +#~ "käyttäjätietosi" + +#~ msgid "TextLabel" +#~ msgstr "Tekstiselite" + +#~ msgid "Select services" +#~ msgstr "Valitse palvelut" + +#~ msgid "EMail" +#~ msgstr "Sähköposti" + +#~ msgid "Tasks" +#~ msgstr "Tehtävät" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "Verkkotilit tarvitsee pääsyn kohteeseen" + +#~ msgid "Retry" +#~ msgstr "Yritä uudelleen" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Kalenteri ja yhteystiedot" + +#~ msgid "User or password are incorrect" +#~ msgstr "Käyttäjä tai salasana on väärä" + +#~ msgid "The username and password are required" +#~ msgstr "Käyttäjätunnus ja salasana ovat pakollisia" + +#~ msgid "The username is required" +#~ msgstr "Käyttäjätunnus on pakollinen" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Opastettu Runner-id-tilin luonti" + +#, fuzzy +#~| msgid "This account is already configured as a Web Account" +#~ msgid "This account is already configured in KAccounts" +#~ msgstr "Tämä tili on jo lisätty verkkotiliksi" diff --git a/po/fr/kaccounts-integration.po b/po/fr/kaccounts-integration.po new file mode 100644 index 0000000..633d075 --- /dev/null +++ b/po/fr/kaccounts-integration.po @@ -0,0 +1,448 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# Maxence Le Doré , 2014, 2015. +# Vincent Pinon , 2017. +# Simon Depiets , 2018, 2019, 2020. +# Xavier Besnard , 2020, 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-03-24 18:51+0100\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Lokalize 20.12.3\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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Comptes" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Détails du compte" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 compte" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Changer le nom d'affichage du compte" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Utiliser ce compte pour" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Supprimer ce compte" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Il n'y a aucun service configurable disponible pour cet acompte. Vous pouvez " +"toujours modifier son nom d'affichage en cliquant sur l'icône de " +"modification ci-dessus." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Supprimer %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Aucun compte encore ajouté" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Cliquez sur le bouton ci-dessous Ajouter un nouveau " +"pour en ajouter un." + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Ajouter un nouveau compte..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Ajouter un nouveau compte" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Supprimer le compte ?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Voulez-vous vraiment effacer le compte « %1 » « %2 » ?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Voulez-vous vraiment supprimer le compte « %1 » ?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Voulez-vous vraiment supprimer le compte « %1 » ?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Supprimer le compte" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Renommer le compte" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Saisissez votre nouveau nom :" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Définir le nom du compte" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Aucun compte trouvé pour l'ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Aucun gestionnaire de comptes. Ceci est incroyable." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Le nom de l'affichage ne peut être vide" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "" +"Impossible de charger le module %1, veuillez vérifier votre installation" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Annulé par l'utilisateur" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Il y a une eu une erreur durant le traitement de la requête : %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Impossible de trouver de compte" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Impossible de trouver des identifiants" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Impossible de créer une session d'authentification" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Impossible d'ouvrir le portefeuille" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Saisissez un nouveau nom pour le compte" + +#~ msgid "Configure..." +#~ msgstr "Configurer..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Aucun fournisseur de compte trouvé.Certains fournisseurs sont " +#~ "disponibles dans les paquets kaccounts-providers et ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "Les services installés nécessitent les fournisseurs manquants ci-après : " +#~ "%1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Impossible de terminer" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Sélectionner un compte à configurer depuis la colonne de gauche" + +#~ msgid "Create" +#~ msgstr "Créer" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Sélectionner les services que vous souhaitez activer" + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Mot de passe :" + +#~ msgid "Username" +#~ msgstr "Nom utilisateur" + +#, fuzzy +#~| msgid "my.owncloudserver.org" +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "Serveur" + +#, fuzzy +#~| msgid "JhonDoe" +#~ msgid "JohnDoe" +#~ msgstr "JhonDoe" + +#~ msgid "Connecting to:" +#~ msgstr "Connexion à :" + +#~ msgid "Contacts" +#~ msgstr "Contacts" + +#~ msgid "ownCloud Server" +#~ msgstr "Serveur ownCloud" + +#~ msgid "Everything is Ok" +#~ msgstr "Tout est correct" + +#~ msgid "Information is invalid" +#~ msgstr "L'information n'est pas valable" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "JohnDoe (nom d'utilisateur)" + +#~ msgid "Username:" +#~ msgstr "Nom d'utilisateur :" + +#~ msgid "Password" +#~ msgstr "Mot de passe" + +#~ msgid "Host:" +#~ msgstr "Hôte :" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Suivant" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Terminer" + +#~ msgid "Files" +#~ msgstr "Fichiers" + +#~ msgid "Calendar" +#~ msgstr "Calendrier" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Assistant de compte Facebook" + +#~ msgid "Credentials" +#~ msgstr "Informations de connexion" + +#~ msgid "The email and password are required" +#~ msgstr "L'adresse mail et le mot de passe sont requis" + +#~ msgid "The email is required" +#~ msgstr "L'adresse mail est requise" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "Ce compte est déjà configuré comme un compte Web" + +#~ msgid "The password is required" +#~ msgstr "Le mot de passe est requis" + +#~ msgid "Facebook Authentication" +#~ msgstr "Authentification Facebook" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Erreur authentification avec Facebook, veuillez revenir et vérifier vos " +#~ "informations de connexion" + +#~ msgid "Checking username..." +#~ msgstr "Vérification du nom d'utilisateur..." + +#~ msgid "Waiting for authorization..." +#~ msgstr "Attente d'autorisation..." + +#~ msgid "Try again" +#~ msgstr "Essayer de nouveau" + +#~ msgid "Chat" +#~ msgstr "Discuter" + +#~ msgid "Contacts and Events" +#~ msgstr "Contacts et Événements" + +#~ msgid "Google account Wizard" +#~ msgstr "Assistant de compte Google" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Calendrier / Tâches" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "L'adresse mail semble être erronée (format non valable)" + +#~ msgid "Email address:" +#~ msgstr "Adresse mail :" + +#~ msgid "Google Authentication" +#~ msgstr "Authentification Google" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Erreur authentification avec Google, veuillez revenir et vérifier vos " +#~ "informations de connexion" + +#~ msgid "TextLabel" +#~ msgstr "TextLabel" + +#~ msgid "Select services" +#~ msgstr "Sélectionner des services" + +#~ msgid "EMail" +#~ msgstr "Adresse mail" + +#~ msgid "Tasks" +#~ msgstr "Tâches" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "WebAccounts requiert avoir à accès à" + +#~ msgid "Retry" +#~ msgstr "Réessayer" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Calendrier et Contacts" + +#~ msgid "User or password are incorrect" +#~ msgstr "Utilisateur ou mot de passe incorrect" + +#~ msgid "The username and password are required" +#~ msgstr "L'adresse mail et le mot de passe sont requis" + +#~ msgid "The username is required" +#~ msgstr "Le nom d'utilisateur est requis" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Assistant Runner-id" + +#, fuzzy +#~| msgid "This account is already configured as a Web Account" +#~ msgid "This account is already configured in KAccounts" +#~ msgstr "Ce compte est déjà configuré comme un compte Web" diff --git a/po/gl/kaccounts-integration.po b/po/gl/kaccounts-integration.po new file mode 100644 index 0000000..cafa184 --- /dev/null +++ b/po/gl/kaccounts-integration.po @@ -0,0 +1,459 @@ +# 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, 2016, 2017. +# 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: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2019-09-28 23:50+0200\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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Contas" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, fuzzy, kde-format +#| msgid "Account Removal" +msgid "Account Details" +msgstr "Eliminación de conta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, fuzzy, kde-format +#| msgid "Accounts" +msgid "%1 account" +msgstr "Contas" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, fuzzy, kde-format +#| msgid "ownCloud account Wizard" +msgid "Add New Account..." +msgstr "Asistente de contas de ownCloud" + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, fuzzy, kde-format +#| msgid "ownCloud account Wizard" +msgid "Add New Account" +msgstr "Asistente de contas de ownCloud" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, fuzzy, kde-format +#| msgid "Accounts" +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Contas" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, fuzzy, kde-format +#| msgid "" +#| "Are you sure that you want to remove the account '%1'? This cannot be " +#| "undone." +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "" +"Está seguro de que quere retirar a conta «%1»? Isto non pode desfacerse." + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, fuzzy, kde-format +#| msgid "" +#| "Are you sure that you want to remove the account '%1'? This cannot be " +#| "undone." +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "" +"Está seguro de que quere retirar a conta «%1»? Isto non pode desfacerse." + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, fuzzy, kde-format +#| msgid "" +#| "Are you sure that you want to remove the account '%1'? This cannot be " +#| "undone." +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "" +"Está seguro de que quere retirar a conta «%1»? Isto non pode desfacerse." + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, fuzzy, kde-format +#| msgid "Accounts" +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Contas" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, fuzzy, kde-format +#| msgid "Accounts" +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Contas" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Non se puido cargar o complemento %1. Comprobe a instalación." + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Produciuse un erro ao intentar procesar a solicitude: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "" + +#~ msgid "Configure..." +#~ msgstr "Configurar…" + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Non se atoparon fornecedores de contas. Pode atopar algúns nos " +#~ "paqueres kaccounts-providers e " +#~ "ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "Os servizos instalados requiren os seguintes fornecedores que faltan: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Non se pode rematar" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Seleccione unha conta na columna da esquerda para configurala." + +#~ msgid "Create" +#~ msgstr "Crear" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Seleccione os servizos que quere activar." + +#~ msgctxt "" +#~ "Error message that shows up right after the KCM opens and detects that " +#~ "the required variables are empty" +#~ msgid "" +#~ "It appears your system is not configured properly, please ensure you have " +#~ "AG_PROVIDERS and/or AG_SERVICES environment variables set correctly, then " +#~ "restart this configuration module.\n" +#~ "\n" +#~ "Please contact your distribution if you're unsure how to proceed." +#~ msgstr "" +#~ "Parece que o sistema non está configurado correctamente, asegúrese de que " +#~ "as variábeis de ambiente AG_PROVIDERS e AG_SERVICES están definidas " +#~ "correctamente, e reinicie o módulo de configuración.\n" +#~ "\n" +#~ "Póñase en contacto coa súa distribución se non está seguro de como " +#~ "proceder." + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Contrasinal:" + +#~ msgid "Username" +#~ msgstr "Nome de usuario" + +#, fuzzy +#~| msgid "my.owncloudserver.org" +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "omeu.servidordeowncloud.org" + +#~ msgid "Server" +#~ msgstr "Servidor" + +#~ msgid "JohnDoe" +#~ msgstr "RosaliaDeCastro" + +#~ msgid "Connecting to:" +#~ msgstr "Conectando con:" + +#~ msgid "Contacts" +#~ msgstr "Contactos" + +#~ msgid "ownCloud Server" +#~ msgstr "Servidor de ownCloud" + +#~ msgid "Everything is Ok" +#~ msgstr "Todo está ben." + +#~ msgid "Information is invalid" +#~ msgstr "A información non é válida." + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "RosaliaDeCastro (nome de usuario)" + +#~ msgid "Username:" +#~ msgstr "Nome de usuario:" + +#~ msgid "Password" +#~ msgstr "Contrasinal" + +#~ msgid "Host:" +#~ msgstr "Servidor:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Seguinte" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Finalizar" + +#~ msgid "Files" +#~ msgstr "Ficheiros" + +#~ msgid "Calendar" +#~ msgstr "Calendario" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Asistente de contas de Facebook" + +#~ msgid "Credentials" +#~ msgstr "Credenciais" + +#~ msgid "The email and password are required" +#~ msgstr "O enderezo de correo e contrasinal son obrigatorios." + +#~ msgid "The email is required" +#~ msgstr "O enderezo de correo é obrigatorio." + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "Esta conta xa está configurada como conta web." + +#~ msgid "The password is required" +#~ msgstr "O contrasinal é obrigatorio." + +#~ msgid "Facebook Authentication" +#~ msgstr "Autenticación de Facebook" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Erro ao autenticarse con Facebook, prema «Anterior» e revise os seus " +#~ "credenciais." + +#~ msgid "Checking username..." +#~ msgstr "Comprobando o nome de usuario…" + +#~ msgid "Waiting for authorization..." +#~ msgstr "Agardando pola autorización…" + +#~ msgid "Try again" +#~ msgstr "Volver intentalo" + +#~ msgid "Chat" +#~ msgstr "Conversa" + +#~ msgid "Contacts and Events" +#~ msgstr "Contactos e acontecementos" + +#~ msgid "Google account Wizard" +#~ msgstr "Asistente de contas de Google" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Calendario e tarefas" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "O formato do enderezo de correo parece incorrecto." + +#~ msgid "Email address:" +#~ msgstr "Enderezo de correo electrónico:" + +#~ msgid "Google Authentication" +#~ msgstr "Autenticación de Google" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Erro ao autenticarse con Google, prema «Anterior» e revise os seus " +#~ "credenciais." + +#~ msgid "TextLabel" +#~ msgstr "Etiqueta de texto" + +#~ msgid "Select services" +#~ msgstr "Seleccione servizos" + +#~ msgid "EMail" +#~ msgstr "Correo electrónico" + +#~ msgid "Tasks" +#~ msgstr "Tarefas" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "WebAccounts necesita acceder a" + +#~ msgid "Retry" +#~ msgstr "Volver intentalo" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Calendario e contactos" + +#~ msgid "User or password are incorrect" +#~ msgstr "O usuario ou contrasinal son incorrectos." + +#~ msgid "The username and password are required" +#~ msgstr "O nome de usuario e contrasinal son obrigatorios." + +#~ msgid "The username is required" +#~ msgstr "O nome de usuario é obrigatorio." + +#~ msgid "Runner-id Wizard" +#~ msgstr "Asistente de Runner-id" diff --git a/po/hu/kaccounts-integration.po b/po/hu/kaccounts-integration.po new file mode 100644 index 0000000..fb17485 --- /dev/null +++ b/po/hu/kaccounts-integration.po @@ -0,0 +1,235 @@ +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the kaccounts-integration package. +# +# Kristóf Kiszel , 2019, 2020. +# Kristof Kiszel , 2021. +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-09-20 10:03+0200\n" +"Last-Translator: Kristof 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.80\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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Fiókok" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Fiókadatok" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 fiók" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Megjelenített név módosítása" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "A fiókhoz csatolt szolgáltatások:" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Fiók eltávolítása" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Nincsenek szerkeszthető szolgáltatások ehhez a fiókhoz. A megjelenített " +"nevet ettől függetlenül módosíthatja a fenti ikonra kattintással." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "%1 eltávolítása" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Nincsenek fiókok hozzáadva" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Kattintson az Új fiók hozzáadása… gombra új fiók " +"felvételéhez" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Új fiók hozzáadása…" + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Új fiók hozzáadása" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Fiók eltávolítása?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Biztosan szeretné eltávolítani a(z) „%2” „%1” fiókot?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Biztosan szeretné eltávolítani a(z) „%1” fiókot?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Biztosan szeretné eltávolítani ezt a(z) „%1” fiókot?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Fiók eltávolítása" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Fiók átnevezése" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Új név:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Fióknév megadása" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Nem található %1 azonosítójú fiók" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Nincs fiókkezelő, ez nagyon nincs rendben." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "A megjelenített név nem lehet üres" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "A(z) %1 bővítmény nem tölthető be, ellenőrizze a rendszert" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Felhasználói megszakítás" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Hiba történt a kérés feldolgozása során: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Nem található fiók" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Nem találhatók hitelesítési adatok" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Nem lehet létrehozni hitelesítési munkamenetet" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "A jelszókezelő nem nyitható meg" diff --git a/po/ia/kaccounts-integration.po b/po/ia/kaccounts-integration.po new file mode 100644 index 0000000..8f63aaf --- /dev/null +++ b/po/ia/kaccounts-integration.po @@ -0,0 +1,247 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# giovanni , 2016, 2017, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-03-28 23:17+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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Contos" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Detalios de conto" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 conto" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Cambia nomine de conto de monstrar" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Usa iste conto per" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Remove iste conto" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Il non ha alcun servicios configurabile disponibile per iste conto. Tu " +"ancora pote cambiar su nomine de monstrar per pulsar le icone de modificar " +"de supra." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Remove %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Ancora necun contos addite" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Pulsa le button Adde Nove Conto... a basso per adder " +"un" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Adde un nove conto..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Adde un nove conto" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Remove conto?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Tu es secur que tu vole remover le \"%1\" conto \"%2\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Tu es secur que tu vole remover le conto \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Tu es secur que tu vole remover iste \"%1\" conto ?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Remove conto" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Renomina conto" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Inserta nove nomine:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Fixa Nomine de conto" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Necun cono trovate con le ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Nulle gerente de contos,isto non es belle." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Le nomine d emonstrtor non pote esser vacue" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Non pote cargar plugin %1, pro favor verifica tu installation" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Cancellate per le usator" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Il occurreva un error durante que il tentava processar le requesta: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Non pote trovar conto" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Non pote trovar credentiales" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Non pote trovar session de auth" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Non pote aperir portafolio" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Inserta le nove nomine del conto" + +#~ msgid "Configure..." +#~ msgstr "Configura..." + +#~ msgid "Create" +#~ msgstr "Crea" diff --git a/po/it/kaccounts-integration.po b/po/it/kaccounts-integration.po new file mode 100644 index 0000000..1d25a6a --- /dev/null +++ b/po/it/kaccounts-integration.po @@ -0,0 +1,453 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the kaccounts-integration package. +# Luigi Toscano , 2015, 2016, 2017, 2019, 2020, 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-03-26 19:57+0100\n" +"Last-Translator: Luigi Toscano \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" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luigi Toscano" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "luigi.toscano@tiscali.it" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Account" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Dettagli dell'account" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "Account %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Cambia nome pubblico dell'account" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Usa questo account per" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Rimuovi questo account" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Non sono disponibili dei servizi configurabili per questo account. Puoi " +"comunque cambiare il nome visualizzato facendo clic sull'icona di modifica " +"sopra." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Rimuovi %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Nessun account è stato aggiunto" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Fai clic sul pulsante Aggiungi un nuovo account... " +"sotto per aggiungerne uno" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Aggiungi un nuovo account..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Aggiungi un nuovo account" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Rimuovi account?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Sei sicuro di voler rimuovere l'account «%2» per «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Sei sicuro di voler rimuovere l'account «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Sei sicuro di voler rimuovere l'account per «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Rimuovi account" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Rinomina account" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Inserisci il nuovo nome:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Imposta il nome dell'account" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Nessun account trovato con ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Nessun gestore degli account, questo non va bene." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Il nome visualizzato non può essere vuoto" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Impossibile caricare l'estensione %1, controlla la tua installazione" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Annullato dall'utente" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "" +"Si è verificato un errore durante il tentativo di elaborazione della " +"richiesta: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Impossibile trovare l'account" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Impossibile trovare le credenziali" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Impossibile creare una sessione di autenticazione" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Impossibile aprire il portafoglio" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Inserisci il nuovo nome dell'account" + +#~ msgid "Configure..." +#~ msgstr "Configura..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Nessun fornitore di account è stato trovato.Alcuni fornitori possono " +#~ "essere trovati nei pacchetti kaccounts-provider e ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "I seguenti fornitori mancanti sono richiesti dai servizi installati: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Impossibile completare" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Seleziona un account da configurare nella colonna a sinistra" + +#~ msgid "Create" +#~ msgstr "Crea" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Seleziona i servizi che vuoi attivare" + +#~ msgctxt "" +#~ "Error message that shows up right after the KCM opens and detects that " +#~ "the required variables are empty" +#~ msgid "" +#~ "It appears your system is not configured properly, please ensure you have " +#~ "AG_PROVIDERS and/or AG_SERVICES environment variables set correctly, then " +#~ "restart this configuration module.\n" +#~ "\n" +#~ "Please contact your distribution if you're unsure how to proceed." +#~ msgstr "" +#~ "Sembra che il sistema non sia configurato correttamente, assicurati di " +#~ "aver impostato correttamente le variabili d'ambiente AG_PROVIDERS o " +#~ "AG_SERVICES, quindi riavvia questo modulo di configurazione.\n" +#~ "\n" +#~ "Contatta la tua distribuzione se non sei sicuro su come procedere." + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Password:" + +#~ msgid "Username" +#~ msgstr "Nome utente" + +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "http://mio.serverowncloud.org" + +#~ msgid "Server" +#~ msgstr "Server" + +#~ msgid "JohnDoe" +#~ msgstr "MarioRossi" + +#~ msgid "Unable to authenticate using the provided username and password" +#~ msgstr "Impossibile autenticarsi con il nome utente e la password forniti" + +#~ msgid "Connecting to:" +#~ msgstr "Connessione a:" + +#~ msgid "Contacts" +#~ msgstr "Contatti" + +#~ msgid "" +#~ "Unable to connect to ownCloud at the given server URL. Please check the " +#~ "server URL." +#~ msgstr "" +#~ "Impossibile collegarsi ad ownCloud all'indirizzo indicato. Controlla " +#~ "l'URL del server." + +#~ msgid "ownCloud Server" +#~ msgstr "Server ownCloud" + +#~ msgid "Everything is Ok" +#~ msgstr "Tutto a posto" + +#~ msgid "Information is invalid" +#~ msgstr "L'informazione non è valida" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "MarioRossi (nome utente)" + +#~ msgid "Username:" +#~ msgstr "Nome utente:" + +#~ msgid "Password" +#~ msgstr "Password" + +#~ msgid "Host:" +#~ msgstr "Host:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Successivo" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Fine" + +#~ msgid "Files" +#~ msgstr "File" + +#~ msgid "Calendar" +#~ msgstr "Calendario" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Procedura guidata account Facebook" + +#~ msgid "Credentials" +#~ msgstr "Credenziali" + +#~ msgid "The email and password are required" +#~ msgstr "Sono richiesti l'indirizzo di posta elettronica e la password" + +#~ msgid "The email is required" +#~ msgstr "È richiesto l'indirizzo di posta elettronica" + +#~ msgid "The password is required" +#~ msgstr "È richiesta la password" + +#~ msgid "Facebook Authentication" +#~ msgstr "Autenticazione Facebook" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Errore durante l'autenticazione con Facebook, torna indietro e verifica " +#~ "le tue credenziali" + +#~ msgid "Checking username..." +#~ msgstr "Verifica nome utente..." + +#~ msgid "Waiting for authorization..." +#~ msgstr "In attesa di autorizzazione..." + +#~ msgid "Try again" +#~ msgstr "Riprova" + +#~ msgid "Chat" +#~ msgstr "Chat" + +#~ msgid "Contacts and Events" +#~ msgstr "Contatti ed eventi" + +#~ msgid "Google account Wizard" +#~ msgstr "Procedura guidata account Google" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Calendario / Attività" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "L'indirizzo di posta sembra essere errato (formato non valido)" + +#~ msgid "Email address:" +#~ msgstr "Indirizzo di posta elettronica:" + +#~ msgid "Google Authentication" +#~ msgstr "Autenticazione Google" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Errore durante l'autenticazione con Google, torna indietro e verifica le " +#~ "tue credenziali" + +#~ msgid "TextLabel" +#~ msgstr "EtichettaDiTesto" + +#~ msgid "Select services" +#~ msgstr "Seleziona servizi" + +#~ msgid "EMail" +#~ msgstr "Posta elettronica" + +#~ msgid "Tasks" +#~ msgstr "Attività" + +#~ msgid "Retry" +#~ msgstr "Riprova" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Calendario e contatti" + +#~ msgid "User or password are incorrect" +#~ msgstr "Utente o password non corretti" + +#~ msgid "The username and password are required" +#~ msgstr "Sono richiesti il nome utente e la password" + +#~ msgid "The username is required" +#~ msgstr "È richiesto il nome utente" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Procedura guidata Runner-ID" diff --git a/po/ja/kaccounts-integration.po b/po/ja/kaccounts-integration.po new file mode 100644 index 0000000..01cc79d --- /dev/null +++ b/po/ja/kaccounts-integration.po @@ -0,0 +1,227 @@ +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2014-11-27 00:20-0800\n" +"Last-Translator: Japanese KDE translation team \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Accelerator-Marker: &\n" +"X-Text-Markup: kde4\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "" + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "" diff --git a/po/ko/kaccounts-integration.po b/po/ko/kaccounts-integration.po new file mode 100644 index 0000000..77eb656 --- /dev/null +++ b/po/ko/kaccounts-integration.po @@ -0,0 +1,326 @@ +# 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, 2019, 2020, 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-05-16 21:18+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 20.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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "계정" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "계정 정보" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1(%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 계정" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "계정 표시 이름 변경" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "다음에 이 계정 사용" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "이 계정 삭제" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"이 계정에서 설정할 수 있는 서비스가 없습니다. 위에 있는 아이콘을 눌러서 표시 " +"이름을 바꿀 수 있습니다." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "%1 삭제" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "추가한 계정 없음" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"아래에 있는 새 계정 추가... 단추를 클릭해서 계정을 추" +"가하십시오" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "새 계정 추가..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "새 계정 추가" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "계정을 삭제하시겠습니까?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "\"%1\" 계정 \"%2\"을(를) 삭제하시겠습니까?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "\"%1\" 계정을 삭제하시겠습니까?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "\"%1\" 계정을 삭제하시겠습니까?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "계정 삭제" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "계정 이름 바꾸기" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "새 이름 입력:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "계정 이름 설정" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "ID가 %1인 계정 없음" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "계정 관리자가 없습니다. 무언가 잘못되었습니다." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "표시 이름을 비워둘 수 없음" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "%1 플러그인을 불러올 수 없습니다. 설치 상태를 확인하십시오" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "사용자가 취소함" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "요청을 처리하는 중 오류 발생: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "계정을 찾을 수 없음" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "인증 정보를 찾을 수 없음" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "인증 세션을 만들 수 없음" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "지갑을 열 수 없음" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "계정의 새로운 이름을 입력하십시오" + +#~ msgid "Configure..." +#~ msgstr "설정..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "계정 공급자를 찾을 수 없습니다.공급자를 등록하려면 " +#~ "kaccounts-providersktp-" +#~ "accounts-kcm 패키지를 설치해야 합니다." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "다음 설치된 서비스를 사용하려면 이 공급자가 필요함: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "완료할 수 없음" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "설정할 계정을 왼쪽에서 선택하십시오" + +#~ msgid "Create" +#~ msgstr "생성" + +#~ msgid "Select what services you want to activate" +#~ msgstr "활성화할 서비스를 선택하십시오" + +#~ msgctxt "" +#~ "Error message that shows up right after the KCM opens and detects that " +#~ "the required variables are empty" +#~ msgid "" +#~ "It appears your system is not configured properly, please ensure you have " +#~ "AG_PROVIDERS and/or AG_SERVICES environment variables set correctly, then " +#~ "restart this configuration module.\n" +#~ "\n" +#~ "Please contact your distribution if you're unsure how to proceed." +#~ msgstr "" +#~ "시스템이 제대로 설정되지 않은 것 같습니다. AG_PROVIDERS 및 AG_SERVICES 환" +#~ "경 변수가 설정되어 있는지 확인하시고, 설정 모듈을 다시 시작하십시오.\n" +#~ "\n" +#~ "확실하지 않으면 배포판 패키지 관리자에게 연락하십시오." + +#, fuzzy +#~| msgid "owncloud.org" +#~ msgid "ownCloud" +#~ msgstr "owncloud.org" + +#~ msgid "Password:" +#~ msgstr "암호:" + +#, fuzzy +#~| msgid "Username:" +#~ msgid "Username" +#~ msgstr "사용자 이름:" + +#, fuzzy +#~| msgid "owncloud.org" +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "owncloud.org" + +#~ msgid "ownCloud Server" +#~ msgstr "ownCloud 서버" + +#~ msgid "Everything is Ok" +#~ msgstr "모두 정상입니다" + +#~ msgid "Information is invalid" +#~ msgstr "정보가 잘못됨" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "홍길동(사용자 이름)" + +#~ msgid "Username:" +#~ msgstr "사용자 이름:" + +#~ msgid "Password" +#~ msgstr "암호" + +#~ msgid "Host:" +#~ msgstr "호스트:" diff --git a/po/lt/kaccounts-integration.po b/po/lt/kaccounts-integration.po new file mode 100644 index 0000000..a633f1a --- /dev/null +++ b/po/lt/kaccounts-integration.po @@ -0,0 +1,265 @@ +# 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. +# +msgid "" +msgstr "" +"Project-Id-Version: trunk-kf 5\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-06-15 22:46+0300\n" +"Last-Translator: Moo\n" +"Language-Team: lt\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 3.0\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Moo" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "<>" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Paskyros" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Informacija apie paskyrą" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 paskyra" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Keisti rodomą paskyros pavadinimą" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Kam naudoti šią paskyrą:" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Šalinti šią paskyrą" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Šiai paskyrai nėra prieinamų konfigūruojamų paslaugų. Vis dėlto, galite " +"pakeisti rodomą jos pavadinimą, aukščiau spusteldami taisymo mygtuką." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Šalinti %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Kol kas nėra pridėta jokių paskyrų" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Norėdami pridėti paskyrą, spustelėkite žemiau mygtuką Pridėti " +"naują paskyrą..." + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Pridėti naują paskyrą..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Pridėti naują paskyrą" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Šalinti paskyrą?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Ar tikrai norite pašalinti „%1“ paskyrą „%2“?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Ar tikrai norite pašalinti paskyrą „%1“?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Ar tikrai norite pašalinti šią „%1“ paskyrą?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Šalinti paskyrą" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Pervadinti paskyrą" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Įveskite naują pavadinimą:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Nustatyti paskyros pavadinimą" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Nerasta jokios paskyros su ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Nėra paskyrų tvarkytuvės, nuostabu." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Rodomas vardas negali būti tuščias" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Nepavyko įkelti %1 priedo, patikrinkite savo diegimą" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Naudotojas atsisakė" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Bandant apdoroti užklausą, įvyko klaida: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Nepavyko rasti paskyros" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Nepavyko rasti prisijungimo duomenų" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Nepavyko sukurti tapatybės nustatymo seanso" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Nepavyksta atverti slaptažodinės" + +#~ msgid "Configure..." +#~ msgstr "Konfigūruoti..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Nerasta jokių paskyrų tiekėjų.Kai kuriuos tiekėjus galima rasti " +#~ "paketuose kaccounts-providers ir " +#~ "ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "Įdiegtos paslaugos reikalauja šių trūkstamų tiekėjų: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Nepavyko užbaigti" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Kairiajame stulpelyje pasirinkite norimą konfigūruoti paskyrą" + +#~ msgid "Create" +#~ msgstr "Sukurti" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Pasirinkite kurias paslaugas norite aktyvuoti" diff --git a/po/nl/kaccounts-integration.po b/po/nl/kaccounts-integration.po new file mode 100644 index 0000000..4f2bcd1 --- /dev/null +++ b/po/nl/kaccounts-integration.po @@ -0,0 +1,466 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Freek de Kruijf , 2014, 2015, 2016, 2017, 2019, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-03-24 09:52+0100\n" +"Last-Translator: Freek de Kruijf \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 20.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Freek de Kruijf - t/m 2021" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "freekdekruijf@kde.nl" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Accounts" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Accountdetails" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 account" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Schermnaam van account wijzigen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Dit account gebruiken voor" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Dit account verwijderen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Er zijn geen te configureren services beschikbaar voor dit account. U kunt " +"toch zijn schermnaam wijzigen door te klikken op het bovenstaande pictogram " +"Bewerken." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "%1 verwijderen" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Nog geen accounts toegevoegd" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Op de onderstaande knop Nieuw account toevoegen... " +"klikken om er een toe te voegen" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Nieuw account toevoegen..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Een nieuw account toevoegen" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Account verwijderen?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Wilt u het \"%1\"-account '%2' verwijderen?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Wilt u het account '%1' verwijderen?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Wilt u dit account \"%1\"-verwijderen?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Account verwijderen" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Account hernoemen" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Nieuwe naam invoeren:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Accountnaam instellen" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Geen account gevonden met het ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Geen beheerder van accounts, dit is niet geweldig." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "De schermnaam mag niet leeg zijn" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Kan de plug-in %1 niet laden, controleer uw installatie" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Geannuleerd door de gebruiker" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Er was een fout bij het proberen om het verzoek te verwerken: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Kon account niet vinden " + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Kon credentials niet vinden" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Kon autorisatiesessie niet aanmaken" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Kan portefeuille niet openen" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Geef de nieuwe naam van het account" + +#~ msgid "Configure..." +#~ msgstr "Instellen..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Geen leveranciers van accounts gevonden.Sommige leverancires zijn te " +#~ "vinden in de pakketten kaccounts-providers en " +#~ "ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "De volgende ontbrekende leveraciers zijn vereist door geïnstalleerde " +#~ "services: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Niet staat te eindigen" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Een in te stellen account selecteren uit de linker kolom" + +#~ msgid "Create" +#~ msgstr "Aanmaken" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Selecteer welke services u wilt activeren" + +#~ msgctxt "" +#~ "Error message that shows up right after the KCM opens and detects that " +#~ "the required variables are empty" +#~ msgid "" +#~ "It appears your system is not configured properly, please ensure you have " +#~ "AG_PROVIDERS and/or AG_SERVICES environment variables set correctly, then " +#~ "restart this configuration module.\n" +#~ "\n" +#~ "Please contact your distribution if you're unsure how to proceed." +#~ msgstr "" +#~ "Het lijkt erop dat uw systeem niet juist is ingesteld, ga na dat u de " +#~ "omgevingsvariabelen AG_PROVIDERS en/of AG_SERVICES juist hebt ingesteld, " +#~ "start daarna opnieuw deze instellingenmodule.\n" +#~ "\n" +#~ "Neem contact op met uw distributie als u niet zeker bent hoe door te gaan." + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Wachtwoord:" + +#~ msgid "Username" +#~ msgstr "Gebruikersnaam" + +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "http://my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "Server" + +#~ msgid "JohnDoe" +#~ msgstr "JanKlaassen" + +#~ msgid "Unable to authenticate using the provided username and password" +#~ msgstr "" +#~ "Authenticatie met behulp van de opgegeven gebruikersnaam en wachtwoord " +#~ "lukt niet" + +#~ msgid "Connecting to:" +#~ msgstr "Verbinding maken met:" + +#~ msgid "Contacts" +#~ msgstr "Contactpersonen" + +#~ msgid "" +#~ "Unable to connect to ownCloud at the given server URL. Please check the " +#~ "server URL." +#~ msgstr "" +#~ "Er kon geen verbinding met de ownCloud-server worden gemaakt met de " +#~ "gegeven URL. Controleer het adres van de server-URL." + +#~ msgid "ownCloud Server" +#~ msgstr "ownCloud-server" + +#~ msgid "Everything is Ok" +#~ msgstr "Alles is OK" + +#~ msgid "Information is invalid" +#~ msgstr "Informatie is ongeldig" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "Janklaassen (gebruikersnaam)" + +#~ msgid "Username:" +#~ msgstr "Gebruikersnaam:" + +#~ msgid "Password" +#~ msgstr "Wachtwoord" + +#~ msgid "Host:" +#~ msgstr "Host:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Volgende" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Voltooien" + +#~ msgid "Files" +#~ msgstr "Bestanden" + +#~ msgid "Calendar" +#~ msgstr "Agenda" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Accountassistent voor Facebook" + +#~ msgid "Credentials" +#~ msgstr "Credentials" + +#~ msgid "The email and password are required" +#~ msgstr "Het e-mailadres en wachtwoord zijn vereist" + +#~ msgid "The email is required" +#~ msgstr "Het e-mailadres is vereist" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "Dit account is al ingesteld als een webaccount" + +#~ msgid "The password is required" +#~ msgstr "Het wachtwoord is vereist" + +#~ msgid "Facebook Authentication" +#~ msgstr "Authenticatie voor Facebook" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Er deed zich een fout voor tijdens het authenticeren met Facebook, druk " +#~ "op terug en controleer uw credentials" + +#~ msgid "Checking username..." +#~ msgstr "Gebruikersnaam controleren..." + +#~ msgid "Waiting for authorization..." +#~ msgstr "Bezig met wachten op autorisatie..." + +#~ msgid "Try again" +#~ msgstr "Opnieuw proberen" + +#~ msgid "Chat" +#~ msgstr "Chat" + +#~ msgid "Contacts and Events" +#~ msgstr "Contactpersonen en gebeurtenissen" + +#~ msgid "Google account Wizard" +#~ msgstr "Accountassistent voor Google" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Agenda / taken" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "Het e-mailadres lijkt verkeerd te zijn (Ongeldige opmaak)" + +#~ msgid "Email address:" +#~ msgstr "E-mailadres:" + +#~ msgid "Google Authentication" +#~ msgstr "Authenticatie bij Google" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Er deed zich een fout voor tijdens het authenticeren met Google, druk op " +#~ "terug en controleer uw credentials" + +#~ msgid "TextLabel" +#~ msgstr "Tekstlabel" + +#~ msgid "Select services" +#~ msgstr "Services selecteren" + +#~ msgid "EMail" +#~ msgstr "E-mail" + +#~ msgid "Tasks" +#~ msgstr "Taken" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "WebAccounts vereist toegang tot" + +#~ msgid "Retry" +#~ msgstr "Opnieuw proberen" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Agenda en contactpersonen" + +#~ msgid "User or password are incorrect" +#~ msgstr "Gebruikersnaam of wachtwoord is onjuist" + +#~ msgid "The username and password are required" +#~ msgstr "De gebruikersnaam en wachtwoord zijn vereist" + +#~ msgid "The username is required" +#~ msgstr "De gebruikersnaam is vereist" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Assistent van Runner-id" + +#~ msgid "This account is already configured in KAccounts" +#~ msgstr "Dit account is al ingesteld in KAccounts" + +#~ msgid "Form" +#~ msgstr "Formulier" diff --git a/po/nn/kaccounts-integration.po b/po/nn/kaccounts-integration.po new file mode 100644 index 0000000..54e648b --- /dev/null +++ b/po/nn/kaccounts-integration.po @@ -0,0 +1,236 @@ +# Translation of kaccounts-integration to Norwegian Nynorsk +# +# Karl Ove Hufthammer , 2016, 2018, 2020. +# Oystein Steffensen-Alvaervik , 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-12-15 12:43+0100\n" +"Last-Translator: Oystein Steffensen-Alvaervik \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.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 "Karl Ove Hufthammer" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "karl@huftis.org" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Kontoar" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Konto­detaljar" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1-konto" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Byt visingsnamn for konto" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Bruk kontoen for" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Fjern kontoen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Det finst ingen tenester som kan setjast opp for denne kontoen. Du kan " +"framleis endra visings­namnet, ved å trykkja på redigerings­ikonet ovanfor." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Fjern %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Ingen kontoar er lagde til" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Trykk Legg til konto … for å leggja til ein ny konto" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Legg til konto …" + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Legg til konto" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Fjerna kontoen?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Er du sikker på at du vil fjerna «%1»-kontoen «%2»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Er du sikker på at du vil fjerna kontoen «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Er du sikker på at du vil fjerna denne «%1»-kontoen?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Fjern konto" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Endra namn på konto" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Skriv inn nytt namn:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Vel kontonamn" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Fann ikkje nokon konto med ID-en %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Manglar kontohandsamar. Dette er ikkje bra." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Visiningsnamnet kan ikkje vera tomt" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Klarte ikkje lasta tillegget %1. Kontroller at alt er rett installert." + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Avbroten av brukar" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Det oppstod ein feil ved handsaming av førespurnaden: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Fann ikkje kontoen" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Fann ikkje brukarinformasjon" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Klarte ikkje starta autentiseringsøkt" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Klarte ikkje opna lommeboka" diff --git a/po/pa/kaccounts-integration.po b/po/pa/kaccounts-integration.po new file mode 100644 index 0000000..8fabb6b --- /dev/null +++ b/po/pa/kaccounts-integration.po @@ -0,0 +1,349 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# A S Alam , 2014, 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-04-25 13:07-0700\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 20.08.1\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ ੨੦੨੧" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "alam.yellow@gmail.com" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "ਖਾਤੇ" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "ਖਾਤੇ ਦੇ ਵੇਰਵੇ" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 ਖਾਤਾ" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "ਆਪਣਾ ਖਾਤੇ ਲਈ ਦਿਖਾਵਾ ਨਾਂ ਬਦਲੋ" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "ਇਹ ਖਾਤੇ ਨੂੰ ਇਸ ਲਈ ਵਰਤੋਂ" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "ਇਹ ਖਾਤੇ ਨੂੰ ਹਟਾਓ" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "%1 ਨੂੰ ਹਟਾਓ" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "ਹਾਲੇ ਕੋਈ ਖਾਤਾ ਨਹੀਂ ਜੋੜਿਆ" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "ਨਵਾਂ ਜੋੜਨ ਲਈ ...ਨਵਾਂ ਖਾਤਾ ਜੋੜੋ ਬਟਨ ਨੂੰ ਦਬਾਓ" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "...ਨਵਾਂ ਖਾਤਾ ਜੋੜੋ" + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "ਨਵਾਂ ਖਾਤਾ ਜੋੜੋ" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "ਖਾਤੇ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "ਕੀ ਤੁਸੀਂ \"%1\" ਖਾਤੇ \"%2\" ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "ਕੀ ਤੁਸੀਂ \"%1\" ਖਾਤੇ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "ਖਾਤੇ ਨੂੰ ਹਟਾਓ" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "ਖਾਤੇ ਦਾ ਨਾਂ ਬਦਲੋ" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "ਨਵਾਂ ਨਾਂ ਦਿਓ:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "ਖਾਤੇ ਨੂੰ ਨਾਂ ਦਿਓ" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "ਵਰਤੋਂਕਾਰ ਵਲੋਂ ਰੱਦ ਕੀਤਾ" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "ਵਾਲੇਟ ਨੂੰ ਖੋਲ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "ਮੁਕੰਮਲ ਕਰਨ ਲਈ ਅਸਮਰੱਥ" + +#~ msgid "Create" +#~ msgstr "ਬਣਾਓ" + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "ਪਾਸਵਰਡ:" + +#~ msgid "Username" +#~ msgstr "ਵਰਤੋਂਕਾਰ" + +#, fuzzy +#~| msgid "my.owncloudserver.org" +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "ਸਰਵਰ" + +#, fuzzy +#~| msgid "JhonDoe" +#~ msgid "JohnDoe" +#~ msgstr "JhonDoe" + +#~ msgid "Contacts" +#~ msgstr "ਸੰਪਰਕ" + +#~ msgid "ownCloud Server" +#~ msgstr "ownCloud ਸਰਵਰ" + +#~ msgid "Everything is Ok" +#~ msgstr "ਹਰ ਚੀਜ਼ ਠੀਕ ਹੈ" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "Username:" +#~ msgstr "ਵਰਤੋਂਕਾਰ-ਨਾਂ:" + +#~ msgid "Password" +#~ msgstr "ਪਾਸਵਰਡ" + +#~ msgid "Host:" +#~ msgstr "ਹੋਸਟ:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "ਅੱਗੇ" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "ਮੁਕੰਮਲ" + +#~ msgid "Files" +#~ msgstr "ਫ਼ਾਈਲਾਂ" + +#~ msgid "Calendar" +#~ msgstr "ਕੈਲੰਡਰ" + +#~ msgid "Facebook account Wizard" +#~ msgstr "ਫੇਸਬੁੱਕ ਖਾਤਾ ਸਹਾਇਕ" + +#~ msgid "Credentials" +#~ msgstr "ਸਨਦ" + +#~ msgid "The email and password are required" +#~ msgstr "ਈਮੇਲ ਅਤੇ ਪਾਸਵਰਡ ਦੀ ਲੋੜ ਹੈ" + +#~ msgid "The email is required" +#~ msgstr "ਈਮੇਲ ਦੀ ਲੋੜ ਹੈ" + +#~ msgid "The password is required" +#~ msgstr "ਪਾਸਵਰਡ ਚਾਹੀਦਾ ਹੈ" + +#~ msgid "Facebook Authentication" +#~ msgstr "ਫੇਸਬੁੱਕ ਪਰਮਾਣਕਿਤਾ" + +#~ msgid "Checking username..." +#~ msgstr "...ਯੂਜ਼ਰ-ਨਾਂ ਜਾਂਚਿਆ ਜਾ ਰਿਹਾ ਹੈ" + +#~ msgid "Try again" +#~ msgstr "ਫ਼ੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ" + +#~ msgid "Chat" +#~ msgstr "ਗੱਲਬਾਤ" + +#~ msgid "Google account Wizard" +#~ msgstr "ਗੂਗਲ ਖਾਤਾ ਸਹਾਇਕ" + +#~ msgid "Calendar / Tasks" +#~ msgstr "ਕੈਲੰਡਰ / ਟਾਸਕ" + +#~ msgid "Email address:" +#~ msgstr "ਈਮੇਲ ਸਿਰਨਾਵਾਂ:" + +#~ msgid "Google Authentication" +#~ msgstr "ਗੂਗਲ ਪਰਮਾਣਕਿਤਾ" + +#~ msgid "Select services" +#~ msgstr "ਸੇਵਾਵਾਂ ਚੁਣੋ" + +#~ msgid "EMail" +#~ msgstr "ਈਮੇਲ" + +#~ msgid "Tasks" +#~ msgstr "ਟਾਸਕ" + +#~ msgid "Retry" +#~ msgstr "ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਕਰੋ" + +#~ msgid "Calendar and Contacts" +#~ msgstr "ਕੈਲੰਡਰ ਅਤੇ ਸੰਪਰਕ" diff --git a/po/pl/kaccounts-integration.po b/po/pl/kaccounts-integration.po new file mode 100644 index 0000000..d6a3ac6 --- /dev/null +++ b/po/pl/kaccounts-integration.po @@ -0,0 +1,459 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Łukasz Wojniłowicz , 2014, 2015, 2016, 2017, 2019, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-04-05 08:04+0200\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.12.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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Konta" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Szczegóły konta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "Konto %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Zmień wyświetlaną nazwę konta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Użyj tego konta dla" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Usuń to konto" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Dla tego konta nie są dostępne żadne usługi, które można ustawić. Nadal " +"możesz zmienić jego wyświetlaną nazwę naciskając na ikonie zmiany powyżej." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Usuń %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Nie dodano jeszcze żadnego konta" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Naciśnij przycisk Dodaj nowe konto..., aby dodać nowe " +"konto" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Dodaj nowe konto..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Dodaj nowe konto" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Usunąć konto?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Czy na pewno chcesz usunąć konto \"%1\" \"%2\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Czy na pewno chcesz usunąć konto \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Czy na pewno chcesz usunąć konto \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Usuń konto" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Przemianuj konto" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Wpisz nową nazwę:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Ustaw nazwę konta" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Nie znaleziono konta o ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Brak programu do zarządzania kontami, niefajnie." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Wyświetlana nazwa nie może być pusta" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Nie można wczytać wtyczki %1, sprawdź czy wszystko wgrałeś" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Porzucone przez użytkownika" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Wystąpił błąd podczas przetwarzania żądania: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Nie można znaleźć konta" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Nie można znaleźć danych dostępowych" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Nie można utworzyć sesji uwierzytelnionej" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Nie można otworzyć portfela" + +#~ msgid "Configure..." +#~ msgstr "Ustawienia..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Nie znaleziono dostawcy konta.Niektórych dostawców można znaleźć w " +#~ "pakietach kaccounts-providers i " +#~ "ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "Brakuje następujących dostawców, którzy są wymagani przez wgrane usługi: " +#~ "%1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Nie można ukończyć" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Z lewej kolumny, wybierz konto do ustawienia" + +#~ msgid "Create" +#~ msgstr "Utwórz" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Wybierz usługi, których chcesz używać" + +#~ msgctxt "" +#~ "Error message that shows up right after the KCM opens and detects that " +#~ "the required variables are empty" +#~ msgid "" +#~ "It appears your system is not configured properly, please ensure you have " +#~ "AG_PROVIDERS and/or AG_SERVICES environment variables set correctly, then " +#~ "restart this configuration module.\n" +#~ "\n" +#~ "Please contact your distribution if you're unsure how to proceed." +#~ msgstr "" +#~ "Wygląda na to, że twój system nie jest ustawiony poprawnie, upewnij się, " +#~ "że masz masz ustawione poprawnie zmienne środowiskowe AG_PROVIDERS i/lub " +#~ "AG_SERVICES, a następnie uruchom ponownie moduł ustawień.\n" +#~ "\n" +#~ "Daj znać osobom odpowiedzialnym za twoją dystrybucję, jeśli nie wiesz co " +#~ "zrobić dalej." + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Hasło:" + +#~ msgid "Username" +#~ msgstr "Nazwa użytkownika" + +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "http://my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "Serwer" + +#~ msgid "JohnDoe" +#~ msgstr "JanKowalski" + +#~ msgid "Unable to authenticate using the provided username and password" +#~ msgstr "" +#~ "Nie można uwierzytelnić przy użyciu podanego hasła i nazwy użytkownika" + +#~ msgid "Connecting to:" +#~ msgstr "Łączenie z:" + +#~ msgid "Contacts" +#~ msgstr "Kontakty" + +#~ msgid "" +#~ "Unable to connect to ownCloud at the given server URL. Please check the " +#~ "server URL." +#~ msgstr "" +#~ "Nie można połączyć z ownCloud dla danego adresu URL serwera. Sprawdź " +#~ "adres URL serwera." + +#~ msgid "ownCloud Server" +#~ msgstr "Serwer ownCloud" + +#~ msgid "Everything is Ok" +#~ msgstr "Wszystko jest Ok" + +#~ msgid "Information is invalid" +#~ msgstr "Informacja jest nieprawidłowa" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "JanKowalski (nazwa użytkownika)" + +#~ msgid "Username:" +#~ msgstr "Nazwa użytkownika:" + +#~ msgid "Password" +#~ msgstr "Hasło" + +#~ msgid "Host:" +#~ msgstr "Gospodarz:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Dalej" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Zakończ" + +#~ msgid "Files" +#~ msgstr "Pliki" + +#~ msgid "Calendar" +#~ msgstr "Kalendarz" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Pomocnik dla kont Facebook" + +#~ msgid "Credentials" +#~ msgstr "Dane poufne" + +#~ msgid "The email and password are required" +#~ msgstr "Wymagany jest adres e-mail i hasło" + +#~ msgid "The email is required" +#~ msgstr "Wymagany jest adres e-mail" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "To konto zostało już ustawione jako konto sieciowe" + +#~ msgid "The password is required" +#~ msgstr "Wymagane jest hasło" + +#~ msgid "Facebook Authentication" +#~ msgstr "Uwierzytelnianie na Facebooku" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Błąd uwierzytelniania na Facebooku, proszę nacisnąć wstecz i sprawdzić " +#~ "swoje dane poufne" + +#~ msgid "Checking username..." +#~ msgstr "Sprawdzanie nazwy użytkownika..." + +#~ msgid "Waiting for authorization..." +#~ msgstr "Oczekiwanie na uwierzytelnienie..." + +#~ msgid "Try again" +#~ msgstr "Spróbuj ponownie" + +#~ msgid "Chat" +#~ msgstr "Rozmowa" + +#~ msgid "Contacts and Events" +#~ msgstr "Kontakty i wydarzenia" + +#~ msgid "Google account Wizard" +#~ msgstr "Pomocnik dla kont Google" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Kalendarz / Zadania" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "Adres e-mail wygląda na niepoprawny (nieprawidłowy format)" + +#~ msgid "Email address:" +#~ msgstr "Adres e-mail:" + +#~ msgid "Google Authentication" +#~ msgstr "Uwierzytelnianie na Google" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Błąd uwierzytelniania na Google, proszę nacisnąć wstecz i sprawdzić swoje " +#~ "dane poufne" + +#~ msgid "TextLabel" +#~ msgstr "EtykietaTekstowa" + +#~ msgid "Select services" +#~ msgstr "Wybierz usługi" + +#~ msgid "EMail" +#~ msgstr "Poczta" + +#~ msgid "Tasks" +#~ msgstr "Zadania" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "Konta sieciowe wymagają dostępu do" + +#~ msgid "Retry" +#~ msgstr "Ponów" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Kalendarz i kontakty" + +#~ msgid "User or password are incorrect" +#~ msgstr "Nazwa użytkownika lub hasło jest niepoprawne" + +#~ msgid "The username and password are required" +#~ msgstr "Wymagana jest nazwa użytkownika i hasło" + +#~ msgid "The username is required" +#~ msgstr "Wymagana jest nazwa użytkownika" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Pomocnik Runner-id" + +#, fuzzy +#~| msgid "This account is already configured as a Web Account" +#~ msgid "This account is already configured in KAccounts" +#~ msgstr "To konto zostało już ustawione jako konto sieciowe" diff --git a/po/pt/kaccounts-integration.po b/po/pt/kaccounts-integration.po new file mode 100644 index 0000000..a0f82c8 --- /dev/null +++ b/po/pt/kaccounts-integration.po @@ -0,0 +1,239 @@ +# 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: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-03-24 12:39+0000\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: ZePovinho owncloud Runner TextLabel ownCloud Facebook\n" +"X-POFile-SpellExtra: org Id KAccounts AGPROVIDERS AGSERVICES providers kcm\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-POFile-SpellExtra: ktp accounts kaccounts Sebastian Kügler Turthra\n" +"X-POFile-SpellExtra: Jensen Leinir\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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Contas" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Detalhes da Conta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "Conta do %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Modificar o Nome Visível da Conta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Usar esta Conta para" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Remover esta Conta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Não estão disponíveis serviços configuráveis para esta conta. Poderá à mesma " +"mudar o seu nome visível se carregar no ícone de edição acima." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Remover a %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Nenhuma conta adicionada" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Carregue no botão Adicionar uma Nova Conta... em " +"baixo para criar uma" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Adicionar uma Nova Conta..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Adicionar uma Nova Conta" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Remover a Conta?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Tem a certeza que deseja remover a conta \"%2\" do \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Tem a certeza que deseja remover a conta \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Tem a certeza que deseja remover esta conta do \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Remover a Conta" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Mudar o Nome da Conta" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Indique o novo nome:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Modificar o Nome da Conta" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Não foi encontrada nenhuma conta com o ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Não existe nenhum gestor de contas, o que não é bom." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "O nome visível não poderá estar em branco" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "" +"Não foi possível carregar o 'plugin' %1; verifique por favor a sua instalação" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Cancelado pelo utilizador" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Ocorreu um erro ao tentar processar o pedido: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Não foi possível encontrar a conta" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Não foi possível encontrar as credenciais" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Não foi possível criar uma sessão de autenticação" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Não é possível abrir a carteira" diff --git a/po/pt_BR/kaccounts-integration.po b/po/pt_BR/kaccounts-integration.po new file mode 100644 index 0000000..d3d1cfc --- /dev/null +++ b/po/pt_BR/kaccounts-integration.po @@ -0,0 +1,242 @@ +# Translation of kaccounts-integration.po to Brazilian Portuguese +# Copyright (C) 2014-2020 This file is copyright: +# This file is distributed under the same license as the kaccounts-integration package. +# +# André Marcelo Alvarenga , 2014, 2015, 2016, 2019, 2020. +# Luiz Fernando Ranghetti , 2017, 2019, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-04-06 14:38-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.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Luiz Fernando Ranghetti, André Marcelo Alvarenga" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "elchevive@opensuse.org, alvarenga@kde.org" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Contas" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Detalhes da conta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "Conta %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Alterar o nome de exibição da conta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Usar esta conta para" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Remover esta conta" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Não existem serviços configuráveis disponíveis para esta conta. Você ainda " +"pode alterar o nome de exibição clicando no ícone de edição acima." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Remover %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Nenhuma conta adicionada ainda" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Clique no botão Adicionar nova conta... abaixo para " +"adicionar uma" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Adicionar nova conta..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Adicionar nova conta" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Remover conta?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Deseja realmente remover a conta \"%1\" \"%2\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Deseja realmente remover a conta \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Deseja realmente remover esta conta \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Remover conta" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Renomear conta" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Digite o novo nome:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Definir o nome da conta" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Nenhuma conta encontrada com o ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Nenhum gerenciador de contas, isto não é legal." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "O nome de exibição não pode esta vazio" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Não foi possível carregar o plugin %1, verifique sua instalação" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Cancelado pelo usuário" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Ocorreu um erro ao tentar processar a solicitação: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Não foi possível encontrar a conta" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Não foi possível encontrar as credenciais" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Não foi possível criar a sessão de autenticação" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Não foi possível abrir a carteira" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Digite o novo nome da conta" diff --git a/po/ro/kaccounts-integration.po b/po/ro/kaccounts-integration.po new file mode 100644 index 0000000..b37ed0a --- /dev/null +++ b/po/ro/kaccounts-integration.po @@ -0,0 +1,414 @@ +# 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, 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-06-02 20:51+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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Conturi" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Detalii cont" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "Cont %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Schimbă numele afișat al contului" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Folosește acest cont pentru" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Elimină acest cont" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Nu sunt servicii configurabile pentru acest cont. Îi puteți schimba numele " +"afișat apăsând pe pictograma de redactare de mai sus." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Elimină %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Încă nu au fost adăugate conturi" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Apăsați butonul Adaugă cont nou... de mai jos pentru " +"a adăuga unul" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Adaugă cont nou..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Adaugă cont nou" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Eliminați contul?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Sigur doriți să eliminați contul „%2” din „%1”?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Sigur doriți să eliminați contul „%1”?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Sigur doriți să eliminați acest cont „%1”?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Elimină contul" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Redenumește contul" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Introduceți noua denumire:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Stabilește denumirea contului" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Nu s-a găsit niciun cont cu identificatorul %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Niciun gestionar de conturi, asta nu e bine." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Numele afișat nu poate fi gol" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Extensia %1 nu poate fi încărcată, verificați instalarea" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Anulat de utilizator" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "A avut loc o eroare la încercarea de a prelucra cererea: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Contul nu poate fi găsit" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Acreditările nu pot fi găsite" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Sesiunea de autentificare nu poate fi creată" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Portofelul nu poate fi deschis" + +#~ msgid "Configure..." +#~ msgstr "Configurare..." + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Imposibil de finalizat" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Alegeți un cont din coloana stângă pentru a-l configura" + +#~ msgid "Create" +#~ msgstr "Creează" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Alegeți care servicii să fie activate" + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Parolă:" + +#~ msgid "Username" +#~ msgstr "Nume de utilizator" + +#, fuzzy +#~| msgid "my.owncloudserver.org" +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "Server" + +#~ msgid "JohnDoe" +#~ msgstr "IonPopescu" + +#~ msgid "Connecting to:" +#~ msgstr "Conectare la:" + +#~ msgid "Contacts" +#~ msgstr "Contacte" + +#~ msgid "ownCloud Server" +#~ msgstr "Server ownCloud" + +#~ msgid "Everything is Ok" +#~ msgstr "Totul e în ordine" + +#~ msgid "Information is invalid" +#~ msgstr "Informația nu e validă" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "IonPopescu (nume de utilizator)" + +#~ msgid "Username:" +#~ msgstr "Nume de utilizator:" + +#~ msgid "Password" +#~ msgstr "Parolă" + +#~ msgid "Host:" +#~ msgstr "Gazdă:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Următor" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Finalizează" + +#~ msgid "Files" +#~ msgstr "Fișiere" + +#~ msgid "Calendar" +#~ msgstr "Calendar" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Asistent pentru conturi Facebook" + +#~ msgid "Credentials" +#~ msgstr "Acreditări" + +#~ msgid "The email and password are required" +#~ msgstr "Adresa de e-mail și parola sunt necesare" + +#~ msgid "The email is required" +#~ msgstr "Adresa de e-mail e necesară" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "Acest cont este configurat deja ca un cont web" + +#~ msgid "The password is required" +#~ msgstr "Este necesară parola" + +#~ msgid "Facebook Authentication" +#~ msgstr "Autentificare Facebook" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Eroare la autentificarea cu Facebook. Apăsați „Înapoi” și verificați " +#~ "acreditările" + +#~ msgid "Checking username..." +#~ msgstr "Se verifică numele de utilizator" + +#~ msgid "Waiting for authorization..." +#~ msgstr "Se așteaptă autorizarea..." + +#~ msgid "Try again" +#~ msgstr "Reîncearcă" + +#~ msgid "Chat" +#~ msgstr "Discuții" + +#~ msgid "Contacts and Events" +#~ msgstr "Contacte și evenimente" + +#~ msgid "Google account Wizard" +#~ msgstr "Asistent pentru conturi Google" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Calendar / sarcini" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "Adresa de e-mail pare să fie greșită (format nevalid)" + +#~ msgid "Email address:" +#~ msgstr "Adresă de e-mail:" + +#~ msgid "Google Authentication" +#~ msgstr "Autentificare Google" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Eroare la autentificarea cu Google. Apăsați „Înapoi” și verificați " +#~ "acreditările" + +#~ msgid "TextLabel" +#~ msgstr "EtichetăTextuală" + +#~ msgid "Select services" +#~ msgstr "Alegeți serviciile" + +#~ msgid "EMail" +#~ msgstr "Poștă electronică" + +#~ msgid "Tasks" +#~ msgstr "Sarcini" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "WebAccounts cere să aibă acces la" + +#~ msgid "Retry" +#~ msgstr "Reîncearcă" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Calendar și contacte" + +#~ msgid "User or password are incorrect" +#~ msgstr "Utilizatorul sau parola sunt greșite" + +#~ msgid "The username and password are required" +#~ msgstr "Numele de utilizator și parola sunt necesare" + +#~ msgid "The username is required" +#~ msgstr "Numele de utilizator e necesar" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Asistent pentru Runner-id" diff --git a/po/ru/kaccounts-integration.po b/po/ru/kaccounts-integration.po new file mode 100644 index 0000000..4670bea --- /dev/null +++ b/po/ru/kaccounts-integration.po @@ -0,0 +1,375 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Alexander Potashev , 2015, 2017. +# Alexander Yavorsky , 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-04-17 21:46+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.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Александр Яворский" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kekcuha@gmail.com" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Учётные записи" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Сведения об учётной записи" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "Учётная запись %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Изменение отображаемого имени учётной записи" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Использовать ресурсы учётной записи:" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Удалить учётную запись" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Для этой учётной записи отсутствуют службы, которые могут быть настроены. " +"Для изменения её отображаемого имени нажмите на значок, расположенный выше." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Удалить %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Пока не добавлено ни одной учётной записи" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Для добавления учётной записи нажмите кнопку Добавить учётную " +"запись..." + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Добавить учётную запись..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Добавление учётной записи" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Удалить учётную запись?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Удалить учётную запись «%2», используемую для %1?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Удалить учётную запись «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Удалить учётную запись «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Удалить учётную запись" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Переименовать учётную запись" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Введите новое имя:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Переименовать" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Отсутствует учётная запись с идентификатором %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Отсутствует диспетчер учётных записей." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Отображаемое имя не может быть пустым" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Не удалось загрузить модуль %1. Проверьте правильность установки." + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Отменено пользователем" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "При обработке запроса произошла ошибка: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Не удалось найти учётную" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Не удалось найти учётные данные " + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Не удалось начать проверку подлинности" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Не удалось открыть бумажник" + +#~ msgid "Configure..." +#~ msgstr "Настроить..." + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Не удалось завершить" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Выберите из списка слева учётную запись, которую хотите настроить" + +#~ msgid "Create" +#~ msgstr "Добавить" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Выберите службы, которые хотите задействовать:" + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Пароль:" + +#~ msgid "Username" +#~ msgstr "Имя пользователя:" + +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "http://my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "Сервер:" + +#~ msgid "JohnDoe" +#~ msgstr "VasyaPupkin" + +#~ msgid "Unable to authenticate using the provided username and password" +#~ msgstr "" +#~ "Не удалось выполнить вход с указанными именем пользователя и паролем." + +#~ msgid "Connecting to:" +#~ msgstr "Идёт подключение к:" + +#~ msgid "Contacts" +#~ msgstr "Контакты" + +#~ msgid "" +#~ "Unable to connect to ownCloud at the given server URL. Please check the " +#~ "server URL." +#~ msgstr "" +#~ "Не удалось подключиться к ownCloud по указанному адресу URL сервера. " +#~ "Проверьте правильность адреса сервера." + +#~ msgid "ownCloud Server" +#~ msgstr "Сервер ownCloud" + +#~ msgid "Everything is Ok" +#~ msgstr "Всё хорошо" + +#~ msgid "Information is invalid" +#~ msgstr "Информация некорректна" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "VasyaPupkin (имя пользователя)" + +#~ msgid "Username:" +#~ msgstr "Имя пользователя:" + +#~ msgid "Password" +#~ msgstr "Пароль" + +#~ msgid "Host:" +#~ msgstr "Хост:" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Готово" + +#~ msgid "Calendar" +#~ msgstr "Календарь" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Добавление учётной записи Facebook" + +#~ msgid "The email and password are required" +#~ msgstr "Необходимо ввести адрес электронной почты и пароль" + +#~ msgid "The email is required" +#~ msgstr "Необходимо ввести адрес электронной почты" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "Эта учётная запись уже настроена с помощью веб-интерфейса" + +#~ msgid "The password is required" +#~ msgstr "Необходимо ввести пароль" + +#~ msgid "Try again" +#~ msgstr "Повторите попытку" + +# В Facebook это называется "чат", но "личные сообщения" -- понятнее. Особенно для тех, кто не пользуется Facebook. --aspotashev +#~ msgid "Chat" +#~ msgstr "Личные сообщения" + +#~ msgid "Contacts and Events" +#~ msgstr "Контакты и мероприятия" + +#~ msgid "Google account Wizard" +#~ msgstr "Добавление учётной записи Google" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Календари и задачи" + +#~ msgid "Email address:" +#~ msgstr "Адрес электронной почты:" + +# BUGME: this should not be translatable --aspotashev +#~ msgid "TextLabel" +#~ msgstr "TextLabel" + +#~ msgid "EMail" +#~ msgstr "Электронная почта" + +#~ msgid "Tasks" +#~ msgstr "Задачи" + +#~ msgid "Retry" +#~ msgstr "Повторить попытку" + +#~ msgid "The username and password are required" +#~ msgstr "Необходимо ввести имя пользователя и пароль" + +#~ msgid "The username is required" +#~ msgstr "Необходимо ввести имя пользователя" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Добавление учётной записи Runners-ID" diff --git a/po/sk/kaccounts-integration.po b/po/sk/kaccounts-integration.po new file mode 100644 index 0000000..3e32256 --- /dev/null +++ b/po/sk/kaccounts-integration.po @@ -0,0 +1,453 @@ +# translation of kaccounts-integration.po to Slovak +# Roman Paholík , 2014, 2015, 2016, 2017, 2021. +# Matej Mrenica , 2019. +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-11-14 12:17+0100\n" +"Last-Translator: Roman Paholik \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 21.08.3\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" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "matejm98mthw@gmail.com" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Účty" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Detaily účtu" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "Účet %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Zmeniť zobrazený názov účtu" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Použiť tento účet pre" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Odstrániť tento účet" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Nie sú žiadne nastavideľné služby dostupné pre tento účet. Stále môžete " +"zmeniť jeho zobrazený názov kliknutím na ikonu nižšie." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Odstrániť %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Žiadne pridanú účty" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Kliknite na Pridať nový účet... na pridanie účtu" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Pridať nový účet..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Pridať nový účet" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Odstrániť účet?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Určite chcete odstrániť účet '%1' '%2'?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Určite chcete odstrániť účet '%1'? " + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Určite chcete odstrániť účet '%1'?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Odstrániť účet" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Premenovať účet" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Zadajte nové meno:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Nastaviť názov účtu" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Nenašiel sa účet s ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Žiadny správca účtov, toto nie je dobré." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Zobrazený názov nemôže byť prázdny" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Nemôžem načítať plugin %1, prosím skontrolujte si inštaláciu" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Zrušené používateľom" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Nastala chyba počas pokusu o spracovanie požiadavky: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Nemôžem nájsť účet" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Nemôžem nájsť prihlasovacie údaje" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Nemôžem vytvoriť overenie sedenia" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Nemôžem otvoriť peňaženku" + +#~ msgid "Configure..." +#~ msgstr "Nastaviť..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Nenašli sa žiadni poskytovatelia účtov. Niektorých poskytovateľov " +#~ "nájdete v balíkoch kaccounts-providers a " +#~ "ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "Nainštalované služby vyžadujú nasledujúcich chýbajúcich poskytovateľov: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Nie je možné ukončiť" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Vyberte účet z ľavého stĺpca na nastavenie" + +#~ msgid "Create" +#~ msgstr "Vytvoriť" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Vyberte, ktoré služby chcete aktivovať" + +#~ msgctxt "" +#~ "Error message that shows up right after the KCM opens and detects that " +#~ "the required variables are empty" +#~ msgid "" +#~ "It appears your system is not configured properly, please ensure you have " +#~ "AG_PROVIDERS and/or AG_SERVICES environment variables set correctly, then " +#~ "restart this configuration module.\n" +#~ "\n" +#~ "Please contact your distribution if you're unsure how to proceed." +#~ msgstr "" +#~ "Zdá sa, že váš systém nie je správne nastavený, prosím, uistite sa, že " +#~ "máte správne nastavené premenné prostrediaAG_PROVIDERS a/alebo " +#~ "AG_SERVICES, potom, then reštartujte tento konfiguračný modul.\n" +#~ "\n" +#~ "Prosím, kontaktujte vašu distribúciu, ak nie ste si istý, ako pokračovať." + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Heslo:" + +#~ msgid "Username" +#~ msgstr "Používateľské meno" + +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "http://my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "Server" + +#~ msgid "JohnDoe" +#~ msgstr "JohnDoe" + +#~ msgid "Unable to authenticate using the provided username and password" +#~ msgstr "Nemôžem overiť pomocou zadaného mena používateľa a hesla" + +#~ msgid "Connecting to:" +#~ msgstr "Pripájanie k:" + +#~ msgid "Contacts" +#~ msgstr "Kontakty" + +#~ msgid "" +#~ "Unable to connect to ownCloud at the given server URL. Please check the " +#~ "server URL." +#~ msgstr "" +#~ "Nemôžem sa pripojiť do ownCloud na danom URL servera. Prosím, " +#~ "skontrolujte URL servera." + +#~ msgid "ownCloud Server" +#~ msgstr "Server ownCloud" + +#~ msgid "Everything is Ok" +#~ msgstr "Všetko je OK" + +#~ msgid "Information is invalid" +#~ msgstr "Informácia je neplatná" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "JohnDoe (meno používateľa)" + +#~ msgid "Username:" +#~ msgstr "Užívateľské meno:" + +#~ msgid "Password" +#~ msgstr "Heslo" + +#~ msgid "Host:" +#~ msgstr "Hostiteľ:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Ďalej" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Hotovo" + +#~ msgid "Files" +#~ msgstr "Súbory" + +#~ msgid "Calendar" +#~ msgstr "Kalendár" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Sprievodca účtom Facebook" + +#~ msgid "Credentials" +#~ msgstr "Prihlasovacie údaje" + +#~ msgid "The email and password are required" +#~ msgstr "Vyžaduje sa e-mail a heslo" + +#~ msgid "The email is required" +#~ msgstr "Vyžaduje sa e-mail" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "Tento účet je už nastavený ako webový účet" + +#~ msgid "The password is required" +#~ msgstr "Vyžaduje sa heslo" + +#~ msgid "Facebook Authentication" +#~ msgstr "Overenie Facebook" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Chyba overenia s Facebookom, prosím stlačte Naspäť a skontrolujte svoje " +#~ "údaje" + +#~ msgid "Checking username..." +#~ msgstr "Kontrolujem meno používateľa..." + +#~ msgid "Waiting for authorization..." +#~ msgstr "Čaká sa na oprávnenie..." + +#~ msgid "Try again" +#~ msgstr "Skúsiť znovu" + +#~ msgid "Chat" +#~ msgstr "Rozhovor" + +#~ msgid "Contacts and Events" +#~ msgstr "Kontakty a udalosti" + +#~ msgid "Google account Wizard" +#~ msgstr "Sprievodca účtom Google" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Kalendár / úlohy" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "E-mail sa zdá byť zlý (neplatný formát)" + +#~ msgid "Email address:" +#~ msgstr "E-mailová adresa:" + +#~ msgid "Google Authentication" +#~ msgstr "Overenie Google" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Chyba overenie s Google, prosím stlačte Napäť a skontrolujte svoje údaje" + +#~ msgid "TextLabel" +#~ msgstr "TextLabel" + +#~ msgid "Select services" +#~ msgstr "Vybrať služby" + +#~ msgid "EMail" +#~ msgstr "E-mail" + +#~ msgid "Tasks" +#~ msgstr "Úlohy" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "Webové služby vyžadujú mať prístup k" + +#~ msgid "Retry" +#~ msgstr "Znovu" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Kalendár a kontakty" + +#~ msgid "User or password are incorrect" +#~ msgstr "Používateľ alebo heslo je nesprávne" + +#~ msgid "The username and password are required" +#~ msgstr "Vyžaduje sa meno používateľa a heslo" + +#~ msgid "The username is required" +#~ msgstr "Vyžaduje sa meno používateľa" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Sprievodca Runner-id" + +#~ msgid "This account is already configured in KAccounts" +#~ msgstr "Tento účet je už nastavený ako v KAccounts" + +#~ msgid "Form" +#~ msgstr "Formulár" diff --git a/po/sl/kaccounts-integration.po b/po/sl/kaccounts-integration.po new file mode 100644 index 0000000..757b0de --- /dev/null +++ b/po/sl/kaccounts-integration.po @@ -0,0 +1,463 @@ +# Slovenian translation of kaccounts +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Andrej Mernik , 2014, 2015, 2016, 2017, 2018. +# Matjaž Jeran , 2019, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-10-14 22:45+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 20.12.2\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Matjaž Jeran" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "matjaz.jeran@amis.net" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Računi" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Podrobnosti računa" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 račun" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Spremeni prikazano ime računa" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Uporabi ta račun za" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Odstrani ta račun" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Za ta račun ni na voljo nastavljivih storitev. Še vedno lahko spremenite " +"prikazano ime s klikom na zgornjo ikono za urejanje." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Odstrani %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Nobenega računa še ni dodanega" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Kliknite gumb Dodaj nov račun... za dodajanje novega" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Dodaj nov račun..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Dodaj nov račun" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Odstrani račun?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Ali ste prepričani, da želite odstraniti \"%1\" račun \"%2\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Ali ste prepričani, da želite odstraniti račun \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Ali ste prepričani, da želite odstraniti ta račun \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Odstrani račun" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Preimenuj račun" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Vnesite novo ime:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Nastavite ime računa" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Ni mogoče najti računa za ID %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Ni skrbnika računov, to pa ni dobro." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Ime ne more biti prazno" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Ni bilo mogoče naložiti vtičnika %1. Prosim, preverite vašo namestitev" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Preklicano od uporabnika" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Prišlo je do napake med poskusom obdelovanja zahteve: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Ni mogoče najti računa" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Ni mogoče najti poverilnic" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Ni mogoče ustvariti avtorske seje" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Ni mogoče odpreti listnice" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Vnesite novo ime računa" + +#~ msgid "Configure..." +#~ msgstr "Nastavi ..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Ni najdenih ponudnikov računov.Nekatere ponudnike lahko najdete v " +#~ "paketih kaccounts-providers in " +#~ "ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "Nameščene storitve zahtevajo naslednje manjkajoče ponudnike: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Ni mogoče zaključiti" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Iz levega stolpca izberite račun za nastavitev" + +#~ msgid "Create" +#~ msgstr "Ustvari" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Izberite storitve, ki bi jih želeli omogočiti" + +#~ msgctxt "" +#~ "Error message that shows up right after the KCM opens and detects that " +#~ "the required variables are empty" +#~ msgid "" +#~ "It appears your system is not configured properly, please ensure you have " +#~ "AG_PROVIDERS and/or AG_SERVICES environment variables set correctly, then " +#~ "restart this configuration module.\n" +#~ "\n" +#~ "Please contact your distribution if you're unsure how to proceed." +#~ msgstr "" +#~ "Izgleda, da vaš sistem ni pravilno nastavljen. Prepričajte se, da ste " +#~ "pravilno nastavili okoljski spremenljivki AG_PROVIDERS in/ali " +#~ "AG_SERVICES, nato pa znova zaženite nastavitveni modul.\n" +#~ "\n" +#~ "Če niste prepričani, kako nadaljevati, se obrnite na ponudnika vaše " +#~ "distribucije." + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Geslo:" + +#~ msgid "Username" +#~ msgstr "Uporabniško ime" + +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "http://moj.strežnik_owncloud.si" + +#~ msgid "Server" +#~ msgstr "Strežnik" + +#~ msgid "JohnDoe" +#~ msgstr "JanezNovak" + +#~ msgid "Unable to authenticate using the provided username and password" +#~ msgstr "Ni se bilo mogoče overiti s podanima uporabniškim imenom in geslom" + +#~ msgid "Connecting to:" +#~ msgstr "Povezovanje z:" + +#~ msgid "Contacts" +#~ msgstr "Stiki" + +#~ msgid "" +#~ "Unable to connect to ownCloud at the given server URL. Please check the " +#~ "server URL." +#~ msgstr "" +#~ "Ni se mogoče povezati s strežnikom ownCloud na podanem URL-ju. Preverite " +#~ "URL strežnika." + +#~ msgid "ownCloud Server" +#~ msgstr "Strežnik ownCloud" + +#~ msgid "Everything is Ok" +#~ msgstr "Vse je v redu" + +#~ msgid "Information is invalid" +#~ msgstr "Podatki niso veljavni" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "JanezNovak (uporabniško ime)" + +#~ msgid "Username:" +#~ msgstr "Uporabniško ime:" + +#~ msgid "Password" +#~ msgstr "Geslo" + +#~ msgid "Host:" +#~ msgstr "Gostitelj:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Naprej" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Zaključi" + +#~ msgid "Files" +#~ msgstr "Datoteke" + +#~ msgid "Calendar" +#~ msgstr "Koledar" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Čarovnik za račun Facebook" + +#~ msgid "Credentials" +#~ msgstr "Poverila" + +#~ msgid "The email and password are required" +#~ msgstr "Zahtevana sta e-poštni naslov in geslo" + +#~ msgid "The email is required" +#~ msgstr "Zahtevan je e-poštni naslov" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "Ta račun je že nastavljen kot Spletni račun" + +#~ msgid "The password is required" +#~ msgstr "Zahtevano je geslo" + +#~ msgid "Facebook Authentication" +#~ msgstr "Overitev v Facebook" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Napaka med overjanjem v Facebook. Kliknite Nazaj in preverite vaša " +#~ "poverila" + +#~ msgid "Checking username..." +#~ msgstr "Preverjanje uporabniškega imena ..." + +#~ msgid "Waiting for authorization..." +#~ msgstr "Čakanje na pooblastitev ..." + +#~ msgid "Try again" +#~ msgstr "Poskusi znova" + +#~ msgid "Chat" +#~ msgstr "Klepet" + +#~ msgid "Contacts and Events" +#~ msgstr "Stiki in dogodki" + +#~ msgid "Google account Wizard" +#~ msgstr "Čarovnik za račun Google" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Koledar / opravila" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "E-poštni naslov izgleda napačen (neveljavna oblika)" + +#~ msgid "Email address:" +#~ msgstr "E-poštni naslov:" + +#~ msgid "Google Authentication" +#~ msgstr "Overitev v Google" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Napaka med overjanjem v Google. Kliknite Nazaj in preverite vaša poverila" + +#~ msgid "TextLabel" +#~ msgstr "BesedilnaOznaka" + +#~ msgid "Select services" +#~ msgstr "Izberite storitve" + +#~ msgid "EMail" +#~ msgstr "E-pošta" + +#~ msgid "Tasks" +#~ msgstr "Opravila" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "Spletni računi zahtevajo dostop do" + +#~ msgid "Retry" +#~ msgstr "Poskusi znova" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Koledar in stiki" + +#~ msgid "User or password are incorrect" +#~ msgstr "Uporabnik ali geslo sta napačna" + +#~ msgid "The username and password are required" +#~ msgstr "Zahtevana sta uporabniško ime in geslo" + +#~ msgid "The username is required" +#~ msgstr "Zahtevano je uporabniško ime" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Čarovnik za Runner-id" + +#, fuzzy +#~| msgid "This account is already configured as a Web Account" +#~ msgid "This account is already configured in KAccounts" +#~ msgstr "Ta račun je že nastavljen kot Spletni račun" diff --git a/po/sr/kaccounts-integration.po b/po/sr/kaccounts-integration.po new file mode 100644 index 0000000..e7c39aa --- /dev/null +++ b/po/sr/kaccounts-integration.po @@ -0,0 +1,91 @@ +# Translation of kaccounts-integration.po into Serbian. +# Chusslove Illich , 2015, 2016, 2017. +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2020-04-11 03:03+0200\n" +"PO-Revision-Date: 2017-10-30 23:08+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" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +# >> @title:column +#: src/kcm/accounts.cpp:32 +#, kde-format +msgid "Accounts" +msgstr "налози" + +#: src/kcm/accounts.cpp:34 +#, kde-format +msgid "Sebastian Kügler" +msgstr "" + +#: src/kcm/accounts.cpp:35 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:77 +#, kde-format +msgid "No account found with the ID %1" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:82 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:87 +#, kde-format +msgid "The display name cannot be empty" +msgstr "" + +#: src/lib/createaccountjob.cpp:104 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Не могу да учитам прикључак „%1“, проверите инсталацију." + +#: src/lib/createaccountjob.cpp:231 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Дошло је до грешке при покушају обраде захтева: %1" + +#: src/lib/getcredentialsjob.cpp:66 +#, kde-format +msgid "Could not find account" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:81 +#, kde-format +msgid "Could not find credentials" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:91 +#, kde-format +msgid "Could not create auth session" +msgstr "" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:63 +#, kde-format +msgid "Can't open wallet" +msgstr "" diff --git a/po/sv/kaccounts-integration.po b/po/sv/kaccounts-integration.po new file mode 100644 index 0000000..45fc225 --- /dev/null +++ b/po/sv/kaccounts-integration.po @@ -0,0 +1,461 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Stefan Asserhäll , 2014, 2015, 2016, 2017, 2019, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-03-24 07:31+0100\n" +"Last-Translator: Stefan Asserhäll \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 20.08.1\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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Konton" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Kontoinformation" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 konto" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Ändra kontots visade namn" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Använd kontot för" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Ta bort kontot" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Det finns inga inställningsbara tjänster tillgängliga för kontot. Du kan " +"fortfarande ändra dess visade namn genom att klicka på redigeringsikonen " +"ovan." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Ta bort %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Inga konton ännu tillagda" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Klicka på knappen Lägg till nytt konto... nedan för " +"att lägga till ett" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Lägg till nytt konto..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Lägg till nytt konto" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Ta bort konto?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Är du säker på att du vill ta bort kontot \"%1\" \"%2\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Är du säker på att du vill ta bort kontot \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Är du säker på att du vill ta bort det här kontot \"%1\"?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Ta bort konto" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Byt namn på konto" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Ange nytt namn:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Ange kontonamn" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Inget konto hittades med id %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "Ingen kontohanterare, det är inte så bra." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Skärmnamnet kan inte vara tomt" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "Kunde inte ladda insticksprogrammet %1. Kontrollera installationen." + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Avbruten av användaren" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Ett fel uppstod när begäran skulle behandlas: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Kunde inte hitta konto" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Kunde inte hitta inloggningsinformation" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Kunde inte skapa auth-session" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Kan inte öppna plånbok" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Ange kontots nya namn" + +#~ msgid "Configure..." +#~ msgstr "Anpassa..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Inga kontoleverantörer hittades.Visa leverantörer kan hittas i " +#~ "paketen kaccounts-providers och " +#~ "ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "Följande saknade leverantörer krävs av installerade tjänster: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Kan inte slutföra" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Välj ett konto från vänstra kolumnen för att ställa in det" + +#~ msgid "Create" +#~ msgstr "Skapa" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Välj vilka tjänster du vill aktivera" + +#~ msgctxt "" +#~ "Error message that shows up right after the KCM opens and detects that " +#~ "the required variables are empty" +#~ msgid "" +#~ "It appears your system is not configured properly, please ensure you have " +#~ "AG_PROVIDERS and/or AG_SERVICES environment variables set correctly, then " +#~ "restart this configuration module.\n" +#~ "\n" +#~ "Please contact your distribution if you're unsure how to proceed." +#~ msgstr "" +#~ "Det verkar som om systemet inte är riktigt inställt. Försäkra dig om att " +#~ "miljövariablerna AG_PROVIDERS och/eller AG_SERVICES är riktigt inställda, " +#~ "och starta därefter om inställningsmodulen.\n" +#~ "\n" +#~ "Kontakta distributionen om du är osäker om hur du ska göra." + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Lösenord:" + +#~ msgid "Username" +#~ msgstr "Användarnamn" + +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "http://my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "Server" + +#~ msgid "JohnDoe" +#~ msgstr "AnnaSvensson" + +#~ msgid "Unable to authenticate using the provided username and password" +#~ msgstr "" +#~ "Kunde inte kontrollera behörighet med användning av angivet användarnamn " +#~ "och lösenord" + +#~ msgid "Connecting to:" +#~ msgstr "Ansluter till:" + +#~ msgid "Contacts" +#~ msgstr "Kontakter" + +#~ msgid "" +#~ "Unable to connect to ownCloud at the given server URL. Please check the " +#~ "server URL." +#~ msgstr "" +#~ "Kan inte ansluta till ownCloud med angiven serverwebbadress. Kontrollera " +#~ "serverns webbadress." + +#~ msgid "ownCloud Server" +#~ msgstr "ownCloud-server" + +#~ msgid "Everything is Ok" +#~ msgstr "Allting är ok" + +#~ msgid "Information is invalid" +#~ msgstr "Informationen är ogiltig" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "AnnaSvensson (användarnamn)" + +#~ msgid "Username:" +#~ msgstr "Användarnamn:" + +#~ msgid "Password" +#~ msgstr "Lösenord" + +#~ msgid "Host:" +#~ msgstr "Värddator:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Nästa" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Slutför" + +#~ msgid "Files" +#~ msgstr "Filer" + +#~ msgid "Calendar" +#~ msgstr "Kalender" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Facebook-kontoguide" + +#~ msgid "Credentials" +#~ msgstr "Inloggningsinformation" + +#~ msgid "The email and password are required" +#~ msgstr "E-postadressen och lösenord krävs" + +#~ msgid "The email is required" +#~ msgstr "E-postadressen krävs" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "Kontot är redan inställt som ett webbkonto" + +#~ msgid "The password is required" +#~ msgstr "Lösenordet krävs" + +#~ msgid "Facebook Authentication" +#~ msgstr "Facebook behörighetskontroll" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Fel vid behörighetskontroll hos Facebook. Tryck på Bakåt och kontrollera " +#~ "din behörighetsinformation." + +#~ msgid "Checking username..." +#~ msgstr "Kontrollerar användarnamn..." + +#~ msgid "Waiting for authorization..." +#~ msgstr "Väntar på godkännande..." + +#~ msgid "Try again" +#~ msgstr "Försök igen" + +#~ msgid "Chat" +#~ msgstr "Chatt" + +#~ msgid "Contacts and Events" +#~ msgstr "Kontakter och händelser" + +#~ msgid "Google account Wizard" +#~ msgstr "Google-kontoguide" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Kalender och uppgifter" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "E-postadressen verkar vara felaktig (ogiltigt format)" + +#~ msgid "Email address:" +#~ msgstr "E-postadress:" + +#~ msgid "Google Authentication" +#~ msgstr "Google behörighetskontroll" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Fel vid behörighetskontroll hos Google. Tryck på Bakåt och kontrollera " +#~ "din behörighetsinformation." + +#~ msgid "TextLabel" +#~ msgstr "Textetikett" + +#~ msgid "Select services" +#~ msgstr "Välj tjänster" + +#~ msgid "EMail" +#~ msgstr "E-post" + +#~ msgid "Tasks" +#~ msgstr "Uppgifter" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "WebAccounts kräver åtkomst till" + +#~ msgid "Retry" +#~ msgstr "Försök igen" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Kalender och kontakter" + +#~ msgid "User or password are incorrect" +#~ msgstr "Användare eller lösenord är felaktigt" + +#~ msgid "The username and password are required" +#~ msgstr "Användarnamn och lösenord krävs" + +#~ msgid "The username is required" +#~ msgstr "Användarnamn krävs" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Runner ID-guide" + +#~ msgid "This account is already configured in KAccounts" +#~ msgstr "Kontot är redan inställt i KAccounts" diff --git a/po/tr/kaccounts-integration.po b/po/tr/kaccounts-integration.po new file mode 100644 index 0000000..3b21892 --- /dev/null +++ b/po/tr/kaccounts-integration.po @@ -0,0 +1,276 @@ +# 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: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2017-10-23 08:38+0000\n" +"Last-Translator: İşbaran \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" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "" + +#: src/kcm/accounts.cpp:18 +#, fuzzy, kde-format +#| msgid "Accounts" +msgid "Accounts" +msgstr "Hesaplar" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, fuzzy, kde-format +#| msgid "Account Removal" +msgid "Account Details" +msgstr "Hesap Kaldırma" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, fuzzy, kde-format +#| msgid "Accounts" +msgid "%1 account" +msgstr "Hesaplar" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "" + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, fuzzy, kde-format +#| msgid "Accounts" +msgid "Add New Account" +msgstr "Hesaplar" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, fuzzy, kde-format +#| msgid "Accounts" +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Hesaplar" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, fuzzy, kde-format +#| msgid "" +#| "Are you sure that you want to remove the account '%1'? This cannot be " +#| "undone." +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "'%1' hesabını kaldırmak istediğinizden emin misiniz? Bu geri alınamaz." + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, fuzzy, kde-format +#| msgid "" +#| "Are you sure that you want to remove the account '%1'? This cannot be " +#| "undone." +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "'%1' hesabını kaldırmak istediğinizden emin misiniz? Bu geri alınamaz." + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, fuzzy, kde-format +#| msgid "" +#| "Are you sure that you want to remove the account '%1'? This cannot be " +#| "undone." +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "'%1' hesabını kaldırmak istediğinizden emin misiniz? Bu geri alınamaz." + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, fuzzy, kde-format +#| msgid "Accounts" +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Hesaplar" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, fuzzy, kde-format +#| msgid "Accounts" +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Hesaplar" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "%1 eklentisi yüklenemedi, lütfen yükleme işleminizi kontrol edin." + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "İstek işlenmeye çalışılırken bir hata oluştu: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "" + +#~ msgid "Configure..." +#~ msgstr "Yapılandır..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Hesap sağlayıcı bulunamadı. Bazı sağlayıcılar kaccounts-" +#~ "providers ve ktp-accounts-kcm " +#~ "panketlerinde bulunabilir." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "Aşağıdaki eksik paketler, tüklü servisler tarafından kullanılmaktadır: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Bitirilemiyor" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Yapılandırmak için sol sütundan bir hesap seçin" + +#~ msgid "Create" +#~ msgstr "yaratmak" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Hangi hizmetleri etkinleştirmek istediğinizi seçin" diff --git a/po/uk/kaccounts-integration.po b/po/uk/kaccounts-integration.po new file mode 100644 index 0000000..6a14dc4 --- /dev/null +++ b/po/uk/kaccounts-integration.po @@ -0,0 +1,472 @@ +# Translation of kaccounts-integration.po to Ukrainian +# Copyright (C) 2014-2021 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 , 2014, 2015, 2016, 2017, 2019, 2020, 2021. +msgid "" +msgstr "" +"Project-Id-Version: kaccounts-integration\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2021-03-24 08:38+0200\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 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" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "Облікові записи" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "Параметри рахунка" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "Обліковий запис %1" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "Змінити екранне ім'я облікового запису" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "Використовувати цей обліковий запис для" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "Вилучити цей обліковий запис" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"Для цього облікового запису немає придатних до налаштовування служб. Втім, " +"ви можете змінити його екранне ім'я натисканням піктограми редагування вище." + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "Вилучити %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "Жодного облікового запису ще не додано" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" +"Натисніть розташовану нижче кнопку Додати новий обліковий запис…, щоб додати його" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "Додати новий обліковий запис…" + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "Додати новий обліковий запис" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "Вилучити обліковий запис?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "Ви справді хочете вилучити обліковий запис «%2» «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "Ви справді хочете вилучити обліковий запис «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "Ви справді хочете вилучити цей обліковий запис «%1»?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "Вилучити обліковий запис" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "Перейменування облікового запису" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "Введіть нову назву:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "Встановити назву облікового запису" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "Не знайдено облікових записів із ідентифікатором %1" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "На жаль, немає засобу керування обліковими записами." + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "Показане ім'я не може бути порожнім." + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "" +"Не вдалося завантажити додаток %1. Перевірте, чи правильно встановлено " +"систему." + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "Скасовано користувачем" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "Під час спроби обробки запиту сталася помилка: %1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "Не вдалося знайти обліковий запис" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "Не вдалося знайти реєстраційні дані" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "Не вдалося створити сеанс розпізнавання" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "Не вдалося відкрити торбинку" + +#~ msgctxt "" +#~ "Label for the text field used to enter a new human-readable name for an " +#~ "account" +#~ msgid "Enter the new name of the account" +#~ msgstr "Введіть нову назву облікового запису" + +#~ msgid "Configure..." +#~ msgstr "Налаштувати…" + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "Не знайдено засобів надання облікових записів.Роботу деяких з таких " +#~ "засобів забезпечують пакунки kaccounts-providers і ktp-accounts-kcm." + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "" +#~ "Для роботи встановлених служб потрібні такі засоби надання даних: %1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "Не вдалося завершити" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "Виберіть у лівому стовпчику обліковий запис для налаштовування" + +#~ msgid "Create" +#~ msgstr "Створити" + +#~ msgid "Select what services you want to activate" +#~ msgstr "Виберіть служби, які слід задіяти" + +#~ msgctxt "" +#~ "Error message that shows up right after the KCM opens and detects that " +#~ "the required variables are empty" +#~ msgid "" +#~ "It appears your system is not configured properly, please ensure you have " +#~ "AG_PROVIDERS and/or AG_SERVICES environment variables set correctly, then " +#~ "restart this configuration module.\n" +#~ "\n" +#~ "Please contact your distribution if you're unsure how to proceed." +#~ msgstr "" +#~ "Здається, вашу систему не налаштовано належним чином. Будь ласка, " +#~ "встановіть правильні значення для змінних середовища AG_PROVIDERS і/або " +#~ "AG_SERVICES, а потім перезапустіть модуль налаштовування.\n" +#~ "\n" +#~ "Будь ласка, зв’яжіться із розробниками вашого дистрибутива, якщо не " +#~ "знаєте що робити." + +#~ msgid "ownCloud" +#~ msgstr "ownCloud" + +#~ msgid "Password:" +#~ msgstr "Пароль:" + +#~ msgid "Username" +#~ msgstr "Користувач" + +#~ msgid "http://my.owncloudserver.org" +#~ msgstr "http://my.owncloudserver.org" + +#~ msgid "Server" +#~ msgstr "Сервер" + +#~ msgid "JohnDoe" +#~ msgstr "JohnDoe" + +#~ msgid "Unable to authenticate using the provided username and password" +#~ msgstr "" +#~ "Не вдалося пройти розпізнавання на основі вказаного імені користувача і " +#~ "пароля" + +#~ msgid "Connecting to:" +#~ msgstr "З’єднуємося з:" + +#~ msgid "Contacts" +#~ msgstr "Контакти" + +#~ msgid "" +#~ "Unable to connect to ownCloud at the given server URL. Please check the " +#~ "server URL." +#~ msgstr "" +#~ "Не вдалося встановити з’єднання з ownCloud за вказаною адресою сервера. " +#~ "Будь ласка, перевірте, чи правильно вказано цю адресу." + +#~ msgid "ownCloud Server" +#~ msgstr "Сервер ownCloud" + +#~ msgid "Everything is Ok" +#~ msgstr "Все гаразд" + +#~ msgid "Information is invalid" +#~ msgstr "Інформація є некоректною" + +#~ msgid "owncloud.org" +#~ msgstr "owncloud.org" + +#~ msgid "JohnDoe (username)" +#~ msgstr "JohnDoe (ім’я користувача)" + +#~ msgid "Username:" +#~ msgstr "Користувач:" + +#~ msgid "Password" +#~ msgstr "Пароль" + +#~ msgid "Host:" +#~ msgstr "Вузол:" + +#~ msgctxt "Action to go to the next page on the wizard" +#~ msgid "Next" +#~ msgstr "Далі" + +#~ msgctxt "Action to finish the wizard" +#~ msgid "Finish" +#~ msgstr "Завершити" + +#~ msgid "Files" +#~ msgstr "Файли" + +#~ msgid "Calendar" +#~ msgstr "Календар" + +#~ msgid "Facebook account Wizard" +#~ msgstr "Майстер обліковий записів Facebook" + +#~ msgid "Credentials" +#~ msgstr "Реєстраційні дані" + +#~ msgid "The email and password are required" +#~ msgstr "Слід вказати адресу електронної пошти і пароль" + +#~ msgid "The email is required" +#~ msgstr "Слід вказати адресу електронної пошти" + +#~ msgid "This account is already configured as a Web Account" +#~ msgstr "Цей обліковий запис вже налаштовано як обліковий запис інтернету" + +#~ msgid "The password is required" +#~ msgstr "Слід вказати пароль" + +#~ msgid "Facebook Authentication" +#~ msgstr "Розпізнавання на Facebook" + +#~ msgid "" +#~ "Error authenticating with Facebook, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Помилка розпізнавання на Facebook. Будь ласка, натисніть кнопку «Назад» і " +#~ "перевірте, чи правильно вказано реєстраційні дані" + +#~ msgid "Checking username..." +#~ msgstr "Перевіряємо ім’я користувача…" + +#~ msgid "Waiting for authorization..." +#~ msgstr "Очікуємо на завершення розпізнавання…" + +#~ msgid "Try again" +#~ msgstr "Повторити спробу" + +#~ msgid "Chat" +#~ msgstr "Спілкування" + +#~ msgid "Contacts and Events" +#~ msgstr "Контакти і події" + +#~ msgid "Google account Wizard" +#~ msgstr "Майстер облікового запису Google" + +#~ msgid "Calendar / Tasks" +#~ msgstr "Календар/Завдання" + +#~ msgid "The email seems to be wrong (Invalid format)" +#~ msgstr "" +#~ "Здається, адресу електронної пошти вказано неправильно (некоректний " +#~ "формат)" + +#~ msgid "Email address:" +#~ msgstr "Адреса ел. пошти:" + +#~ msgid "Google Authentication" +#~ msgstr "Розпізнавання у Google" + +#~ msgid "" +#~ "Error authenticating with Google, please press back and check your " +#~ "credentials" +#~ msgstr "" +#~ "Помилка розпізнавання у Google. Будь ласка, натисніть кнопку «Назад» і " +#~ "перевірте, чи правильно вказано реєстраційні дані" + +#~ msgid "TextLabel" +#~ msgstr "TextLabel" + +#~ msgid "Select services" +#~ msgstr "Виберіть служби" + +#~ msgid "EMail" +#~ msgstr "Ел. пошта" + +#~ msgid "Tasks" +#~ msgstr "Завдання" + +#~ msgid "WebAccounts requires to have access to" +#~ msgstr "Потрібні WebAccounts для доступу до" + +#~ msgid "Retry" +#~ msgstr "Повторити" + +#~ msgid "Calendar and Contacts" +#~ msgstr "Календар і контакти" + +#~ msgid "User or password are incorrect" +#~ msgstr "Неправильно вказано користувача або пароль" + +#~ msgid "The username and password are required" +#~ msgstr "Слід вказати ім’я користувача і пароль" + +#~ msgid "The username is required" +#~ msgstr "Слід вказати ім’я користувача" + +#~ msgid "Runner-id Wizard" +#~ msgstr "Майстер Runner-id" + +#~ msgid "This account is already configured in KAccounts" +#~ msgstr "Цей обліковий запис вже налаштовано у KAccounts" + +#~ msgid "Form" +#~ msgstr "Форма" diff --git a/po/zh_CN/kaccounts-integration.po b/po/zh_CN/kaccounts-integration.po new file mode 100644 index 0000000..273f189 --- /dev/null +++ b/po/zh_CN/kaccounts-integration.po @@ -0,0 +1,238 @@ +# Copyright (C) YEAR This_file_is_part_of_KDE +# This file is distributed under the same license as the PACKAGE package. +# +# Weng Xuetian , 2015, 2016, 2017. +# Xuetian Weng , 2015. +# Chao Feng , 2019. +msgid "" +msgstr "" +"Project-Id-Version: kdeorg\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2022-02-26 05:19\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/kaccounts-integration/kaccounts-" +"integration.pot\n" +"X-Crowdin-File-ID: 3400\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "KDE 中国" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "kde-china@kde.org" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "账户" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, kde-format +msgid "Account Details" +msgstr "账户详细信息" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "%1 (%2)" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, kde-format +msgid "%1 account" +msgstr "%1 账户" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "修改账户显示名称" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "将此账户用于" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "删除此账户" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" +"此账户没有可配置的服务。您仍然可以通过点击上面的编辑图标来更改显示名称。" + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "删除 %1" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "未添加任何帐号" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "请点击下方的添加新账户按钮来添加账户" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "添加新账户..." + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, kde-format +msgid "Add New Account" +msgstr "添加新账户" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, kde-format +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "要删除账户吗?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "您确定要删除“%1”账户“%2”吗?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "您确定要删除账户“%1”吗?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, kde-format +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "您确定要移除此“%1”账户吗?" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, kde-format +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "删除账户" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, kde-format +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "账户更名" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "输入新名称:" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "设置账户名称" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "未找到 ID 为 %1 的账户" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "没有账户管理器,这可不妙。" + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "显示名称不能为空" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "无法加载 %1 插件,请检查您的安装。" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "已被用户取消" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "处理请求时出错:%1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "找不到账号" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "找不到凭据" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "无法创建认证会话" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "无法打开钱包" diff --git a/po/zh_TW/kaccounts-integration.po b/po/zh_TW/kaccounts-integration.po new file mode 100644 index 0000000..9006c16 --- /dev/null +++ b/po/zh_TW/kaccounts-integration.po @@ -0,0 +1,276 @@ +# 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 , 2017. +# pan93412 , 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2021-03-24 02:21+0100\n" +"PO-Revision-Date: 2020-04-12 00:43+0800\n" +"Last-Translator: Yi-Jyun Pan \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.12.3\n" + +#, kde-format +msgctxt "NAME OF TRANSLATORS" +msgid "Your names" +msgstr "Cheng-Chia Tsung" + +#, kde-format +msgctxt "EMAIL OF TRANSLATORS" +msgid "Your emails" +msgstr "pswo10680@gmail.com" + +#: src/kcm/accounts.cpp:18 +#, kde-format +msgid "Accounts" +msgstr "帳號" + +#: src/kcm/accounts.cpp:19 +#, kde-format +msgid "Sebastian Kügler" +msgstr "Sebastian Kügler" + +#: src/kcm/accounts.cpp:20 +#, kde-format +msgid "Dan Leinir Turthra Jensen" +msgstr "Dan Leinir Turthra Jensen" + +#: src/kcm/package/contents/ui/AccountDetails.qml:20 +#, fuzzy, kde-format +#| msgid "Account Removal" +msgid "Account Details" +msgstr "帳號移除" + +#: src/kcm/package/contents/ui/AccountDetails.qml:59 +#: src/kcm/package/contents/ui/Accounts.qml:47 +#, kde-format +msgid "%1 (%2)" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:63 +#: src/kcm/package/contents/ui/Accounts.qml:51 +#, fuzzy, kde-format +#| msgid "Accounts" +msgid "%1 account" +msgstr "帳號" + +#: src/kcm/package/contents/ui/AccountDetails.qml:73 +#, kde-format +msgctxt "" +"Button which spawns a dialog allowing the user to change the displayed " +"account's human-readable name" +msgid "Change Account Display Name" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:81 +#, kde-format +msgctxt "Heading for a list of services available with this account" +msgid "Use This Account For" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:88 +#, kde-format +msgid "Remove This Account" +msgstr "" + +#: src/kcm/package/contents/ui/AccountDetails.qml:110 +#, kde-format +msgctxt "A text shown when an account has no configurable services" +msgid "" +"There are no configurable services available for this account. You can still " +"change its display name by clicking the edit icon above." +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:58 +#, kde-format +msgctxt "" +"Tooltip for an action which will offer the user to remove the mentioned " +"account" +msgid "Remove %1" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:75 +#, kde-format +msgctxt "A text shown when a user has not yet added any accounts" +msgid "No accounts added yet" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:76 +#, kde-kuit-format +msgctxt "@info" +msgid "" +"Click the Add New Account... button below to add one" +msgstr "" + +#: src/kcm/package/contents/ui/Accounts.qml:89 +#, kde-format +msgid "Add New Account..." +msgstr "" + +#: src/kcm/package/contents/ui/AvailableAccounts.qml:19 +#, fuzzy, kde-format +#| msgid "Accounts" +msgid "Add New Account" +msgstr "帳號" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:20 +#, fuzzy, kde-format +#| msgid "Accounts" +msgctxt "The title for a dialog which lets you remove an account" +msgid "Remove Account?" +msgstr "帳號" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:23 +#, fuzzy, kde-format +#| msgid "" +#| "Are you sure that you want to remove the account '%1'? This cannot be " +#| "undone." +msgctxt "" +"The text for a dialog which lets you remove an account when both provider " +"name and account name are available" +msgid "Are you sure you wish to remove the \"%1\" account \"%2\"?" +msgstr "您確定要移除帳號 '%1' ?此動作無法復原。" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:25 +#, fuzzy, kde-format +#| msgid "" +#| "Are you sure that you want to remove the account '%1'? This cannot be " +#| "undone." +msgctxt "" +"The text for a dialog which lets you remove an account when only the account " +"name is available" +msgid "Are you sure you wish to remove the account \"%1\"?" +msgstr "您確定要移除帳號 '%1' ?此動作無法復原。" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:27 +#, fuzzy, kde-format +#| msgid "" +#| "Are you sure that you want to remove the account '%1'? This cannot be " +#| "undone." +msgctxt "" +"The text for a dialog which lets you remove an account when only the " +"provider name is available" +msgid "Are you sure you wish to remove this \"%1\" account?" +msgstr "您確定要移除帳號 '%1' ?此動作無法復原。" + +#: src/kcm/package/contents/ui/RemoveAccountDialog.qml:32 +#, fuzzy, kde-format +#| msgid "Accounts" +msgctxt "" +"The label for a button which will cause the removal of a specified account" +msgid "Remove Account" +msgstr "帳號" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:17 +#, fuzzy, kde-format +#| msgid "Accounts" +msgctxt "" +"The title for a dialog which lets you set the human-readable name of an " +"account" +msgid "Rename Account" +msgstr "帳號" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:31 +#, kde-format +msgctxt "" +"Label for the text field used to enter a new human-readable name for an " +"account" +msgid "Enter new name:" +msgstr "" + +#: src/kcm/package/contents/ui/RenameAccountDialog.qml:37 +#, kde-format +msgctxt "" +"Text of a button which will cause the human-readable name of an account to " +"be set to a text specified by the user" +msgid "Set Account Name" +msgstr "" + +#: src/lib/changeaccountdisplaynamejob.cpp:71 +#, kde-format +msgid "No account found with the ID %1" +msgstr "找不到 ID %1 的帳號" + +#: src/lib/changeaccountdisplaynamejob.cpp:76 +#, kde-format +msgid "No accounts manager, this is not awesome." +msgstr "沒有帳號管理員,這不優喔。" + +#: src/lib/changeaccountdisplaynamejob.cpp:81 +#, kde-format +msgid "The display name cannot be empty" +msgstr "顯示名稱不能空白" + +#: src/lib/createaccountjob.cpp:89 +#, kde-format +msgctxt "The %1 is for plugin name, eg. Could not load UI plugin" +msgid "Could not load %1 plugin, please check your installation" +msgstr "無法載入 %1 外掛程式。請檢查您的安裝。" + +#: src/lib/createaccountjob.cpp:147 +#, kde-format +msgid "Cancelled by user" +msgstr "" + +#: src/lib/createaccountjob.cpp:224 +#, kde-format +msgid "There was an error while trying to process the request: %1" +msgstr "試著進行此要求時發生錯誤:%1" + +#: src/lib/getcredentialsjob.cpp:53 +#, kde-format +msgid "Could not find account" +msgstr "找不到帳號" + +#: src/lib/getcredentialsjob.cpp:68 +#, kde-format +msgid "Could not find credentials" +msgstr "找不到憑證" + +#: src/lib/getcredentialsjob.cpp:78 +#, kde-format +msgid "Could not create auth session" +msgstr "無法建立驗證階段" + +#: src/plugins/kio-webdav/removenetattachjob.cpp:51 +#, kde-format +msgid "Can't open wallet" +msgstr "無法開啟錢包" + +#~ msgid "Configure..." +#~ msgstr "設定..." + +#~ msgid "" +#~ "No account providers found.Some providers can be found in packages " +#~ "kaccounts-providers and ktp-" +#~ "accounts-kcm." +#~ msgstr "" +#~ "沒有找到帳號提供商。部份的提供商可以在軟體包 kaccounts-" +#~ "providersktp-accounts-kcm 找" +#~ "到。" + +#~ msgid "Following missing providers are required by installed services: %1" +#~ msgstr "安裝服務以安裝需要的提供商:%1" + +#~ msgctxt "" +#~ "Messagebox title; meaning 'Unable to finish the action you started'" +#~ msgid "Unable to finish" +#~ msgstr "無法完成" + +#~ msgid "Select an account from the left column to configure" +#~ msgstr "請從左方欄位選擇要設定的帳號" + +#~ msgid "Create" +#~ msgstr "建立" + +#~ msgid "Select what services you want to activate" +#~ msgstr "選擇您要啟動的服務" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..f94e00d --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,7 @@ +add_definitions(-DTRANSLATION_DOMAIN="kaccounts-integration") + +add_subdirectory(kded) +add_subdirectory(lib) +add_subdirectory(declarative) +add_subdirectory(kcm) +add_subdirectory(plugins) diff --git a/src/declarative/CMakeLists.txt b/src/declarative/CMakeLists.txt new file mode 100644 index 0000000..2e9f667 --- /dev/null +++ b/src/declarative/CMakeLists.txt @@ -0,0 +1,9 @@ +add_library(kaccountsdeclarativeplugin SHARED kaccountsdeclarativeplugin.cpp) + +target_link_libraries(kaccountsdeclarativeplugin Qt5::Qml + KF5::I18n + kaccounts + ) + +install(TARGETS kaccountsdeclarativeplugin DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kaccounts) +install(FILES qmldir DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kaccounts) diff --git a/src/declarative/kaccountsdeclarativeplugin.cpp b/src/declarative/kaccountsdeclarativeplugin.cpp new file mode 100644 index 0000000..52f74d2 --- /dev/null +++ b/src/declarative/kaccountsdeclarativeplugin.cpp @@ -0,0 +1,40 @@ +/* + * SPDX-FileCopyrightText: 2015 Aleix Pol + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "kaccountsdeclarativeplugin.h" + +#include "accountsmodel.h" +#include "providersmodel.h" +#include "servicesmodel.h" + +#include "accountservicetogglejob.h" +#include "changeaccountdisplaynamejob.h" +#include "createaccountjob.h" +#include "removeaccountjob.h" + +#include + +void KAccountsDeclarativePlugin::registerTypes(const char *uri) +{ + // Version 1.0 + // Consider this registration deprecated - use the one named ...Job below instead + qmlRegisterType(uri, 1, 0, "CreateAccount"); + + // Version 1.1 + // Consider this registration deprecated - use the one named ...Job below instead + qmlRegisterType(uri, 1, 1, "AccountServiceToggle"); + + // Version 1.2 + qmlRegisterType(uri, 1, 2, "AccountsModel"); + qmlRegisterType(uri, 1, 2, "ProvidersModel"); + qmlRegisterType(uri, 1, 2, "ServicesModel"); + + qmlRegisterType(uri, 1, 2, "AccountServiceToggleJob"); + qmlRegisterType(uri, 1, 2, "ChangeAccountDisplayNameJob"); + qmlRegisterType(uri, 1, 2, "CreateAccountJob"); + qmlRegisterType(uri, 1, 2, "RemoveAccountJob"); +} diff --git a/src/declarative/kaccountsdeclarativeplugin.h b/src/declarative/kaccountsdeclarativeplugin.h new file mode 100644 index 0000000..5d889fc --- /dev/null +++ b/src/declarative/kaccountsdeclarativeplugin.h @@ -0,0 +1,20 @@ +/* + * SPDX-FileCopyrightText: 2015 Aleix Pol + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef KACCOUNTSDECLARATIVEPLUGIN_H +#define KACCOUNTSDECLARATIVEPLUGIN_H + +#include + +class KAccountsDeclarativePlugin : public QQmlExtensionPlugin +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") +public: + void registerTypes(const char *uri) override; +}; + +#endif // KACCOUNTSDECLARATIVEPLUGIN_H diff --git a/src/declarative/qmldir b/src/declarative/qmldir new file mode 100644 index 0000000..1abf855 --- /dev/null +++ b/src/declarative/qmldir @@ -0,0 +1,3 @@ +module org.kde.kaccounts + +plugin kaccountsdeclarativeplugin diff --git a/src/kcm/CMakeLists.txt b/src/kcm/CMakeLists.txt new file mode 100644 index 0000000..424d2f2 --- /dev/null +++ b/src/kcm/CMakeLists.txt @@ -0,0 +1,14 @@ +add_library(kcm_kaccounts MODULE accounts.cpp) + +target_link_libraries(kcm_kaccounts + Qt5::Core + KF5::CoreAddons + KF5::I18n + KF5::QuickAddons + ) +kcoreaddons_desktop_to_json(kcm_kaccounts "kcm_kaccounts.desktop") + +install(TARGETS kcm_kaccounts DESTINATION ${KDE_INSTALL_PLUGINDIR}/kcms) + +install(FILES kcm_kaccounts.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) +kpackage_install_package(package kcm_kaccounts kcms) diff --git a/src/kcm/accounts.cpp b/src/kcm/accounts.cpp new file mode 100644 index 0000000..4af12fc --- /dev/null +++ b/src/kcm/accounts.cpp @@ -0,0 +1,25 @@ +/* + * SPDX-FileCopyrightText: 2019 Nicolas Fella + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "accounts.h" + +#include +#include +#include + +K_PLUGIN_CLASS_WITH_JSON(AccountsSettings, "kcm_kaccounts.json") + +AccountsSettings::AccountsSettings(QObject *parent, const QVariantList &args) + : KQuickAddons::ConfigModule(parent, args) +{ + KAboutData *about = new KAboutData(QStringLiteral("kcm_kaccounts"), i18n("Accounts"), QStringLiteral("1.0"), QString(), KAboutLicense::LGPL); + about->addAuthor(i18n("Sebastian Kügler"), QString(), QStringLiteral("sebas@kde.org")); + about->addAuthor(i18n("Dan Leinir Turthra Jensen"), QString(), QStringLiteral("admin@leinir.dk"), QString(), QStringLiteral("leinir")); + setAboutData(about); + setButtons(KQuickAddons::ConfigModule::NoAdditionalButton); +} + +#include "accounts.moc" diff --git a/src/kcm/accounts.h b/src/kcm/accounts.h new file mode 100644 index 0000000..42ea5cc --- /dev/null +++ b/src/kcm/accounts.h @@ -0,0 +1,23 @@ +/* + * SPDX-FileCopyrightText: 2019 Nicolas Fella + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef ACCOUNTSSETTINGS_H +#define ACCOUNTSSETTINGS_H + +#include +#include +#include + +class AccountsSettings : public KQuickAddons::ConfigModule +{ + Q_OBJECT + +public: + explicit AccountsSettings(QObject *parent, const QVariantList &args); + ~AccountsSettings() override = default; +}; + +#endif // ACCOUNTSSETTINGS_H diff --git a/src/kcm/kcm_kaccounts.desktop b/src/kcm/kcm_kaccounts.desktop new file mode 100644 index 0000000..9d5b18b --- /dev/null +++ b/src/kcm/kcm_kaccounts.desktop @@ -0,0 +1,128 @@ +[Desktop Entry] +Exec=systemsettings5 kcm_kaccounts +Icon=applications-internet +Type=Service + +X-KDE-ServiceTypes=KCModule + +X-KDE-Library=kcm_kaccounts +X-KDE-ParentApp=kcontrol +X-KDE-FormFactors=desktop,handset,tablet,mediacenter + +X-KDE-System-Settings-Parent-Category=personalization + +Name=Online Accounts +Name[ar]=حسابات الإنترنت +Name[ast]=Cuentes en llinia +Name[az]=Onlayn Hesablar +Name[ca]=Comptes en línia +Name[ca@valencia]=Comptes en línia +Name[cs]=Účty online +Name[da]=Onlinekonti +Name[de]=Online-Zugänge +Name[el]=Διαδικτυακοί λογαριασμοί +Name[en_GB]=Online Accounts +Name[es]=Cuentas con conexión +Name[et]=Võrgukontod +Name[eu]=Online kontuak +Name[fi]=Verkkotilit +Name[fr]=Comptes en ligne +Name[gl]=Contas en Internet +Name[hu]=Online fiókok +Name[ia]=Contos in linea +Name[it]=Account in linea +Name[ko]=온라인 계정 +Name[lt]=Internetinės paskyros +Name[nl]=Online accounts +Name[nn]=Nett­kontoar +Name[pa]=ਆਨਲਾਈਨ ਖਾਤੇ +Name[pl]=Konta sieciowe +Name[pt]=Contas 'Online' +Name[pt_BR]=Contas online +Name[ro]=Conturi online +Name[ru]=Учётные записи в Интернете +Name[sk]=Online účty +Name[sl]=Spletni računi +Name[sr]=Налози на вези +Name[sr@ijekavian]=Налози на вези +Name[sr@ijekavianlatin]=Nalozi na vezi +Name[sr@latin]=Nalozi na vezi +Name[sv]=Nätkonton +Name[tr]=Çevrimiçi Hesaplar +Name[uk]=Облікові записи у інтернеті +Name[x-test]=xxOnline Accountsxx +Name[zh_CN]=在线账户 +Name[zh_TW]=線上帳號 + +Comment=Configure your internet accounts such as Google, Live, Owncloud +Comment[ar]=اضبط حساباتك على الإنترنت كغوغل، لايڤ وسحابتك "Owncloud" +Comment[ast]=Configura cuentes d'internet de servicios como Google, Twitter o Nextcloud +Comment[az]=Google, Live, Owncloud kimi internet hesablarınızı ayarlayın +Comment[ca]=Configura els vostres comptes d'Internet com Google, Live, Owncloud +Comment[ca@valencia]=Configura els vostres comptes d'Internet com Google, Live, Owncloud +Comment[cs]=Nastavte své webové účty jako např. Google, Live, Owncloud +Comment[da]=Indstil dine internetkonti som f.eks. Google, Live, Owncloud +Comment[de]=Richten Sie Ihre Web-Zugänge wie Google, Live und ownCloud ein +Comment[el]=Διαμορφώστε τους διαδικτυακούς σας λογαριασμούς όπως Google, Live, Owncloud +Comment[en_GB]=Configure your internet accounts such as Google, Live, Owncloud +Comment[es]=Configurar sus cuentas de Internet, como Google, Live y Owncloud +Comment[et]=Oma internetikontode - Google, Live, Owncloud jne - seadistamine +Comment[eu]=Konfiguratu zure internet kontuak, Google, Live, Owncloud eta halakoak +Comment[fi]=Verkkotiliesi asetukset (esim. Google, Live, ownCloud) +Comment[fr]=Configurez vos comptes Internet tels que Google, Live, OwnCloud +Comment[gl]=Configurar as túas contas de Internet como a de Google, Live ou Owncloud. +Comment[hu]=Állítsa be internetes fiókjait (Google, Live, Owncloud, stb) +Comment[ia]=Configura tu contos de internet tall como Google, Live, OwnCloud +Comment[it]=Configura i tuoi account internet come Google, Live, ownCloud +Comment[ko]=Google, Live, Owncloud 등 인터넷 계정 관리 +Comment[lt]=Konfigūruoti internetines paskyras, pvz., Google, Live, Owncloud +Comment[nl]=Stel uw internetaccounts in zoals Google, Live, Owncloud +Comment[nn]=Set opp nettkontoar, for eksempel for Google, Live eller ownCloud +Comment[pa]=ਆਪਣੇ ਇੰਟਰਨੈੱਟ ਖਾਤਿਆਂ ਜਿਵੇਂ ਕਿ ਗੂਗਲ, ਲਾਈਨ ਓਵਨਕਲਾਊਡ ਦੀ ਸੰਰਚਨਾ ਕਰੋ +Comment[pl]=Tutaj ustaw swoje konto na: Google, Live, Owncloud +Comment[pt]=Configure as suas contas da Internet, como as do Google, Live, Owncloud +Comment[pt_BR]=Configure suas contas na Internet, como Google, Live, Owncloud +Comment[ro]=Configurați conturile Internet cum sunt Google, Live, Owncloud +Comment[ru]=Настройка учётных записей Google, Facebook, Jabber и других +Comment[sk]=Nastaviť vaše internetové účty ako Google, Live, Owncloud +Comment[sl]=Nastavite vaše internetne račune kot so Google, Live, Owncloud +Comment[sr]=Подесите своје интернет налоге, нпр. на Гуглу или Оунклауду +Comment[sr@ijekavian]=Подесите своје интернет налоге, нпр. на Гуглу или Оунклауду +Comment[sr@ijekavianlatin]=Podesite svoje internet naloge, npr. na Googleu ili ownCloudu +Comment[sr@latin]=Podesite svoje internet naloge, npr. na Googleu ili ownCloudu +Comment[sv]=Anpassa Internetkonton såsom Google, Live, Owncloud +Comment[tr]=Google, Live, ownCloud benzeri internet hesaplarınızı yapılandırın +Comment[uk]=Налаштування ваших облікових записів у Google, Live, Owncloud тощо +Comment[x-test]=xxConfigure your internet accounts such as Google, Live, Owncloudxx +Comment[zh_CN]=配置您的网络账户,例如 Google,Live,OwnCloud +Comment[zh_TW]=設定您的網際網路帳號,如 Google, Live, Owncloud 等 + +X-KDE-Keywords=network,google,live,owncloud,sync,online,accounts,synchronization,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar +X-KDE-Keywords[az]=network,google,live,owncloud,sync,online,accounts,synchronization,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar,int. şəbəkəsi,canlı,eyniləşdirmə,hesablar,onlayn,google təqvim +X-KDE-Keywords[ca]=xarxa,google,live,owncloud,sincronitza,en línia,comptes,sincronització,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar +X-KDE-Keywords[ca@valencia]=xarxa,google,live,owncloud,sincronitza,en línia,comptes,sincronització,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar +X-KDE-Keywords[da]=netværk,google,live,owncloud,sync,online,konti,synkronisering,opendesktop,nextcloud,youtube,drive,drev,hangouts,gmail,google calendar,kalender +X-KDE-Keywords[el]=δίκτυο,google,live,owncloud,sync,επιγραμμικοί,λογαριασμοί,συγχρονισμός,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar +X-KDE-Keywords[en_GB]=network,google,live,owncloud,sync,online,accounts,synchronisation,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar +X-KDE-Keywords[es]=red,google,live,owncloud,sincronizar,en línea,cuentas,sincronización,opendesktop,nextcloud,youtube,drive,hangouts,gmail,calendario de google +X-KDE-Keywords[eu]=sarea,google,live,owncloud,sink,lerroan,kontuak,sinkronizatzea,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar +X-KDE-Keywords[fi]=verkko,google,live,owncloud,synkronointi,synkronoi,tahdistus,tahdista,tilit,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar,google-kalenteri +X-KDE-Keywords[fr]=réseau, google, en ligne, owncloud, sync, en ligne, comptes, synchronisation, opendesktop, nextcloud, youtube, lecteur, hangouts, gmail, google calendar +X-KDE-Keywords[hu]=hálózat,google,live,owncloud,szinkronizálás,online,fiókok,szinkronizálás,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google naptár +X-KDE-Keywords[ia]=rete,google,live,owncloud,sync,online,contos,synchronisation,opendesktop,nextcloud,youtube,drive,hangouts,gmail,calendario de google +X-KDE-Keywords[it]=rete,google,live,owncloud,sync,online,account,sincronizzazione,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar +X-KDE-Keywords[ko]=network,google,live,owncloud,sync,online,accounts,synchronization,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar,구글,동기화,온라인,계정,유튜브,드라이브,행아웃,구글 캘린더,google 캘린더 +X-KDE-Keywords[lt]=tinklas,google,live,owncloud,sinchorizuoti,sinchronizacija,sinchronizavimas,internetinės,internetines,paskyros,opendesktop,nextcloud,youtube,drive,diskas,hangouts,gmail,google calendar,google kalendorius +X-KDE-Keywords[nl]=netwerk,google,live,owncloud,sync,online,accounts,synchronisatie,opendesktop,nextcloud,youtube,station,hangouts,gmail,google-agenda +X-KDE-Keywords[nn]=nettverk,google,live,owncloud,synk,nett,kontoar,synkronisering,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar, google kalender +X-KDE-Keywords[pl]=sieć,google,na żywo,owncloud,synchronizacja,w sieci,konta,synchronizacja,opendesktop,nextcloud,youtube,dysk,hangouts,gmail,kalendarz google +X-KDE-Keywords[pt_BR]=rede,google,live,owncloud,sincronizar,online,contas,sincronização,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar +X-KDE-Keywords[ro]=rețea,google,live,owncloud,sincronizare,online,conturi,sincronizează,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar,calendar google +X-KDE-Keywords[sk]=sieť,google,live,owncloud,sync,online,účty,synchronizácia,opendesktop,nextcloud,youtube,disk,hangouts,gmail,google calendar +X-KDE-Keywords[sl]=omrežje,google,live,owncloud,sync,online,računi,sinhronizacija,opendesktop,nextcloud,youtube,pogon,hangouts,gmail,google calendar +X-KDE-Keywords[sv]=nätverk,google,direkt,owncloud,synkronisera,uppkopplad,konton,synkronisering,opendesktop,nextcloud,youtube,enhet,hangouts,gmail,google kalender +X-KDE-Keywords[uk]=network,google,live,owncloud,sync,online,accounts,synchronization,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar,мережа,гугл,лайв,аунклауд,синхронізація,синхронізувати,інтернет,обліковий запис,записи,оупендесктоп,некстклауд,ютюб,диск,хенгаутс,жмейл,календар гугл +X-KDE-Keywords[x-test]=xxnetworkxx,xxgooglexx,xxlivexx,xxowncloudxx,xxsyncxx,xxonlinexx,xxaccountsxx,xxsynchronizationxx,xxopendesktopxx,xxnextcloudxx,xxyoutubexx,xxdrivexx,xxhangoutsxx,xxgmailxx,xxgoogle calendarxx +X-KDE-Keywords[zh_CN]=network,google,live,owncloud,sync,online,accounts,synchronization,opendesktop,nextcloud,youtube,drive,hangouts,gmail,google calendar,网络,同步,在线服务,账号,网络驱动器,网盘,日历,邮件 + +Categories=Qt;KDE;X-KDE-settings-kaccounts; diff --git a/src/kcm/package/contents/ui/AccountDetails.qml b/src/kcm/package/contents/ui/AccountDetails.qml new file mode 100644 index 0000000..5a15a85 --- /dev/null +++ b/src/kcm/package/contents/ui/AccountDetails.qml @@ -0,0 +1,130 @@ +/* + * SPDX-FileCopyrightText: 2019 Nicolas Fella + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQuick 2.12 +import QtQuick.Controls 2.12 as Controls +import QtQuick.Layouts 1.12 + +import org.kde.kirigami 2.14 as Kirigami +import org.kde.kcm 1.2 + +import org.kde.kaccounts 1.2 as KAccounts + +ScrollViewKCM { + id: component; + + title: i18nd("kaccounts-integration", "Account Details") + + property alias model: servicesList.model + + RemoveAccountDialog { + id: accountRemover + parent: component + accountId: servicesList.model.accountId + displayName: servicesList.model.accountDisplayName + providerName: servicesList.model.accountProviderName + onAccountRemoved: kcm.pop() + } + + RenameAccountDialog { + id: accountRenamer + parent: component + accountId: servicesList.model.accountId + currentDisplayName: servicesList.model.accountDisplayName + } + + Component { + id: serviceToggleJob + KAccounts.AccountServiceToggleJob { } + } + + header: ColumnLayout { + RowLayout { + Layout.fillWidth: true + Layout.margins: Kirigami.Units.smallSpacing + spacing: Kirigami.Units.smallSpacing + Kirigami.Icon { + source: model.accountIconName + Layout.preferredWidth: Kirigami.Units.iconSizes.large + Layout.preferredHeight: Kirigami.Units.iconSizes.large + } + Controls.Label { + Layout.fillWidth: true + text: { + if (model.accountDisplayName.length > 0 && model.accountProviderName.length > 0) { + return i18nd("kaccounts-integration", "%1 (%2)", model.accountDisplayName, model.accountProviderName) + } else if (model.accountDisplayName.length > 0) { + return model.accountDisplayName + } else { + return i18nd("kaccounts-integration", "%1 account", model.accountProviderName) + } + } + } + Controls.ToolButton { + icon.name: "edit-entry" + Layout.preferredHeight: Kirigami.Units.iconSizes.large + Layout.preferredWidth: Kirigami.Units.iconSizes.large + onClicked: accountRenamer.open(); + Controls.ToolTip { + text: i18ndc("kaccounts-integration", "Button which spawns a dialog allowing the user to change the displayed account's human-readable name", "Change Account Display Name") + } + } + } + Kirigami.Heading { + leftPadding: Kirigami.Units.smallSpacing + visible: servicesList.count > 0 + level: 3 + text: i18ndc("kaccounts-integration", "Heading for a list of services available with this account", "Use This Account For") + } + } + + footer: RowLayout { + Controls.Button { + Layout.alignment: Qt.AlignRight + text: i18nd("kaccounts-integration", "Remove This Account") + icon.name: "edit-delete-remove" + onClicked: accountRemover.open(); + } + } + + view: ListView { + id: servicesList + + clip: true + + ColumnLayout { + anchors.fill: parent + spacing: Kirigami.Units.smallSpacing + Controls.Label { + visible: servicesList.count === 0 + Layout.fillWidth: true + Layout.minimumHeight: component.height / 3 + enabled: false + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + wrapMode: Text.Wrap + text: i18ndc("kaccounts-integration", "A text shown when an account has no configurable services", "There are no configurable services available for this account. You can still change its display name by clicking the edit icon above.") + } + } + + delegate: Kirigami.CheckableListItem { + icon: undefined + text: model.displayName + subtitle: model.description + + checked: model.enabled + + action: Controls.Action { + onTriggered: { + checked = !checked; + const job = serviceToggleJob.createObject(component, { "accountId": servicesList.model.accountId, "serviceId": model.name, "serviceEnabled": !model.enabled }); + job.start(); + } + } + } + } +} diff --git a/src/kcm/package/contents/ui/Accounts.qml b/src/kcm/package/contents/ui/Accounts.qml new file mode 100644 index 0000000..af2b66e --- /dev/null +++ b/src/kcm/package/contents/ui/Accounts.qml @@ -0,0 +1,94 @@ +/* + * SPDX-FileCopyrightText: 2015 Martin Klapetek + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQuick 2.12 +import QtQuick.Controls 2.12 as Controls +import QtQuick.Layouts 1.12 + +import org.kde.kirigami 2.12 as Kirigami +import org.kde.kcm 1.2 + +import org.kde.kaccounts 1.2 as KAccounts + +ScrollViewKCM { + id: kaccountsRoot + + implicitHeight: Kirigami.Units.gridUnit * 28 + implicitWidth: Kirigami.Units.gridUnit * 28 + + // Existing accounts + view: ListView { + + clip: true + + model: KAccounts.AccountsModel { } + + delegate: Kirigami.SwipeListItem { + id: accountDelegate + width: ListView.view.width + + contentItem: RowLayout { + implicitWidth: accountDelegate.ListView.view.width + implicitHeight: Kirigami.Units.iconSizes.large + Kirigami.Units.smallSpacing * 2 + spacing: Kirigami.Units.smallSpacing + Kirigami.Icon { + source: model.iconName + Layout.preferredWidth: Kirigami.Units.iconSizes.large + Layout.preferredHeight: Kirigami.Units.iconSizes.large + } + Controls.Label { + Layout.fillWidth: true + text: { + if (model.displayName.length > 0 && model.providerName.length > 0) { + return i18nd("kaccounts-integration", "%1 (%2)", model.displayName, model.providerName) + } else if (model.displayName.length > 0) { + return model.displayName + } else { + return i18nd("kaccounts-integration", "%1 account", model.providerName) + } + } + } + } + actions: [ + Kirigami.Action { + text: i18ndc("kaccounts-integration", "Tooltip for an action which will offer the user to remove the mentioned account", "Remove %1", accountDelegate.contentItem.text) + iconName: "edit-delete-remove" + onTriggered: { + accountRemover.accountId = model.id; + accountRemover.displayName = model.displayName; + accountRemover.providerName = model.providerName; + accountRemover.open(); + } + } + ] + onClicked: kcm.push("AccountDetails.qml", {model: model.services}) + } + + Kirigami.PlaceholderMessage { + visible: view.count === 0 + anchors.centerIn: parent + width: parent.width - (Kirigami.Units.largeSpacing * 4) + text: i18ndc("kaccounts-integration", "A text shown when a user has not yet added any accounts", "No accounts added yet") + explanation: xi18nc("@info", "Click the Add New Account... button below to add one") + } + } + + RemoveAccountDialog { + id: accountRemover + parent: kaccountsRoot + } + + footer: RowLayout { + Controls.Button { + visible: !noAccountsLayout.visible + Layout.alignment: Qt.AlignRight + text: i18nd("kaccounts-integration", "Add New Account...") + icon.name: "contact-new" + onClicked: kcm.push("AvailableAccounts.qml") + } + } +} diff --git a/src/kcm/package/contents/ui/AvailableAccounts.qml b/src/kcm/package/contents/ui/AvailableAccounts.qml new file mode 100644 index 0000000..188f315 --- /dev/null +++ b/src/kcm/package/contents/ui/AvailableAccounts.qml @@ -0,0 +1,125 @@ +/* + * SPDX-FileCopyrightText: 2019 Nicolas Fella + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQuick 2.12 +import QtQuick.Controls 2.12 as Controls +import QtQuick.Layouts 1.12 + +import org.kde.kirigami 2.4 as Kirigami +import org.kde.kcm 1.2 + +import org.kde.kaccounts 1.2 as KAccounts + +ScrollViewKCM { + id: root + title: i18nd("kaccounts-integration", "Add New Account") + + header: Kirigami.InlineMessage { + id: errorMessage + type: Kirigami.MessageType.Error + showCloseButton: true + visible: false + } + + view: ListView { + + id: accountListView + clip: true + currentIndex: -1 + + model: KAccounts.ProvidersModel {} + delegate: Kirigami.AbstractListItem { + id: accountDelegate + width: ListView.view.width + enabled: model.supportsMultipleAccounts === true || model.accountsCount === 0 + + contentItem: RowLayout { + implicitWidth: accountDelegate.ListView.view.width + implicitHeight: Kirigami.Units.iconSizes.large + Kirigami.Units.smallSpacing * 2 + spacing: Kirigami.Units.smallSpacing + Kirigami.Icon { + source: model.iconName + Layout.preferredWidth: Kirigami.Units.iconSizes.large + Layout.preferredHeight: Kirigami.Units.iconSizes.large + Item { + visible: model.accountsCount > 0 + anchors { + bottom: parent.bottom + right: parent.right + } + height: parent.height / 3 + width: height + Rectangle { + anchors.fill: parent + radius: height / 2 + color: Kirigami.Theme.highlightColor + border { + width: 1 + color: Kirigami.Theme.highlightedTextColor + } + } + Controls.Label { + anchors.fill: parent + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + color: Kirigami.Theme.highlightedTextColor + text: model.accountsCount + } + } + } + + ColumnLayout { + spacing: 0 + Layout.fillWidth: true + Layout.alignment: Qt.AlignVCenter + + Controls.Label { + Layout.fillWidth: true + text: model.displayName + color: accountDelegate.pressed || accountDelegate.highlighted ? accountDelegate.activeTextColor : accountDelegate.textColor + elide: Text.ElideRight + } + + Controls.Label { + Layout.fillWidth: true + text: model.description + color: accountDelegate.pressed || accountDelegate.highlighted ? accountDelegate.activeTextColor : accountDelegate.textColor + elide: Text.ElideRight + font: Kirigami.Theme.smallFont + opacity: 0.7 + visible: text.length > 0 + } + } + } + onClicked: { + var job = jobComponent.createObject(root, { "providerName": model.name }) + job.start() + accountListView.currentIndex = -1 + } + } + } + + Component { + id: jobComponent + KAccounts.CreateAccountJob { + onFinished: { + // Don't close when there is an error to show an error message + if (error == 0) { + kcm.pop() + } else { + + if (error === 1) { // KJob::KilledJobError, cancelled by user + return + } + + errorMessage.text = errorText + errorMessage.visible = true + } + } + } + } +} diff --git a/src/kcm/package/contents/ui/MessageBoxSheet.qml b/src/kcm/package/contents/ui/MessageBoxSheet.qml new file mode 100644 index 0000000..47271d6 --- /dev/null +++ b/src/kcm/package/contents/ui/MessageBoxSheet.qml @@ -0,0 +1,45 @@ +/* + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQuick 2.12 +import QtQuick.Controls 2.12 as QtControls +import QtQuick.Layouts 1.12 as QtLayouts + +import org.kde.kirigami 2.7 as Kirigami + +Kirigami.OverlaySheet { + id: component + + property alias title: headerLabel.text + property alias text: messageLabel.text + property list actions + + showCloseButton: true + header: Kirigami.Heading { + id: headerLabel + QtLayouts.Layout.fillWidth: true + elide: Text.ElideRight + } + contentItem: QtControls.Label { + id: messageLabel + QtLayouts.Layout.preferredWidth: Kirigami.Units.gridUnit * 10 + QtLayouts.Layout.margins: Kirigami.Units.largeSpacing + wrapMode: Text.Wrap + } + footer: QtLayouts.RowLayout { + Item { QtLayouts.Layout.fillWidth: true } + Repeater { + model: component.actions; + QtControls.Button { + action: modelData + Connections { + target: action + onTriggered: component.close() + } + } + } + } +} diff --git a/src/kcm/package/contents/ui/RemoveAccountDialog.qml b/src/kcm/package/contents/ui/RemoveAccountDialog.qml new file mode 100644 index 0000000..71d76cc --- /dev/null +++ b/src/kcm/package/contents/ui/RemoveAccountDialog.qml @@ -0,0 +1,45 @@ +/* + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQuick 2.12 +import QtQuick.Layouts 1.12 + +import org.kde.kirigami 2.7 as Kirigami + +import org.kde.kaccounts 1.2 as KAccounts + +MessageBoxSheet { + id: component + property int accountId + property string displayName + property string providerName + signal accountRemoved() + title: i18ndc("kaccounts-integration", "The title for a dialog which lets you remove an account", "Remove Account?") + text: { + if (displayName.length > 0 && providerName.length > 0) { + return i18ndc("kaccounts-integration", "The text for a dialog which lets you remove an account when both provider name and account name are available", "Are you sure you wish to remove the \"%1\" account \"%2\"?", providerName, displayName) + } else if (displayName.length > 0) { + return i18ndc("kaccounts-integration", "The text for a dialog which lets you remove an account when only the account name is available", "Are you sure you wish to remove the account \"%1\"?", displayName) + } else { + return i18ndc("kaccounts-integration", "The text for a dialog which lets you remove an account when only the provider name is available", "Are you sure you wish to remove this \"%1\" account?", providerName) + } + } + actions: [ + Kirigami.Action { + text: i18ndc("kaccounts-integration", "The label for a button which will cause the removal of a specified account", "Remove Account") + onTriggered: { + var job = accountRemovalJob.createObject(component, { "accountId": component.accountId }); + job.start(); + } + Component { + id: accountRemovalJob + KAccounts.RemoveAccountJob { + onFinished: component.accountRemoved() + } + } + } + ] +} diff --git a/src/kcm/package/contents/ui/RenameAccountDialog.qml b/src/kcm/package/contents/ui/RenameAccountDialog.qml new file mode 100644 index 0000000..6063649 --- /dev/null +++ b/src/kcm/package/contents/ui/RenameAccountDialog.qml @@ -0,0 +1,50 @@ +/* + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +import QtQuick 2.12 +import QtQuick.Controls 2.12 as Controls +import QtQuick.Layouts 1.12 + +import org.kde.kirigami 2.7 as Kirigami + +import org.kde.kaccounts 1.2 as KAccounts + +MessageBoxSheet { + id: component + title: i18ndc("kaccounts-integration", "The title for a dialog which lets you set the human-readable name of an account", "Rename Account") + property int accountId + property string currentDisplayName + signal accountRenamed() + onSheetOpenChanged: { + if (sheetOpen === true) { + newAccountDisplayName.text = currentDisplayName; + } + } + contentItem: Kirigami.FormLayout { + Layout.preferredWidth: Kirigami.Units.gridUnit * 10 + Layout.margins: Kirigami.Units.largeSpacing + Controls.TextField { + id: newAccountDisplayName + Kirigami.FormData.label: i18ndc("kaccounts-integration", "Label for the text field used to enter a new human-readable name for an account", "Enter new name:") + } + } + actions: [ + Kirigami.Action { + enabled: newAccountDisplayName.text.length > 0 && newAccountDisplayName.text !== component.currentDisplayName + text: i18ndc("kaccounts-integration", "Text of a button which will cause the human-readable name of an account to be set to a text specified by the user", "Set Account Name") + onTriggered: { + var job = accountDisplayNameJob.createObject(component, { "accountId": component.accountId, "displayName": newAccountDisplayName.text }) + job.start(); + } + Component { + id: accountDisplayNameJob + KAccounts.ChangeAccountDisplayNameJob { + onFinished: component.accountRenamed() + } + } + } + ] +} diff --git a/src/kcm/package/metadata.desktop b/src/kcm/package/metadata.desktop new file mode 100644 index 0000000..4d95b05 --- /dev/null +++ b/src/kcm/package/metadata.desktop @@ -0,0 +1,95 @@ +[Desktop Entry] +Name=Accounts +Name[ar]=الحسابات +Name[ast]=Cuentes +Name[az]=İstifadəçi Hesabları +Name[ca]=Comptes +Name[ca@valencia]=Comptes +Name[cs]=Účty +Name[da]=Konti +Name[de]=Zugänge +Name[el]=Λογαριασμοί +Name[en_GB]=Accounts +Name[es]=Cuentas +Name[et]=Kontod +Name[eu]=Kontuak +Name[fi]=Tilit +Name[fr]=Comptes +Name[gl]=Contas +Name[hu]=Fiókok +Name[ia]=Contos +Name[it]=Account +Name[ko]=계정 +Name[lt]=Paskyros +Name[nl]=Accounts +Name[nn]=Kontoar +Name[pa]=ਖਾਤੇ +Name[pl]=Konta +Name[pt]=Contas +Name[pt_BR]=Contas +Name[ro]=Conturi +Name[ru]=Учётные записи в Интернете +Name[sk]=Účty +Name[sl]=Računi +Name[sr]=Налози +Name[sr@ijekavian]=Налози +Name[sr@ijekavianlatin]=Nalozi +Name[sr@latin]=Nalozi +Name[sv]=Konton +Name[tr]=Hesaplar +Name[uk]=Облікові записи +Name[x-test]=xxAccountsxx +Name[zh_CN]=账户 +Name[zh_TW]=帳號 +Comment=Add Your Online Accounts +Comment[ar]=أضف حساباتك على الإنترنت +Comment[ast]=Amiesta cuentes en llinia +Comment[az]=İnternet hesablarınızı əlavə edin +Comment[ca]=Afegiu els vostres comptes en línia +Comment[ca@valencia]=Afegiu els vostres comptes en línia +Comment[cs]=Přidejte svoje účty online +Comment[da]=Tilføj dine onlinekonti +Comment[de]=Fügen Sie Ihre Online-Zugänge hinzu +Comment[el]=Προσθέστε τους διαδικτυακούς λογαριασμούς σας +Comment[en_GB]=Add Your Online Accounts +Comment[es]=Añadir cuentas con conexión +Comment[et]=Võrgukontode lisamine +Comment[eu]=Gehitu zure online kontuak +Comment[fi]=Lisää verkkotilisi +Comment[fr]=Ajouter vos comptes en ligne +Comment[gl]=Engadir as contas de Internet +Comment[hu]=Adja hozzá online fiókjait +Comment[ia]=Adde tu contos in linea +Comment[it]=Aggiungi i tuoi account online +Comment[ko]=내 온라인 계정 추가 +Comment[lt]=Pridėti savo internetines paskyras +Comment[nl]=Uw online accounts toevoegen +Comment[nn]=Legg til nettkontoar +Comment[pa]=ਆਪਣੇ ਆਨਲਾਈਨ ਖਾਤੇ ਜੋੜੋ +Comment[pl]=Dodaj swoje konta internetowe +Comment[pt]=Adicione as Suas Contas 'Online' +Comment[pt_BR]=Adicione suas contas online +Comment[ro]=Adăugați-vă conturile online +Comment[ru]=Используйте свои учётные записи в Интернете +Comment[sk]=Pridajte svoje online účty +Comment[sl]=Dodaj vaš spletni računi +Comment[sv]=Lägg till dina nätkonton +Comment[uk]=Додавання ваших облікових записів +Comment[x-test]=xxAdd Your Online Accountsxx +Comment[zh_CN]=添加在线账户 +Comment[zh_TW]=新增線上帳號 + +Encoding=UTF-8 +Type=Service +Icon=applications-internet +X-KDE-ServiceTypes=KCModule +X-KDE-PluginInfo-Author=Martin Klapetek +X-KDE-PluginInfo-Email=mklapetek@kde.org +X-KDE-PluginInfo-Name=kcm_kaccounts +X-KDE-PluginInfo-Version=1.0 +X-KDE-PluginInfo-Website=https://plasma-mobile.org +X-KDE-PluginInfo-Category=Network +X-KDE-PluginInfo-License=GPL +X-KDE-PluginInfo-EnabledByDefault=true +X-KDE-FormFactors=desktop,handset,tablet,mediacenter +X-Plasma-MainScript=ui/Accounts.qml diff --git a/src/kded/CMakeLists.txt b/src/kded/CMakeLists.txt new file mode 100644 index 0000000..58aa702 --- /dev/null +++ b/src/kded/CMakeLists.txt @@ -0,0 +1,11 @@ +kcoreaddons_add_plugin( + kded_accounts + SOURCES kded_accounts.cpp + INSTALL_NAMESPACE "kf5/kded" +) + +target_link_libraries(kded_accounts + Qt5::Core + KF5::DBusAddons + kaccounts +) diff --git a/src/kded/kded_accounts.cpp b/src/kded/kded_accounts.cpp new file mode 100644 index 0000000..6c95e68 --- /dev/null +++ b/src/kded/kded_accounts.cpp @@ -0,0 +1,129 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "kded_accounts.h" +#include "kaccountsdplugin.h" +#include + +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include + +K_PLUGIN_CLASS_WITH_JSON(KDEDAccounts, "kded_accounts.json") + +KDEDAccounts::KDEDAccounts(QObject *parent, const QList &) + : KDEDModule(parent) +{ + QMetaObject::invokeMethod(this, "startDaemon", Qt::QueuedConnection); + connect(KAccounts::accountsManager(), &Accounts::Manager::accountCreated, this, &KDEDAccounts::accountCreated); + connect(KAccounts::accountsManager(), &Accounts::Manager::accountRemoved, this, &KDEDAccounts::accountRemoved); + + const QVector data = KPluginLoader::findPlugins(QStringLiteral("kaccounts/daemonplugins")); + for (const KPluginMetaData &metadata : data) { + if (!metadata.isValid()) { + qDebug() << "Invalid metadata" << metadata.name(); + continue; + } + + KPluginLoader loader(metadata.fileName()); + KPluginFactory *factory = loader.factory(); + + if (!factory) { + qDebug() << "KPluginFactory could not load the plugin:" << metadata.pluginId() << loader.errorString(); + continue; + } + + KAccountsDPlugin *plugin = factory->create(this, QVariantList()); + if (!plugin) { + qDebug() << "Error loading plugin" << metadata.name() << loader.errorString(); + continue; + } + + m_plugins << plugin; + } +} + +KDEDAccounts::~KDEDAccounts() +{ + qDeleteAll(m_plugins); +} + +void KDEDAccounts::startDaemon() +{ + qDebug(); + const Accounts::AccountIdList accList = KAccounts::accountsManager()->accountList(); + for (const Accounts::AccountId &id : accList) { + monitorAccount(id); + } +} + +void KDEDAccounts::monitorAccount(const Accounts::AccountId id) +{ + qDebug() << id; + Accounts::Account *acc = KAccounts::accountsManager()->account(id); + const Accounts::ServiceList services = acc->services(); + for (const Accounts::Service &service : services) { + acc->selectService(service); + } + acc->selectService(); + + connect(acc, &Accounts::Account::enabledChanged, this, &KDEDAccounts::enabledChanged); +} + +void KDEDAccounts::accountCreated(const Accounts::AccountId id) +{ + qDebug() << id; + monitorAccount(id); + + const Accounts::Account *acc = KAccounts::accountsManager()->account(id); + const Accounts::ServiceList services = acc->enabledServices(); + + for (KAccountsDPlugin *plugin : qAsConst(m_plugins)) { + plugin->onAccountCreated(id, services); + } +} + +void KDEDAccounts::accountRemoved(const Accounts::AccountId id) +{ + qDebug() << id; + + for (KAccountsDPlugin *plugin : qAsConst(m_plugins)) { + plugin->onAccountRemoved(id); + } +} + +void KDEDAccounts::enabledChanged(const QString &serviceName, bool enabled) +{ + qDebug(); + if (serviceName.isEmpty()) { + qDebug() << "ServiceName is Empty"; + return; + } + + const Accounts::AccountId accId = qobject_cast(sender())->id(); + + const Accounts::Service service = KAccounts::accountsManager()->service(serviceName); + if (!enabled) { + for (KAccountsDPlugin *plugin : qAsConst(m_plugins)) { + plugin->onServiceDisabled(accId, service); + } + } else { + for (KAccountsDPlugin *plugin : qAsConst(m_plugins)) { + plugin->onServiceEnabled(accId, service); + } + } +} + +#include "kded_accounts.moc" diff --git a/src/kded/kded_accounts.h b/src/kded/kded_accounts.h new file mode 100644 index 0000000..5fd318f --- /dev/null +++ b/src/kded/kded_accounts.h @@ -0,0 +1,37 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef ACCOUNTS_DAEMON_H +#define ACCOUNTS_DAEMON_H + +#include + +#include + +class KAccountsDPlugin; + +class KDEDAccounts : public KDEDModule +{ + Q_OBJECT + Q_CLASSINFO("D-Bus Interface", "org.kde.Accounts") + +public: + KDEDAccounts(QObject *parent, const QList &); + virtual ~KDEDAccounts(); + +public Q_SLOTS: + void startDaemon(); + void accountCreated(const Accounts::AccountId id); + void accountRemoved(const Accounts::AccountId id); + void enabledChanged(const QString &serviceName, bool enabled); + +private: + void monitorAccount(const Accounts::AccountId id); + + QList m_plugins; +}; + +#endif /*ACCOUNTS_DAEMON_H*/ diff --git a/src/kded/kded_accounts.json b/src/kded/kded_accounts.json new file mode 100644 index 0000000..4a10bdb --- /dev/null +++ b/src/kded/kded_accounts.json @@ -0,0 +1,80 @@ +{ + "KPlugin": { + "Description": "Accounts management", + "Description[ast]": "Xestión de cuentes", + "Description[az]": "İstiifadəçi Hesabları Meneceri", + "Description[ca@valencia]": "Gestor de comptes", + "Description[ca]": "Gestor de comptes", + "Description[cs]": "Správa účtů", + "Description[da]": "Håndtering af konti", + "Description[de]": "Zugangsverwaltung", + "Description[el]": "Διαχείριση λογαριασμών", + "Description[en_GB]": "Accounts management", + "Description[es]": "Gestión de cuentas", + "Description[et]": "Kontohaldus", + "Description[eu]": "Kontu kudeaketa", + "Description[fi]": "Tilien hallinta", + "Description[fr]": "Gestion des comptes", + "Description[gl]": "Xestión das contas", + "Description[hu]": "Fiókkezelés", + "Description[ia]": "Gestion de contos", + "Description[it]": "Gestione account", + "Description[ko]": "계정 관리", + "Description[lt]": "Paskyrų tvarkymas", + "Description[nl]": "Accountbeheer", + "Description[nn]": "Konto­handsaming", + "Description[pa]": "ਖਾਤਾ ਇੰਤਜ਼ਾਮ", + "Description[pl]": "Zarządzanie kontami", + "Description[pt]": "Gestão de contas", + "Description[pt_BR]": "Gerenciamento de contas", + "Description[ro]": "Gestiune conturi", + "Description[ru]": "Управление учётными записями", + "Description[sk]": "Správa účtov", + "Description[sl]": "Upravljanje računov", + "Description[sv]": "Kontohantering", + "Description[uk]": "Керування обліковими записами", + "Description[x-test]": "xxAccounts managementxx", + "Description[zh_CN]": "账户管理", + "Description[zh_TW]": "帳號管理", + "Name": "Accounts", + "Name[ast]": "Cuentes", + "Name[az]": "İstifadəçi Hesabları", + "Name[ca@valencia]": "Comptes", + "Name[ca]": "Comptes", + "Name[cs]": "Účty", + "Name[da]": "Konti", + "Name[de]": "Zugänge", + "Name[el]": "Λογαριασμοί", + "Name[en_GB]": "Accounts", + "Name[es]": "Cuentas", + "Name[et]": "Kontod", + "Name[eu]": "Kontuak", + "Name[fi]": "Tilit", + "Name[fr]": "Comptes", + "Name[gl]": "Contas", + "Name[hu]": "Fiókok", + "Name[ia]": "Contos", + "Name[it]": "Account", + "Name[ko]": "계정", + "Name[lt]": "Paskyros", + "Name[nl]": "Accounts", + "Name[nn]": "Kontoar", + "Name[pa]": "ਖਾਤੇ", + "Name[pl]": "Konta", + "Name[pt]": "Contas", + "Name[pt_BR]": "Contas", + "Name[ro]": "Conturi", + "Name[ru]": "Учётные записи", + "Name[sk]": "Účty", + "Name[sl]": "Accounts", + "Name[sv]": "Konton", + "Name[uk]": "Облікові записи", + "Name[x-test]": "xxAccountsxx", + "Name[zh_CN]": "账户", + "Name[zh_TW]": "帳號" + }, + "OnlyShowIn": "KDE;", + "X-KDE-Kded-autoload": true, + "X-KDE-Kded-phase": 1, + "X-KDE-ModuleType": "Library" +} diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt new file mode 100644 index 0000000..165ba32 --- /dev/null +++ b/src/lib/CMakeLists.txt @@ -0,0 +1,91 @@ +set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KAccounts") + +ecm_setup_version(${KACCOUNTS_VERSION} + VARIABLE_PREFIX KACCOUNTS + VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kaccounts_version.h" + PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KAccountsConfigVersion.cmake" + SOVERSION ${KACCOUNTS_SOVERSION}) + +set (kaccountslib_SRCS + accountsmodel.cpp + core.cpp + kaccountsdplugin.cpp + kaccountsuiplugin.cpp + providersmodel.cpp + servicesmodel.cpp + uipluginsmanager.cpp + + accountservicetogglejob.cpp + changeaccountdisplaynamejob.cpp + createaccountjob.cpp + getcredentialsjob.cpp + removeaccountjob.cpp +) + +ecm_generate_headers(kaccountslib_HEADERS + HEADER_NAMES + AccountsModel + Core + KAccountsUiPlugin + KAccountsDPlugin + ProvidersModel + ServicesModel + + AccountServiceToggleJob + ChangeAccountDisplayNameJob + CreateAccountJob + GetCredentialsJob + RemoveAccountJob + REQUIRED_HEADERS kaccountslib_HEADERS +) + +add_library(kaccounts ${kaccountslib_SRCS}) + +target_compile_definitions(kaccounts + PRIVATE + ACCOUNTSQT5_VERSION_MAJOR=${AccountsQt5_VERSION_MAJOR} + ACCOUNTSQT5_VERSION_MINOR=${AccountsQt5_VERSION_MINOR} +) + +generate_export_header(kaccounts BASE_NAME kaccounts) +target_link_libraries (kaccounts + PUBLIC + KF5::CoreAddons + KF5::I18n + ${ACCOUNTSQT_LIBRARIES} + Qt5::Xml + Qt5::Gui + PRIVATE + ${SIGNONQT_LIBRARIES} +) + +target_include_directories(kaccounts INTERFACE "$" PUBLIC "${ACCOUNTSQT_INCLUDE_DIRS}" PRIVATE "${SIGNONQT_INCLUDE_DIRS}") +set_target_properties(kaccounts PROPERTIES VERSION ${KACCOUNTS_VERSION} + SOVERSION ${KACCOUNTS_SOVERSION} + EXPORT_NAME KAccounts +) + +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/KAccountsConfig.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/KAccountsConfig.cmake" + INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} +) + +install(FILES + "KAccountsMacros.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/KAccountsConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/KAccountsConfigVersion.cmake" + DESTINATION "${CMAKECONFIG_INSTALL_DIR}" + COMPONENT Devel +) + +install(TARGETS kaccounts EXPORT KAccountsTargets ${INSTALL_TARGETS_DEFAULT_ARGS}) + +install(EXPORT KAccountsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KAccountsTargets.cmake ) #NAMESPACE KF5:: + +install (FILES + ${CMAKE_CURRENT_BINARY_DIR}/kaccounts_export.h + ${kaccountslib_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/kaccounts_version.h + DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KAccounts COMPONENT Devel +) diff --git a/src/lib/KAccountsConfig.cmake.in b/src/lib/KAccountsConfig.cmake.in new file mode 100644 index 0000000..69598d6 --- /dev/null +++ b/src/lib/KAccountsConfig.cmake.in @@ -0,0 +1,13 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) + +find_dependency(Qt5Widgets @QT_REQUIRED_VERSION@) +find_dependency(KF5CoreAddons @KF5_MIN_VERSION@) +find_dependency(AccountsQt5 @ACCOUNTSQT_DEP_VERSION@) +find_dependency(SignOnQt5 @SIGNONQT_DEP_VERSION@) + +include("${CMAKE_CURRENT_LIST_DIR}/KAccountsTargets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/KAccountsMacros.cmake") + +set(KACCOUNTS_MACROS_PATH "${CMAKE_CURRENT_LIST_DIR}") diff --git a/src/lib/KAccountsMacros.cmake b/src/lib/KAccountsMacros.cmake new file mode 100644 index 0000000..d279da6 --- /dev/null +++ b/src/lib/KAccountsMacros.cmake @@ -0,0 +1,37 @@ +function(kaccounts_add_provider provider_in_file) + if (NOT IS_ABSOLUTE "${provider_in_file}") + set(provider_in_file ${CMAKE_CURRENT_SOURCE_DIR}/${provider_in_file}) + endif() + + get_filename_component(provider_filename ${provider_in_file} NAME_WE) + set(provider_file ${CMAKE_CURRENT_BINARY_DIR}/${provider_filename}.provider) + find_program(INTLTOOL_MERGE intltool-merge) + if(NOT INTLTOOL_MERGE) + message(FATAL_ERROR "Could not find required intltool-merge executable.") + endif() + execute_process(COMMAND intltool-merge -x -u --no-translations ${provider_in_file} ${provider_file} RESULT_VARIABLE intltool_output ERROR_VARIABLE intltool_error) + if(NOT intltool_output EQUAL 0) + message(FATAL_ERROR "error processing ${provider_in_file}: ${intltool_output} ${intltool_error}") + endif() + # The suffix must match whatever we set for $XDG_CURRENT_DESKTOP + install(FILES ${provider_file} DESTINATION ${CMAKE_INSTALL_DATADIR}/accounts/providers/kde/) +endfunction() + +function(kaccounts_add_service service_file_in) + if (NOT IS_ABSOLUTE "${service_file_in}") + set(service_file_in ${CMAKE_CURRENT_SOURCE_DIR}/${service_file_in}) + endif() + + get_filename_component(service_filename ${service_file_in} NAME_WE) + set(service_file ${CMAKE_CURRENT_BINARY_DIR}/${service_filename}.service) + find_program(INTLTOOL_MERGE intltool-merge) + if(NOT INTLTOOL_MERGE) + message(FATAL_ERROR "Could not find required intltool-merge executable.") + endif() + execute_process(COMMAND intltool-merge -x -u --no-translations ${service_file_in} ${service_file} RESULT_VARIABLE intltool_output ERROR_VARIABLE intltool_error) + if(NOT intltool_output EQUAL 0) + message(FATAL_ERROR "error processing ${service_file_in}: ${intltool_output} ${intltool_error}") + endif() + # The suffix must match whatever we set for $XDG_CURRENT_DESKTOP + install(FILES ${service_file} DESTINATION ${CMAKE_INSTALL_DATADIR}/accounts/services/kde/) +endfunction() diff --git a/src/lib/accountservicetogglejob.cpp b/src/lib/accountservicetogglejob.cpp new file mode 100644 index 0000000..805cfc1 --- /dev/null +++ b/src/lib/accountservicetogglejob.cpp @@ -0,0 +1,131 @@ +/* + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "accountservicetogglejob.h" + +#include "core.h" +#include +#include + +class AccountServiceToggleJob::Private +{ +public: + Private() + { + } + QString accountId; + QString serviceId; + bool serviceEnabled{false}; +}; + +AccountServiceToggleJob::AccountServiceToggleJob(QObject *parent) + : KJob(parent) + , d(new Private) +{ +} + +AccountServiceToggleJob::~AccountServiceToggleJob() +{ + delete d; +} + +QString AccountServiceToggleJob::accountId() const +{ + return d->accountId; +} + +void AccountServiceToggleJob::setAccountId(const QString &accountId) +{ + d->accountId = accountId; + Q_EMIT accountIdChanged(); +} + +QString AccountServiceToggleJob::serviceId() const +{ + return d->serviceId; +} + +void AccountServiceToggleJob::setServiceId(const QString &serviceId) +{ + d->serviceId = serviceId; + Q_EMIT serviceIdChanged(); +} + +bool AccountServiceToggleJob::serviceEnabled() const +{ + return d->serviceEnabled; +} + +void AccountServiceToggleJob::setServiceEnabled(bool serviceEnabled) +{ + d->serviceEnabled = serviceEnabled; + Q_EMIT serviceEnabledChanged(); +} + +void AccountServiceToggleJob::start() +{ + Accounts::Manager *accountsManager = KAccounts::accountsManager(); + if (accountsManager) { + Accounts::Account *account = accountsManager->account(d->accountId.toInt()); + if (account) { + Accounts::Service service = accountsManager->service(d->serviceId); + if (!service.isValid()) { + // qWarning() << "Looks like we might have been given a name instead of an ID for the service, which will be expected when using the Ubuntu + // AccountServiceModel, which only gives you the name"; + const auto services = account->services(); + for (const Accounts::Service &aService : services) { + if (aService.displayName() == d->serviceId) { + service = aService; + break; + } + } + } + if (service.isValid()) { + account->selectService(service); + account->setEnabled(d->serviceEnabled); + + if (d->serviceEnabled) { + account->selectService(); + account->setEnabled(true); + } else { + bool shouldStayEnabled = false; + const auto services = account->services(); + for (const Accounts::Service &accountService : services) { + // Skip the current service, that is not synced to the account yet + // so it would return the state before the user clicked the checkbox + if (accountService == service) { + continue; + } + account->selectService(accountService); + if (account->isEnabled()) { + // At least one service is enabled, leave the account enabled + shouldStayEnabled = true; + break; + } + } + + // Make sure we're operating on the global account + account->selectService(); + account->setEnabled(shouldStayEnabled); + } + + connect(account, &Accounts::Account::synced, this, [this]() { + emitResult(); + }); + account->sync(); + } else { + qWarning() << "No service found with the ID" << d->serviceId << "on account" << account->displayName(); + emitResult(); + } + } else { + qWarning() << "No account found with the ID" << d->accountId; + emitResult(); + } + } else { + qWarning() << "No accounts manager, this is not awesome."; + emitResult(); + } +} diff --git a/src/lib/accountservicetogglejob.h b/src/lib/accountservicetogglejob.h new file mode 100644 index 0000000..5d3b626 --- /dev/null +++ b/src/lib/accountservicetogglejob.h @@ -0,0 +1,49 @@ +/* + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef ACCOUNTSERVICETOGGLE_H +#define ACCOUNTSERVICETOGGLE_H + +#include "kaccounts_export.h" + +#include + +#include + +/** + * @brief A job used to change the enabled state of a specific service on a specific account + */ +class KACCOUNTS_EXPORT AccountServiceToggleJob : public KJob +{ + Q_OBJECT + Q_PROPERTY(QString accountId READ accountId WRITE setAccountId NOTIFY accountIdChanged) + Q_PROPERTY(QString serviceId READ serviceId WRITE setServiceId NOTIFY serviceIdChanged) + Q_PROPERTY(bool serviceEnabled READ serviceEnabled WRITE setServiceEnabled NOTIFY serviceEnabledChanged) +public: + explicit AccountServiceToggleJob(QObject *parent = nullptr); + virtual ~AccountServiceToggleJob(); + + void start() override; + + QString accountId() const; + void setAccountId(const QString &accountId); + Q_SIGNAL void accountIdChanged(); + + QString serviceId() const; + void setServiceId(const QString &serviceId); + Q_SIGNAL void serviceIdChanged(); + + bool serviceEnabled() const; + void setServiceEnabled(bool serviceEnabled); + +Q_SIGNALS: + void serviceEnabledChanged(); + +private: + class Private; + Private *d; +}; +#endif // ACCOUNTSERVICETOGGLE_H diff --git a/src/lib/accountsmodel.cpp b/src/lib/accountsmodel.cpp new file mode 100644 index 0000000..d48d174 --- /dev/null +++ b/src/lib/accountsmodel.cpp @@ -0,0 +1,175 @@ +/* + * SPDX-FileCopyrightText: 2012 Alejandro Fiestas Olivares + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "accountsmodel.h" + +#include "core.h" +#include "servicesmodel.h" + +#include + +#include +#include + +#include + +#include +#include + +class AccountsModel::Private : public QObject +{ +public: + Private(AccountsModel *model) + : accountsManager(KAccounts::accountsManager()) + , q(model) + { + accountIDs = accountsManager->accountList(); + + connect(accountsManager, &Accounts::Manager::accountCreated, q, [this](Accounts::AccountId accountId) { + int row = accountIDs.count(); + q->beginInsertRows(QModelIndex(), row, row); + accountIDs.insert(row, accountId); + q->endInsertRows(); + }); + connect(accountsManager, &Accounts::Manager::accountRemoved, q, [this](Accounts::AccountId accountId) { + q->beginRemoveRows(QModelIndex(), accountIDs.indexOf(accountId), accountIDs.indexOf(accountId)); + removeAccount(accountId); + q->endRemoveRows(); + }); + }; + virtual ~Private() + { + qDeleteAll(accounts); + }; + + Accounts::Manager *accountsManager; + Accounts::AccountIdList accountIDs; + QHash accounts; + QHash servicesModels; + + Accounts::Account *accountById(int id); + void removeAccount(Accounts::AccountId accountId); + +private: + AccountsModel *q; +}; + +Accounts::Account *AccountsModel::Private::accountById(int id) +{ + if (accounts.contains(id)) { + return accounts.value(id); + } + + // If we don't yet have this account cached, get it and connect it up to the model + Accounts::Account *account = accountsManager->account(id); + if (!account) { + qDebug() << "\t Failed to get the account from manager"; + return nullptr; + } + + connect(account, &Accounts::Account::displayNameChanged, q, [this, account]() { + QModelIndex accountIndex = q->index(accountIDs.indexOf(account->id())); + Q_EMIT q->dataChanged(accountIndex, accountIndex, QVector() << AccountsModel::DisplayNameRole); + }); + + accounts[id] = account; + return account; +} + +void AccountsModel::Private::removeAccount(Accounts::AccountId accountId) +{ + accountIDs.removeOne(accountId); + delete accounts.take(accountId); +} + +AccountsModel::AccountsModel(QObject *parent) + : QAbstractListModel(parent) + , d(new AccountsModel::Private(this)) +{ +} + +AccountsModel::~AccountsModel() +{ + delete d; +} + +QHash AccountsModel::roleNames() const +{ + static QHash roles{{IdRole, "id"}, + {ServicesRole, "services"}, + {EnabledRole, "enabled"}, + {CredentialsIdRole, "credentialsId"}, + {DisplayNameRole, "displayName"}, + {ProviderNameRole, "providerName"}, + {IconNameRole, "iconName"}, + {DataObjectRole, "dataObject"}}; + return roles; +} + +int AccountsModel::rowCount(const QModelIndex &parent) const +{ + if (parent.isValid()) { + return 0; + } + + return d->accountIDs.count(); +} + +QVariant AccountsModel::data(const QModelIndex &index, int role) const +{ + QVariant data; + if (checkIndex(index)) { + Accounts::AccountId accountId = d->accountIDs.value(index.row()); + Accounts::Account *account = d->accountById(accountId); + if (account) { + switch (role) { + case IdRole: + data.setValue(account->id()); + break; + case ServicesRole: { + ServicesModel *servicesModel{nullptr}; + if (d->servicesModels.contains(account)) { + servicesModel = d->servicesModels.value(account); + } else { + // Not parenting to the account itself, so we can avoid it suddenly + // disappearing. Just to be on the safe side + servicesModel = new ServicesModel(d->accountsManager); + servicesModel->setAccount(account); + d->servicesModels[account] = servicesModel; + } + data.setValue(servicesModel); + break; + } + case EnabledRole: + data.setValue(account->enabled()); + break; + case CredentialsIdRole: + data.setValue(account->credentialsId()); + break; + case DisplayNameRole: + data.setValue(account->displayName()); + break; + case ProviderNameRole: + data.setValue(account->providerName()); + break; + case IconNameRole: { + QString iconName = QStringLiteral("user-identity"); + if (account->provider().isValid() && !account->provider().iconName().isEmpty()) { + iconName = account->provider().iconName(); + } + data.setValue(iconName); + break; + } + case DataObjectRole: + data.setValue(account); + break; + } + } + } + + return data; +} diff --git a/src/lib/accountsmodel.h b/src/lib/accountsmodel.h new file mode 100644 index 0000000..dc2e95b --- /dev/null +++ b/src/lib/accountsmodel.h @@ -0,0 +1,60 @@ +/* + * SPDX-FileCopyrightText: 2012 Alejandro Fiestas Olivares + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef ACCOUNTS_MODEL_H +#define ACCOUNTS_MODEL_H + +#include "kaccounts_export.h" + +#include + +#include + +/** + * @brief A model representing all the accounts registered on a system + * + * # Roles + * + * The following role names are available in this model: + * + * * id: The internal ID of the account + * * services: A model which contains information about the services this account supports (see ServicesModel) + * * enabled: Whether or not this account is enabled + * * credentialsId: The internal ID for any stored credentials for this account + * * displayName: A human-readable name for this account (change this using ChangeAccountDisplayNameJob) + * * providerName: The internal name of the provider this account is registered through + * * iconName: An XDG Icon specification icon name + * * dataObject: The instance of Accounts::Account which the data for this account is fetched from + */ +class KACCOUNTS_EXPORT AccountsModel : public QAbstractListModel +{ + Q_OBJECT + +public: + enum Roles { + IdRole = Qt::UserRole + 1, + ServicesRole, + EnabledRole, + CredentialsIdRole, + DisplayNameRole, + ProviderNameRole, + IconNameRole, + DataObjectRole, + }; + explicit AccountsModel(QObject *parent = nullptr); + virtual ~AccountsModel(); + + QHash roleNames() const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + +private: + class Private; + Private *d; +}; + +#endif // ACCOUNTS_MODEL_H diff --git a/src/lib/changeaccountdisplaynamejob.cpp b/src/lib/changeaccountdisplaynamejob.cpp new file mode 100644 index 0000000..51c62f7 --- /dev/null +++ b/src/lib/changeaccountdisplaynamejob.cpp @@ -0,0 +1,84 @@ +/* + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "changeaccountdisplaynamejob.h" + +#include "core.h" +#include +#include +#include + +class ChangeAccountDisplayNameJob::Private +{ +public: + Private() + { + } + QString accountId; + QString displayName; +}; + +ChangeAccountDisplayNameJob::ChangeAccountDisplayNameJob(QObject *parent) + : KJob(parent) + , d(new Private) +{ +} + +ChangeAccountDisplayNameJob::~ChangeAccountDisplayNameJob() +{ + delete d; +} + +QString ChangeAccountDisplayNameJob::accountId() const +{ + return d->accountId; +} + +void ChangeAccountDisplayNameJob::setAccountId(const QString &accountId) +{ + d->accountId = accountId; + Q_EMIT accountIdChanged(); +} + +QString ChangeAccountDisplayNameJob::displayName() const +{ + return d->displayName; +} + +void ChangeAccountDisplayNameJob::setDisplayName(const QString &displayName) +{ + d->displayName = displayName; + Q_EMIT displayNameChanged(); +} + +void ChangeAccountDisplayNameJob::start() +{ + if (!d->displayName.isEmpty()) { + Accounts::Manager *accountsManager = KAccounts::accountsManager(); + if (accountsManager) { + Accounts::Account *account = accountsManager->account(d->accountId.toInt()); + if (account) { + account->setDisplayName(d->displayName); + connect(account, &Accounts::Account::synced, this, [this]() { + emitResult(); + }); + account->sync(); + } else { + qWarning() << "No account found with the ID" << d->accountId; + setErrorText(i18n("No account found with the ID %1").arg(d->accountId)); + emitResult(); + } + } else { + qWarning() << "No accounts manager, this is not awesome."; + setErrorText(i18n("No accounts manager, this is not awesome.")); + emitResult(); + } + } else { + qWarning() << "Setting an account display name to empty is a terrible idea, and we refuse to do that"; + setErrorText(i18n("The display name cannot be empty")); + emitResult(); + } +} diff --git a/src/lib/changeaccountdisplaynamejob.h b/src/lib/changeaccountdisplaynamejob.h new file mode 100644 index 0000000..231bd1d --- /dev/null +++ b/src/lib/changeaccountdisplaynamejob.h @@ -0,0 +1,45 @@ +/* + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef CHANGEACCOUNTDISPLAYNAMEJOB_H +#define CHANGEACCOUNTDISPLAYNAMEJOB_H + +#include "kaccounts_export.h" + +#include + +#include + +/** + * @brief A job used to change the human-readable name of a specified account + * + * This job will refuse to change the name to something empty (while it is technically + * possible to do so for an account, it is highly undesirable) + */ +class KACCOUNTS_EXPORT ChangeAccountDisplayNameJob : public KJob +{ + Q_OBJECT + Q_PROPERTY(QString accountId READ accountId WRITE setAccountId NOTIFY accountIdChanged) + Q_PROPERTY(QString displayName READ displayName WRITE setDisplayName NOTIFY displayNameChanged) +public: + explicit ChangeAccountDisplayNameJob(QObject *parent = nullptr); + virtual ~ChangeAccountDisplayNameJob(); + + void start() override; + + QString accountId() const; + void setAccountId(const QString &accountId); + Q_SIGNAL void accountIdChanged(); + + QString displayName() const; + void setDisplayName(const QString &displayName); + Q_SIGNAL void displayNameChanged(); + +private: + class Private; + Private *d; +}; +#endif // CHANGEACCOUNTDISPLAYNAMEJOB_H diff --git a/src/lib/core.cpp b/src/lib/core.cpp new file mode 100644 index 0000000..f8ae928 --- /dev/null +++ b/src/lib/core.cpp @@ -0,0 +1,29 @@ +/* + * Copyright 2014 (C) Martin Klapetek + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + * + */ + +#include "core.h" + +#include + +class CorePrivate +{ +public: + CorePrivate(); + Accounts::Manager *m_manager; +}; + +CorePrivate::CorePrivate() + : m_manager(new Accounts::Manager()) +{ +} + +Q_GLOBAL_STATIC(CorePrivate, s_instance) + +Accounts::Manager *KAccounts::accountsManager() +{ + return s_instance->m_manager; +} diff --git a/src/lib/core.h b/src/lib/core.h new file mode 100644 index 0000000..7ae1f19 --- /dev/null +++ b/src/lib/core.h @@ -0,0 +1,29 @@ +/* + * Copyright 2014 (C) Martin Klapetek + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + * + */ + +#ifndef KACCOUNTS_CORE_H +#define KACCOUNTS_CORE_H + +#include "kaccounts_export.h" + +namespace Accounts +{ +class Manager; +} + +namespace KAccounts +{ +/** + * Returns a single instance of Accounts::Manager + * + * Always use this in your application if you need Accounts::Manager + * as multiple managers can lead to concurrency issues + * with the backend + */ +KACCOUNTS_EXPORT Accounts::Manager *accountsManager(); +} +#endif diff --git a/src/lib/createaccountjob.cpp b/src/lib/createaccountjob.cpp new file mode 100644 index 0000000..cc1de32 --- /dev/null +++ b/src/lib/createaccountjob.cpp @@ -0,0 +1,234 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ +#include "createaccountjob.h" + +#include "core.h" +#include "kaccountsuiplugin.h" +#include "uipluginsmanager.h" + +#include +#include +#include + +#include +#include + +#include +#include + +#include + +CreateAccountJob::CreateAccountJob(QObject *parent) + : CreateAccountJob(QString(), parent) +{ +} + +CreateAccountJob::CreateAccountJob(const QString &providerName, QObject *parent) + : KJob(parent) + , m_providerName(providerName) + , m_manager(new Accounts::Manager(this)) +{ +} + +void CreateAccountJob::start() +{ + qDebug() << m_providerName; + QMetaObject::invokeMethod(this, "processSession"); +} + +void CreateAccountJob::processSession() +{ + m_account = m_manager->createAccount(m_providerName); + Accounts::Service service; + if (m_account->services().size() == 1) { + service = m_account->services().at(0); + } + m_accInfo = new Accounts::AccountService(m_account, service, this); + + const QString pluginName = m_account->provider().pluginName(); + qDebug() << "Looking for plugin" << pluginName; + if (!pluginName.isEmpty()) { + loadPluginAndShowDialog(pluginName); + } else { + SignOn::IdentityInfo info; + info.setCaption(m_providerName); + info.setAccessControlList({QStringLiteral("*")}); + info.setType(SignOn::IdentityInfo::Application); + info.setStoreSecret(true); + + m_identity = SignOn::Identity::newIdentity(info, this); + m_identity->storeCredentials(); + + connect(m_identity, &SignOn::Identity::info, this, &CreateAccountJob::info); + connect(m_identity, &SignOn::Identity::error, [=](const SignOn::Error &err) { + qDebug() << "Error storing identity:" << err.message(); + }); + + QVariantMap data = m_accInfo->authData().parameters(); + data.insert(QStringLiteral("Embedded"), false); + + SignOn::SessionData sessionData(data); + SignOn::AuthSessionP session = m_identity->createSession(m_accInfo->authData().method()); + qDebug() << "Starting auth session with" << m_accInfo->authData().method(); + connect(session, &SignOn::AuthSession::error, this, &CreateAccountJob::sessionError); + connect(session, &SignOn::AuthSession::response, this, &CreateAccountJob::sessionResponse); + + session->process(sessionData, m_accInfo->authData().mechanism()); + } +} + +void CreateAccountJob::loadPluginAndShowDialog(const QString &pluginName) +{ + KAccountsUiPlugin *ui = KAccounts::UiPluginsManager::pluginForName(pluginName); + + if (!ui) { + qDebug() << "Plugin could not be loaded"; + pluginError(i18nc("The %1 is for plugin name, eg. Could not load UI plugin", "Could not load %1 plugin, please check your installation", pluginName)); + return; + } + + connect(ui, &KAccountsUiPlugin::success, this, &CreateAccountJob::pluginFinished, Qt::UniqueConnection); + connect(ui, &KAccountsUiPlugin::error, this, &CreateAccountJob::pluginError, Qt::UniqueConnection); + connect(ui, &KAccountsUiPlugin::canceled, this, &CreateAccountJob::pluginCancelled, Qt::UniqueConnection); + + ui->setProviderName(m_providerName); + ui->init(KAccountsUiPlugin::NewAccountDialog); +} + +void CreateAccountJob::pluginFinished(const QString &screenName, const QString &secret, const QVariantMap &data) +{ + // Set up the new identity + SignOn::IdentityInfo info; + info.setStoreSecret(true); + info.setUserName(screenName); + info.setSecret(secret, true); + info.setCaption(m_providerName); + info.setAccessControlList(QStringList(QStringLiteral("*"))); + info.setType(SignOn::IdentityInfo::Application); + + const auto keys = data.keys(); + for (const QString &key : keys) { + // If a key with __service/ prefix exists and its value is false, + // add it to m_disabledServices which will later be used for disabling + // the services contained in that list + if (key.startsWith(QLatin1String("__service/")) && !data.value(key).toBool()) { + m_disabledServices << key.mid(10); + } + m_account->setValue(key, data.value(key).toString()); + } + + m_identity = SignOn::Identity::newIdentity(info, this); + connect(m_identity, &SignOn::Identity::info, this, &CreateAccountJob::info); + + m_done = true; + + connect(m_identity, &SignOn::Identity::credentialsStored, m_identity, &SignOn::Identity::queryInfo); + m_identity->storeCredentials(); +} + +void CreateAccountJob::pluginError(const QString &error) +{ + if (error.isEmpty()) { + setError(-1); + } else { + setError(KJob::UserDefinedError); + } + setErrorText(error); + // Delete the dialog + emitResult(); +} + +void CreateAccountJob::pluginCancelled() +{ + setError(KJob::KilledJobError); + setErrorText(i18n("Cancelled by user")); + + emitResult(); +} + +void CreateAccountJob::sessionResponse(const SignOn::SessionData & /*data*/) +{ + qDebug() << "Received session response"; + + m_done = true; + m_identity->queryInfo(); +} + +void CreateAccountJob::info(const SignOn::IdentityInfo &info) +{ + qDebug() << "Info:"; + qDebug() << "\tId:" << info.id(); + qDebug() << "\tcaption:" << info.caption(); + qDebug() << "\towner:" << info.owner(); + qDebug() << "\tuserName:" << info.userName(); + + if (!m_done) { + return; + } + + m_account->selectService(); + + if (m_account->displayName().isEmpty()) { + if (info.userName().isEmpty()) { + // info.userName() can be empty, see bug#414219 + m_account->setDisplayName(QStringLiteral("%1%2").arg(info.caption()).arg(info.id())); + } else { + m_account->setDisplayName(info.userName()); + } + } + m_account->setValue(QStringLiteral("username"), info.userName()); + m_account->setCredentialsId(info.id()); + + Accounts::AuthData authData = m_accInfo->authData(); + m_account->setValue(QStringLiteral("auth/mechanism"), authData.mechanism()); + m_account->setValue(QStringLiteral("auth/method"), authData.method()); + + QString base = QStringLiteral("auth/"); + base.append(authData.method()); + base.append(QLatin1Char('/')); + base.append(authData.mechanism()); + base.append(QLatin1Char('/')); + + QVariantMap data = authData.parameters(); + QMapIterator i(data); + while (i.hasNext()) { + i.next(); + m_account->setValue(base + i.key(), i.value()); + } + + const Accounts::ServiceList services = m_account->services(); + for (const Accounts::Service &service : services) { + m_account->selectService(service); + m_account->setEnabled(m_disabledServices.contains(service.name()) ? false : true); + } + + m_account->selectService(); + m_account->setEnabled(true); + m_account->sync(); + connect(m_account, &Accounts::Account::synced, this, &CreateAccountJob::emitResult); +} + +void CreateAccountJob::sessionError(const SignOn::Error &signOnError) +{ + if (error()) { + // Guard against SignOn sending two error() signals + return; + } + qWarning() << "Error:"; + qWarning() << "\t" << signOnError.message(); + + setError(KJob::UserDefinedError); + setErrorText(i18n("There was an error while trying to process the request: %1", signOnError.message())); + emitResult(); +} + +void CreateAccountJob::setProviderName(const QString &name) +{ + if (m_providerName != name) { + m_providerName = name; + Q_EMIT providerNameChanged(); + } +} diff --git a/src/lib/createaccountjob.h b/src/lib/createaccountjob.h new file mode 100644 index 0000000..b1f4d1e --- /dev/null +++ b/src/lib/createaccountjob.h @@ -0,0 +1,71 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef CREATE_ACCOUNT_JOB_H +#define CREATE_ACCOUNT_JOB_H + +#include "kaccounts_export.h" + +#include + +#include + +namespace Accounts +{ +class Account; +class Manager; +class AccountService; +} +namespace SignOn +{ +class Error; +class Identity; +class SessionData; +class IdentityInfo; +} + +/** + * @brief Create a new account for the specified provider + */ +class KACCOUNTS_EXPORT CreateAccountJob : public KJob +{ + Q_OBJECT + Q_PROPERTY(QString providerName READ providerName WRITE setProviderName NOTIFY providerNameChanged) +public: + explicit CreateAccountJob(QObject *parent = nullptr); + explicit CreateAccountJob(const QString &providerName, QObject *parent = nullptr); + + QString providerName() const + { + return m_providerName; + } + void setProviderName(const QString &name); + void start() override; + +private Q_SLOTS: + void processSession(); + void sessionError(const SignOn::Error &signOnError); + void sessionResponse(const SignOn::SessionData &data); + void info(const SignOn::IdentityInfo &info); + void pluginFinished(const QString &screenName, const QString &secret, const QVariantMap &map); + void pluginError(const QString &error); + void pluginCancelled(); + +Q_SIGNALS: + void providerNameChanged(); + +private: + void loadPluginAndShowDialog(const QString &pluginName); + + QString m_providerName; + QStringList m_disabledServices; + Accounts::Manager *m_manager = nullptr; + Accounts::Account *m_account = nullptr; + Accounts::AccountService *m_accInfo = nullptr; + SignOn::Identity *m_identity = nullptr; + bool m_done = false; +}; +#endif // CREATE_ACCOUNT_JOB_H diff --git a/src/lib/getcredentialsjob.cpp b/src/lib/getcredentialsjob.cpp new file mode 100644 index 0000000..b5c47c3 --- /dev/null +++ b/src/lib/getcredentialsjob.cpp @@ -0,0 +1,145 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ +#include "getcredentialsjob.h" +#include "core.h" + +#include +#include +#include + +#include + +#include + +#include +#include + +class GetCredentialsJob::Private +{ +public: + Private(GetCredentialsJob *job) + { + q = job; + } + + QString serviceType; + QString authMechanism; + QString authMethod; + Accounts::AccountId id; + QVariantMap authData; + Accounts::Manager *manager; + SignOn::SessionData sessionData; + uint repeatedTries; + GetCredentialsJob *q; + + void getCredentials(); +}; + +void GetCredentialsJob::Private::getCredentials() +{ + Accounts::Account *acc = manager->account(id); + if (!acc) { + qWarning() << "Unable to find account for id" << id; + if (repeatedTries < 3) { + qDebug() << "Retrying in 2s"; + QTimer::singleShot(2000, q, SLOT(getCredentials())); + repeatedTries++; + } else { + qDebug() << repeatedTries << "ending with error"; + q->setError(KJob::UserDefinedError); + q->setErrorText(i18n("Could not find account")); + q->emitResult(); + } + return; + } + + Accounts::AccountService *service = new Accounts::AccountService(acc, manager->service(serviceType), q); + + Accounts::AuthData serviceAuthData = service->authData(); + authData = serviceAuthData.parameters(); + SignOn::Identity *identity = SignOn::Identity::existingIdentity(acc->credentialsId(), q); + + if (!identity) { + qWarning() << "Unable to find identity for account id" << id; + q->setError(KJob::UserDefinedError); + q->setErrorText(i18n("Could not find credentials")); + q->emitResult(); + return; + } + + authData[QStringLiteral("AccountUsername")] = acc->value(QStringLiteral("username")).toString(); + QPointer authSession = identity->createSession(authMethod.isEmpty() ? serviceAuthData.method() : authMethod); + if (!authSession) { + qWarning() << "Unable to create auth session for" << authMethod << serviceAuthData.method(); + q->setError(KJob::UserDefinedError); + q->setErrorText(i18n("Could not create auth session")); + q->emitResult(); + return; + } + + QObject::connect(authSession.data(), &SignOn::AuthSession::response, q, [this](const SignOn::SessionData &data) { + sessionData = data; + q->emitResult(); + }); + + QObject::connect(authSession.data(), &SignOn::AuthSession::error, q, [this](const SignOn::Error &error) { + qDebug() << error.message(); + q->setError(KJob::UserDefinedError); + q->setErrorText(error.message()); + q->emitResult(); + }); + + authSession->process(serviceAuthData.parameters(), authMechanism.isEmpty() ? serviceAuthData.mechanism() : authMechanism); +} + +GetCredentialsJob::GetCredentialsJob(Accounts::AccountId id, QObject *parent) + : KJob(parent) + , d(new Private(this)) +{ + d->id = id; + d->manager = KAccounts::accountsManager(); + d->repeatedTries = 0; + d->serviceType = QString(); +} + +GetCredentialsJob::GetCredentialsJob(Accounts::AccountId id, const QString &authMethod, const QString &authMechanism, QObject *parent) + : KJob(parent) + , d(new Private(this)) +{ + d->id = id; + d->manager = KAccounts::accountsManager(); + d->authMechanism = authMechanism; + d->authMethod = authMethod; + d->repeatedTries = 0; + d->serviceType = QString(); +} + +GetCredentialsJob::~GetCredentialsJob() +{ + delete d; +} + +void GetCredentialsJob::start() +{ + QMetaObject::invokeMethod(this, "getCredentials", Qt::QueuedConnection); +} + +void GetCredentialsJob::setServiceType(const QString &serviceType) +{ + d->serviceType = serviceType; +} + +Accounts::AccountId GetCredentialsJob::accountId() const +{ + return d->id; +} + +QVariantMap GetCredentialsJob::credentialsData() const +{ + return d->sessionData.toMap().unite(d->authData); +} + +#include "moc_getcredentialsjob.cpp" diff --git a/src/lib/getcredentialsjob.h b/src/lib/getcredentialsjob.h new file mode 100644 index 0000000..752735d --- /dev/null +++ b/src/lib/getcredentialsjob.h @@ -0,0 +1,83 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: LGPL-2.0-or-later + */ + +#ifndef GET_CREDENTIALS_JOB_H +#define GET_CREDENTIALS_JOB_H + +#include "kaccounts_export.h" + +#include +#include + +namespace Accounts +{ +class Manager; +} + +/** + * @brief A KJob for obtaining user's credentials for the given Accounts::AccountId + */ +class KACCOUNTS_EXPORT GetCredentialsJob : public KJob +{ + Q_OBJECT +public: + /** + * Constructs the job with auth method and mechanism coming from the service + * type. If no service type is specified, the default will be used + * + * @param id AccountId for which the credentials will be obtained + */ + explicit GetCredentialsJob(Accounts::AccountId id, QObject *parent = nullptr); + /** + * This version of the constructor allow passing specific auth method and mechanism + * for which we want the credentials + * + * For example some account has OAuth token and username-password credentials, + * by setting both method and mechanism to "password", only the password will be + * retrieved. Otherwise it depends on the passed serviceType - if there's no serviceType + * set, it will use the default service for the given AccountId and will obtain + * the credentials needed for that service + * + * @param id AccountId for which the credentials will be obtained + * @param authMethod Auth method for which the credentials will be obtained + * @param authMechanism Auth mechanism for which the credentials will be obtained + */ + GetCredentialsJob(Accounts::AccountId id, const QString &authMethod = QString(), const QString &authMechanism = QString(), QObject *parent = nullptr); + + ~GetCredentialsJob(); + /** + * Starts the credentials job + */ + void start() override; + + /** + * Set service for which the auth method and mechanism will be selected + * + * @param serviceType Account's service type + */ + void setServiceType(const QString &serviceType); + + /** + * The obtained credentials data + * + * This will be valid only after the job has finished + * + * @returns Map with the credentials + */ + QVariantMap credentialsData() const; + + /** + * @returns Account id for which the credentials are obtained + */ + Accounts::AccountId accountId() const; + +private: + class Private; + Private *const d; + Q_PRIVATE_SLOT(d, void getCredentials()) +}; + +#endif // GET_CREDENTIALS_JOB_H diff --git a/src/lib/kaccountsdplugin.cpp b/src/lib/kaccountsdplugin.cpp new file mode 100644 index 0000000..be5e3c6 --- /dev/null +++ b/src/lib/kaccountsdplugin.cpp @@ -0,0 +1,17 @@ +/* + * SPDX-FileCopyrightText: 2014 Martin Klapetek + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + * + */ + +#include "kaccountsdplugin.h" + +KAccountsDPlugin::KAccountsDPlugin(QObject *parent, const QVariantList & /*args*/) + : QObject(parent) +{ +} + +KAccountsDPlugin::~KAccountsDPlugin() +{ +} diff --git a/src/lib/kaccountsdplugin.h b/src/lib/kaccountsdplugin.h new file mode 100644 index 0000000..b042e4c --- /dev/null +++ b/src/lib/kaccountsdplugin.h @@ -0,0 +1,79 @@ +/* + * SPDX-FileCopyrightText: 2014 Martin Klapetek + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + * + */ + +#ifndef KACCOUNTSDPLUGIN_H +#define KACCOUNTSDPLUGIN_H + +#include "kaccounts_export.h" + +#include +#include +#include + +/** + * Plugin for KAccounts daemon + * + * The plugin is loaded into the KAccounts daemon (a module in KDED) + * and listens for events - new account created, account removed, + * account service enabled and service disabled, allowing to execute + * specialized actions with certain accounts and services. + * + * Each plugin should be accompanied by a provider file (if one doesn't + * exist yet, like Google) and a service file describing the details + * of the service. See AccountsQt docs for details. + * + * An example - you have an application that is working with calendars. + * You write a plugin by extending this class. Then you add a Google + * account into KAccounts and onAccountCreated in your plugin gets called. + * Now your plugin must check if it is interested in the account that was added + * and/or the services that come with it. If yes, you can set up the calendar + * in your application in this method, using the Google OAuth token from KAccounts. + * When the Calendar service gets disabled for Google account, your plugin + * should disable the Google calendar in your application. + */ +class KACCOUNTS_EXPORT KAccountsDPlugin : public QObject +{ + Q_OBJECT + +public: + KAccountsDPlugin(QObject *parent, const QVariantList &args); + virtual ~KAccountsDPlugin(); + +public Q_SLOTS: + /** + * Slot that will get called in the event of new account being created + * + * @param accountId Id of the newly created account (it's quint32) + * @param serviceList List of services that the account has + */ + virtual void onAccountCreated(const Accounts::AccountId accountId, const Accounts::ServiceList &serviceList) = 0; + + /** + * Slot for events of account removal + * + * @param accountId Id of the account that got removed + */ + virtual void onAccountRemoved(const Accounts::AccountId accountId) = 0; + + /** + * Slot that handles account's service being enabled + * + * @param accountId Id of the account of which the service status changed + * @param service The service that got enabled + */ + virtual void onServiceEnabled(const Accounts::AccountId accountId, const Accounts::Service &service) = 0; + + /** + * Slot that handles account's service being disabled + * + * @param accountId Id of the account of which the service status changed + * @param service The service that got disabled + */ + virtual void onServiceDisabled(const Accounts::AccountId accountId, const Accounts::Service &service) = 0; +}; + +#endif // KACCOUNTSDPLUGIN_H diff --git a/src/lib/kaccountsuiplugin.cpp b/src/lib/kaccountsuiplugin.cpp new file mode 100644 index 0000000..66f4d8d --- /dev/null +++ b/src/lib/kaccountsuiplugin.cpp @@ -0,0 +1,27 @@ +/* + * SPDX-FileCopyrightText: 2014 Martin Klapetek + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + * + */ + +#include "kaccountsuiplugin.h" + +#include +#include + +KAccountsUiPlugin::KAccountsUiPlugin(QObject *parent) + : QObject(parent) +{ +} + +KAccountsUiPlugin::~KAccountsUiPlugin() +{ +} + +QWindow *KAccountsUiPlugin::transientParent() const +{ + return property("transientParent").value(); +} + +#include "moc_kaccountsuiplugin.cpp" diff --git a/src/lib/kaccountsuiplugin.h b/src/lib/kaccountsuiplugin.h new file mode 100644 index 0000000..e4be150 --- /dev/null +++ b/src/lib/kaccountsuiplugin.h @@ -0,0 +1,94 @@ +/* + * SPDX-FileCopyrightText: 2014 Martin Klapetek + * + * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + * + */ + +#ifndef KACCOUNTSUIPLUGIN_H +#define KACCOUNTSUIPLUGIN_H + +#include "kaccounts_export.h" + +#include + +class QWindow; + +class KACCOUNTS_EXPORT KAccountsUiPlugin : public QObject +{ + Q_OBJECT + +public: + enum UiType { + NewAccountDialog, + ConfigureAccountDialog, + }; + + explicit KAccountsUiPlugin(QObject *parent = nullptr); + virtual ~KAccountsUiPlugin(); + + virtual void init(UiType type) = 0; + + /** + * Sets the selected Accounts-SSO provider to the plugin + */ + virtual void setProviderName(const QString &providerName) = 0; + + /** + * Called when the dialog for creating new account should show + */ + virtual void showNewAccountDialog() = 0; + + /** + * Called when an existing account should be configured + * @param accountId The ID of the account that should be configured + */ + virtual void showConfigureAccountDialog(const quint32 accountId) = 0; + + /** + * Returns a list of services which this plugin supports + * configuration of, for example "IM" supports config + * of IM/KTp accounts + */ + virtual QStringList supportedServicesForConfig() const = 0; + + QWindow *transientParent() const; + +Q_SIGNALS: + /** + * Sometimes the plugins might take time to initialize the UI + * completely, whenever they are ready, this signal should be + * emitted to tell kaccounts that the plugin is ready to display + * the dialog + */ + void uiReady(); + + /** + * This should be emitted when the plugin finishes building the UI + * for configuring the selected account + */ + void configUiReady(); + + /** + * Emitted when user successfully authenticated using this plugin + * The params are the username & password that the user used to + * authenticate themselves and any additional data that might be needed + */ + void success(const QString &username, const QString &password, const QVariantMap &additionalData); + + /** + * Emitted when there has been an error during the authentication + * + * @param errorString The error that has occurred + */ + void error(const QString &errorString); + + /** + * Emitted when the user cancels the account creation + */ + void canceled(); +}; + +Q_DECLARE_INTERFACE(KAccountsUiPlugin, "org.kde.kaccounts.UiPlugin") + +#endif // KACCOUNTSUIPLUGIN_H diff --git a/src/lib/providersmodel.cpp b/src/lib/providersmodel.cpp new file mode 100644 index 0000000..e07e3e6 --- /dev/null +++ b/src/lib/providersmodel.cpp @@ -0,0 +1,107 @@ +/* + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ +#include "providersmodel.h" + +#include "core.h" + +#include +#include + +class ProvidersModel::Private +{ +public: + Private() + { + } + Accounts::Manager *accountsManager{nullptr}; + + const Accounts::ProviderList &providerList() + { + if (!accountsManager) { + accountsManager = KAccounts::accountsManager(); + providers = accountsManager->providerList(); + } + return providers; + } + +private: + Accounts::ProviderList providers; +}; + +ProvidersModel::ProvidersModel(QObject *parent) + : QAbstractListModel(parent) + , d(new Private) +{ +} + +ProvidersModel::~ProvidersModel() +{ + delete d; +} + +QHash ProvidersModel::roleNames() const +{ + static const QHash roleNames{ + {NameRole, "name"}, + {DisplayNameRole, "displayName"}, + {DescriptionRole, "description"}, + {IconNameRole, "iconName"}, + {SupportsMultipleAccountsRole, "supportsMultipleAccounts"}, + {AccountsCountRole, "accountsCount"}, + }; + return roleNames; +} + +int ProvidersModel::rowCount(const QModelIndex &parent) const +{ + if (parent.isValid()) { + return 0; + } + return d->providerList().count(); +} + +QVariant ProvidersModel::data(const QModelIndex &index, int role) const +{ + QVariant data; + if (checkIndex(index)) { + const Accounts::Provider &provider = d->providerList().value(index.row()); + if (provider.isValid()) { + switch (role) { + case NameRole: + data.setValue(provider.name()); + break; + case DisplayNameRole: + data.setValue(provider.displayName()); + break; + case DescriptionRole: + data.setValue(provider.description()); + break; + case IconNameRole: + data.setValue(provider.iconName()); + break; + case SupportsMultipleAccountsRole: + data.setValue(!provider.isSingleAccount()); + break; + case AccountsCountRole: { + const Accounts::AccountIdList accounts = d->accountsManager->accountList(); + int i{0}; + for (const Accounts::AccountId &accountId : accounts) { + Accounts::Account *account = d->accountsManager->account(accountId); + if (account->providerName() == provider.name()) { + ++i; + } + } + data.setValue(i); + break; + } + default: + data.setValue(QStringLiteral("No such role: %1").arg(role)); + break; + } + } + } + return data; +} diff --git a/src/lib/providersmodel.h b/src/lib/providersmodel.h new file mode 100644 index 0000000..7e53f48 --- /dev/null +++ b/src/lib/providersmodel.h @@ -0,0 +1,52 @@ +/* + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef PROVIDERS_MODEL_H +#define PROVIDERS_MODEL_H + +#include "kaccounts_export.h" + +#include + +/** + * @brief A model which represents the available providers + * + * # Roles + * + * The role names available in this model are: + * + * * name: The internal name identifying this provider + * * displayName: The human-readable name for this provider + * * description: A (usually single sentence) description of this provider + * * iconName: An XDG Icon specification icon name for this provider + * * supportsMultipleAccounts: Whether or not this provider supports multiple simultaneous accounts + * * accountsCount: The number of accounts which already exist on the system for this provider + */ +class KACCOUNTS_EXPORT ProvidersModel : public QAbstractListModel +{ + Q_OBJECT +public: + enum Roles { + NameRole = Qt::UserRole + 1, ///< The unique name identifier for this provider + DisplayNameRole, ///< The human-readable name for this provider + DescriptionRole, ///< A (usually single sentence) description of this provider + IconNameRole, ///< The name of the icon to be used for this provider (an XDG Icon Spec style name) + SupportsMultipleAccountsRole, ///< Whether or not this provider supports multiple simultaneous accounts + AccountsCountRole, ///< The number of accounts which already exist for this provider + }; + explicit ProvidersModel(QObject *parent = nullptr); + virtual ~ProvidersModel(); + + QHash roleNames() const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + +private: + class Private; + Private *d; +}; + +#endif // PROVIDERS_MODEL_H diff --git a/src/lib/removeaccountjob.cpp b/src/lib/removeaccountjob.cpp new file mode 100644 index 0000000..6a05d6c --- /dev/null +++ b/src/lib/removeaccountjob.cpp @@ -0,0 +1,73 @@ +/* + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "removeaccountjob.h" + +#include "core.h" +#include +#include +#include + +class RemoveAccountJob::Private +{ +public: + Private() + { + } + QString accountId; +}; + +RemoveAccountJob::RemoveAccountJob(QObject *parent) + : KJob(parent) + , d(new Private) +{ +} + +RemoveAccountJob::~RemoveAccountJob() +{ + delete d; +} + +QString RemoveAccountJob::accountId() const +{ + return d->accountId; +} + +void RemoveAccountJob::setAccountId(const QString &accountId) +{ + d->accountId = accountId; + Q_EMIT accountIdChanged(); +} + +void RemoveAccountJob::start() +{ + Accounts::Manager *accountsManager = KAccounts::accountsManager(); + if (accountsManager) { + Accounts::Account *account = accountsManager->account(d->accountId.toInt()); + if (account) { + // We can't depend on Accounts::Account::synced, as that doesn't necessarily get fired when + // asking for the account to be removed... + connect(accountsManager, &Accounts::Manager::accountRemoved, this, [this](Accounts::AccountId id) { + if (id == d->accountId.toUInt()) { + emitResult(); + } + }); + SignOn::Identity *identity = SignOn::Identity::existingIdentity(account->credentialsId(), this); + if (identity) { + identity->remove(); + identity->deleteLater(); + } + account->remove(); + account->sync(); + } else { + qWarning() << "No account found with the ID" << d->accountId; + emitResult(); + } + } else { + qWarning() << "No accounts manager, this is not awesome."; + emitResult(); + } +} diff --git a/src/lib/removeaccountjob.h b/src/lib/removeaccountjob.h new file mode 100644 index 0000000..24391ee --- /dev/null +++ b/src/lib/removeaccountjob.h @@ -0,0 +1,37 @@ +/* + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef REMOVEACCOUNT_H +#define REMOVEACCOUNT_H + +#include "kaccounts_export.h" + +#include + +#include + +/** + * @brief A job which will attempt to remove the specified account + */ +class KACCOUNTS_EXPORT RemoveAccountJob : public KJob +{ + Q_OBJECT + Q_PROPERTY(QString accountId READ accountId WRITE setAccountId NOTIFY accountIdChanged) +public: + explicit RemoveAccountJob(QObject *parent = nullptr); + virtual ~RemoveAccountJob(); + + void start() override; + + QString accountId() const; + void setAccountId(const QString &accountId); + Q_SIGNAL void accountIdChanged(); + +private: + class Private; + Private *d; +}; +#endif // REMOVEACCOUNT_H diff --git a/src/lib/servicesmodel.cpp b/src/lib/servicesmodel.cpp new file mode 100644 index 0000000..49b46ed --- /dev/null +++ b/src/lib/servicesmodel.cpp @@ -0,0 +1,183 @@ +/* + * SPDX-FileCopyrightText: 2012 Alejandro Fiestas Olivares + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "servicesmodel.h" + +#include "core.h" + +#include + +#include + +#include + +#include +#include + +class ServicesModel::Private : public QObject +{ +public: + Private(ServicesModel *model) + : q(model) + { + } + virtual ~Private() + { + } + + Accounts::ServiceList services; + Accounts::Account *account{nullptr}; + +private: + ServicesModel *q; +}; + +ServicesModel::ServicesModel(QObject *parent) + : QAbstractListModel(parent) + , d(new ServicesModel::Private(this)) +{ +} + +ServicesModel::~ServicesModel() +{ + delete d; +} + +QHash ServicesModel::roleNames() const +{ + static QHash roles{{NameRole, "name"}, + {DescriptionRole, "description"}, + {DisplayNameRole, "displayName"}, + {ServiceTypeRole, "servieType"}, + {ProviderNameRole, "providerName"}, + {IconNameRole, "iconName"}, + {TagsRole, "tags"}, + {EnabledRole, "enabled"}}; + return roles; +} + +int ServicesModel::rowCount(const QModelIndex &parent) const +{ + if (parent.isValid()) { + return 0; + } + + return d->services.count(); +} + +QVariant ServicesModel::data(const QModelIndex &index, int role) const +{ + QVariant data; + if (checkIndex(index)) { + const Accounts::Service &service = d->services.value(index.row()); + if (service.isValid()) { + switch (role) { + case NameRole: + data.setValue(service.name()); + break; + case DescriptionRole: +#if ACCOUNTSQT5_VERSION_MAJOR == 1 && ACCOUNTSQT5_VERSION_MINOR >= 16 + // Not all services have descriptions and UIs should be designed with that in mind. + // Consequently, we can accept not having a fallback for this. + data.setValue(service.description()); +#endif + break; + case DisplayNameRole: + data.setValue(service.displayName()); + break; + case ServiceTypeRole: + data.setValue(service.serviceType()); + break; + case ProviderNameRole: + data.setValue(service.provider()); + break; + case IconNameRole: + data.setValue(service.iconName()); + break; + case TagsRole: + data.setValue(service.tags().values()); + break; + case EnabledRole: + data.setValue(d->account->enabledServices().contains(service)); + break; + } + } + } + return data; +} + +void ServicesModel::setAccount(QObject *account) +{ + if (d->account != account) { + beginResetModel(); + d->services.clear(); + if (d->account) { + disconnect(d->account, nullptr, this, nullptr); + } + d->account = qobject_cast(account); + if (d->account) { + connect(d->account, &Accounts::Account::displayNameChanged, this, &ServicesModel::accountChanged); + connect(d->account, &Accounts::Account::enabledChanged, this, [this](const QString &serviceName, bool /*enabled*/) { + int i{0}; + for (const Accounts::Service &service : qAsConst(d->services)) { + if (service.name() == serviceName) { + break; + } + ++i; + } + Q_EMIT dataChanged(index(i), index(i)); + }); + connect(d->account, &QObject::destroyed, this, [this]() { + beginResetModel(); + d->account = nullptr; + Q_EMIT accountChanged(); + d->services.clear(); + endResetModel(); + }); + d->services = d->account->services(); + } + endResetModel(); + Q_EMIT accountChanged(); + } +} + +QObject *ServicesModel::account() const +{ + return d->account; +} + +quint32 ServicesModel::accountId() const +{ + if (d->account) { + return d->account->id(); + } + return -1; +} + +QString ServicesModel::accountDisplayName() const +{ + if (d->account) { + return d->account->displayName(); + } + return QString{}; +} + +QString ServicesModel::accountProviderName() const +{ + if (d->account) { + return d->account->providerName(); + } + return QString{}; +} + +QString ServicesModel::accountIconName() const +{ + if (d->account && d->account->provider().isValid() && !d->account->provider().iconName().isEmpty()) { + return d->account->provider().iconName(); + } + return QString::fromLatin1("user-identity"); +} diff --git a/src/lib/servicesmodel.h b/src/lib/servicesmodel.h new file mode 100644 index 0000000..1e0ef29 --- /dev/null +++ b/src/lib/servicesmodel.h @@ -0,0 +1,90 @@ +/* + * SPDX-FileCopyrightText: 2012 Alejandro Fiestas Olivares + * SPDX-FileCopyrightText: 2020 Dan Leinir Turthra Jensen + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef SERVICES_MODEL_H +#define SERVICES_MODEL_H + +#include "kaccounts_export.h" + +#include + +/** + * @brief A model which represents the services in a single account + * + * You can create this manually, but usually you would get an instance of it from the + * AccountsModel::Roles::ServicesRole data role (model.services) of an AccountsModel + * instance. + * + * # Roles + * + * The following role names are available in this model: + * + * * name: The internal name for the service, as understood by the backend + * * description: A (usually single line) description of the service + * * displayName: A human-readable name for the service (use this in the UI instead of name) + * * serviceType: A machine-readable category for the service (e.g. microblogging, e-mail, IM...) + * * providerName: The machine-readable name of the provider which this service is related to + * * iconName: An XDG Icon specification icon name representing this service + * * tags: A list of strings representing tags set on this service + * * enabled: Whether or not the service is enabled for the given account + */ +class KACCOUNTS_EXPORT ServicesModel : public QAbstractListModel +{ + Q_OBJECT + /** + * The Accounts::Account instance which this model should use for fetching the list of services + */ + Q_PROPERTY(QObject *account READ account WRITE setAccount NOTIFY accountChanged) + /** + * The internal ID for the account this model represents + */ + Q_PROPERTY(quint32 accountId READ accountId NOTIFY accountChanged) + /** + * The human-readable name of the account this model represents + */ + Q_PROPERTY(QString accountDisplayName READ accountDisplayName NOTIFY accountChanged) + /** + * The name of the provider this model's account is signed in through + */ + Q_PROPERTY(QString accountProviderName READ accountProviderName NOTIFY accountChanged) + /** + * The XDG Icon specification icon name for this model's account + */ + Q_PROPERTY(QString accountIconName READ accountIconName NOTIFY accountChanged) +public: + enum Roles { + NameRole = Qt::UserRole + 1, + DescriptionRole, + DisplayNameRole, + ServiceTypeRole, + ProviderNameRole, + IconNameRole, + TagsRole, + EnabledRole, + }; + explicit ServicesModel(QObject *parent = nullptr); + virtual ~ServicesModel(); + + QHash roleNames() const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + + void setAccount(QObject *account); + QObject *account() const; + quint32 accountId() const; + QString accountDisplayName() const; + QString accountProviderName() const; + QString accountIconName() const; +Q_SIGNALS: + void accountChanged(); + +private: + class Private; + Private *d; +}; + +#endif // SERVICES_MODEL_H diff --git a/src/lib/uipluginsmanager.cpp b/src/lib/uipluginsmanager.cpp new file mode 100644 index 0000000..95e8428 --- /dev/null +++ b/src/lib/uipluginsmanager.cpp @@ -0,0 +1,131 @@ +/* + * SPDX-FileCopyrightText: 2015 Martin Klapetek + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "uipluginsmanager.h" + +#include "kaccountsuiplugin.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace KAccounts; + +class UiPluginsManagerPrivate +{ +public: + UiPluginsManagerPrivate(); + ~UiPluginsManagerPrivate(); + + void loadPlugins(); + + QHash pluginsForNames; + QHash pluginsForServices; + bool pluginsLoaded; +}; + +Q_GLOBAL_STATIC(UiPluginsManagerPrivate, s_instance) + +UiPluginsManagerPrivate::UiPluginsManagerPrivate() + : pluginsLoaded(false) +{ +} + +UiPluginsManagerPrivate::~UiPluginsManagerPrivate() +{ + qDeleteAll(pluginsForNames.values()); +} + +void UiPluginsManagerPrivate::loadPlugins() +{ + QString pluginPath; + + const QStringList paths = QCoreApplication::libraryPaths(); + for (const QString &libraryPath : paths) { + QString path(libraryPath + QStringLiteral("/kaccounts/ui")); + QDir dir(path); + + if (!dir.exists()) { + continue; + } + + const QStringList entryList = dir.entryList(QDir::Files | QDir::NoDotAndDotDot); + for (const QString &fileName : entryList) { + QPluginLoader loader(dir.absoluteFilePath(fileName)); + + if (!loader.load()) { + qWarning() << "Could not create KAccountsUiPlugin: " << pluginPath; + qWarning() << loader.errorString(); + continue; + } + + QObject *obj = loader.instance(); + if (obj) { + KAccountsUiPlugin *ui = qobject_cast(obj); + if (!ui) { + qDebug() << "Plugin could not be converted to an KAccountsUiPlugin"; + qDebug() << pluginPath; + continue; + } + + qDebug() << "Adding plugin" << ui << fileName; + const QWindowList topLevelWindows = QGuiApplication::topLevelWindows(); + if (topLevelWindows.size() == 1) { + QWindow *topLevelWindow = topLevelWindows.at(0); + obj->setProperty("transientParent", QVariant::fromValue(topLevelWindow)); + } else { + qWarning() << "Unexpected topLevelWindows found:" << topLevelWindows.size() << "please report a bug"; + } + + // When the plugin has finished building the UI, show it right away + QObject::connect(ui, &KAccountsUiPlugin::uiReady, ui, &KAccountsUiPlugin::showNewAccountDialog, Qt::UniqueConnection); + + pluginsForNames.insert(fileName, ui); + const auto services = ui->supportedServicesForConfig(); + for (const QString &service : services) { + qDebug() << " Adding service" << service; + pluginsForServices.insert(service, ui); + } + } else { + qDebug() << "Plugin could not create instance" << pluginPath; + } + } + } + + pluginsLoaded = true; +} + +QList UiPluginsManager::uiPlugins() +{ + if (!s_instance->pluginsLoaded) { + s_instance->loadPlugins(); + } + + return s_instance->pluginsForNames.values(); +} + +KAccountsUiPlugin *UiPluginsManager::pluginForName(const QString &name) +{ + if (!s_instance->pluginsLoaded) { + s_instance->loadPlugins(); + } + + return s_instance->pluginsForNames.value(name + QStringLiteral(".so")); +} + +KAccountsUiPlugin *UiPluginsManager::pluginForService(const QString &service) +{ + if (!s_instance->pluginsLoaded) { + s_instance->loadPlugins(); + } + + return s_instance->pluginsForServices.value(service); +} diff --git a/src/lib/uipluginsmanager.h b/src/lib/uipluginsmanager.h new file mode 100644 index 0000000..112728d --- /dev/null +++ b/src/lib/uipluginsmanager.h @@ -0,0 +1,26 @@ +/* + * SPDX-FileCopyrightText: 2015 Martin Klapetek + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef UIPLUGINSMANAGER_H +#define UIPLUGINSMANAGER_H + +#include + +class KAccountsUiPlugin; + +namespace KAccounts +{ +class UiPluginsManager +{ +public: + static QList uiPlugins(); + static KAccountsUiPlugin *pluginForService(const QString &service); + static KAccountsUiPlugin *pluginForName(const QString &name); +}; + +} + +#endif // UIPLUGINSMANAGER_H diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt new file mode 100644 index 0000000..f6ecb68 --- /dev/null +++ b/src/plugins/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(kio-webdav) diff --git a/src/plugins/kio-webdav/CMakeLists.txt b/src/plugins/kio-webdav/CMakeLists.txt new file mode 100644 index 0000000..64dc76f --- /dev/null +++ b/src/plugins/kio-webdav/CMakeLists.txt @@ -0,0 +1,25 @@ +set(kio-webdav_SRCS + kioservices.cpp + createnetattachjob.cpp + removenetattachjob.cpp + createkioservice.cpp + removekioservice.cpp) + +kcoreaddons_add_plugin(kaccounts_kio_webdav_plugin + SOURCES ${kio-webdav_SRCS} + INSTALL_NAMESPACE "kaccounts/daemonplugins" + ) + +target_link_libraries(kaccounts_kio_webdav_plugin + Qt5::Core + Qt5::Widgets + KF5::CoreAddons + KF5::ConfigCore + KF5::Wallet + KF5::KIOCore + KF5::I18n + KF5::DBusAddons + kaccounts + ${ACCOUNTSQT_LIBRARIES} + ${SIGNONQT_LIBRARIES} +) diff --git a/src/plugins/kio-webdav/createkioservice.cpp b/src/plugins/kio-webdav/createkioservice.cpp new file mode 100644 index 0000000..c658a2e --- /dev/null +++ b/src/plugins/kio-webdav/createkioservice.cpp @@ -0,0 +1,107 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "createkioservice.h" +#include "../lib/getcredentialsjob.h" +#include "createnetattachjob.h" +#include + +#include +#include + +CreateKioService::CreateKioService(QObject *parent) + : KJob(parent) +{ + m_manager = KAccounts::accountsManager(); +} + +CreateKioService::~CreateKioService() +{ + delete m_account; +} + +void CreateKioService::start() +{ + QMetaObject::invokeMethod(this, "createKioService", Qt::QueuedConnection); +} + +void CreateKioService::createKioService() +{ + qDebug(); + m_account = m_manager->account(m_accountId); + + GetCredentialsJob *job = new GetCredentialsJob(m_accountId, QString(), QString(), this); + connect(job, &GetCredentialsJob::finished, this, &CreateKioService::gotCredentials); + job->setServiceType(m_serviceType); + job->start(); +} + +void CreateKioService::gotCredentials(KJob *job) +{ + qDebug(); + if (job->error()) { + setError(job->error()); + setErrorText(job->errorText()); + emitResult(); + return; + } + + GetCredentialsJob *gjob = qobject_cast(job); + const QVariantMap data = gjob->credentialsData(); + + const Accounts::Service service = m_manager->service(m_serviceName); + const QString host = m_account->value(QStringLiteral("dav/host")).toString(); + const QString path = m_account->value(QStringLiteral("dav/storagePath")).toString(); + + m_account->selectService(service); + const QString username = data[QStringLiteral("UserName")].toString(); + CreateNetAttachJob *netJob = new CreateNetAttachJob(this); + connect(netJob, &CreateNetAttachJob::finished, this, &CreateKioService::netAttachCreated); + + netJob->setHost(host); + netJob->setPath(path); + netJob->setUsername(username); + netJob->setPassword(data[QStringLiteral("Secret")].toString()); + netJob->setIcon(service.iconName()); + netJob->setUniqueId(QString::number(m_accountId) + QLatin1Char('_') + m_serviceName); + netJob->setName(m_manager->provider(service.provider()).displayName() + QLatin1Char(' ') + service.displayName()); + netJob->start(); +} + +void CreateKioService::netAttachCreated(KJob *job) +{ + emitResult(); +} + +Accounts::AccountId CreateKioService::accountId() const +{ + return m_accountId; +} + +void CreateKioService::setAccountId(const Accounts::AccountId accId) +{ + m_accountId = accId; +} + +QString CreateKioService::serviceName() const +{ + return m_serviceName; +} + +void CreateKioService::setServiceName(const QString &serviceName) +{ + m_serviceName = serviceName; +} + +QString CreateKioService::serviceType() const +{ + return m_serviceType; +} + +void CreateKioService::setServiceType(const QString &serviceType) +{ + m_serviceType = serviceType; +} diff --git a/src/plugins/kio-webdav/createkioservice.h b/src/plugins/kio-webdav/createkioservice.h new file mode 100644 index 0000000..f26c544 --- /dev/null +++ b/src/plugins/kio-webdav/createkioservice.h @@ -0,0 +1,58 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef CREATE_KIOSERVICE_H +#define CREATE_KIOSERVICE_H + +#include + +#include + +namespace Accounts +{ +class Manager; +} + +namespace KWallet +{ +class Wallet; +} + +class CreateKioService : public KJob +{ + Q_OBJECT + +public: + explicit CreateKioService(QObject *parent = nullptr); + virtual ~CreateKioService(); + + void start() override; + + Accounts::AccountId accountId() const; + void setAccountId(const Accounts::AccountId accId); + + QString serviceName() const; + void setServiceName(const QString &serviceName); + + QString serviceType() const; + void setServiceType(const QString &serviceType); + +private Q_SLOTS: + void createKioService(); + void gotCredentials(KJob *job); + void netAttachCreated(KJob *job); + +private: + void createDesktopFile(); + + Accounts::Manager *m_manager = nullptr; + Accounts::Account *m_account = nullptr; + Accounts::AccountId m_accountId; + QString m_serviceName; + QString m_serviceType; +}; + +#endif // CREATE_KIOSERVICE_H diff --git a/src/plugins/kio-webdav/createnetattachjob.cpp b/src/plugins/kio-webdav/createnetattachjob.cpp new file mode 100644 index 0000000..96108c5 --- /dev/null +++ b/src/plugins/kio-webdav/createnetattachjob.cpp @@ -0,0 +1,235 @@ +/* + * SPDX-FileCopyrightText: 2012 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "createnetattachjob.h" + +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +using namespace KWallet; + +CreateNetAttachJob::CreateNetAttachJob(QObject *parent) + : KJob(parent) +{ +} + +CreateNetAttachJob::~CreateNetAttachJob() +{ + delete m_wallet; +} + +void CreateNetAttachJob::start() +{ + QMetaObject::invokeMethod(this, "createNetAttach", Qt::QueuedConnection); +} + +void CreateNetAttachJob::createNetAttach() +{ + qDebug(); + WId windowId = 0; + if (qApp->activeWindow()) { + windowId = qApp->activeWindow()->winId(); + } + m_wallet = Wallet::openWallet(Wallet::NetworkWallet(), windowId, Wallet::Asynchronous); + + connect(m_wallet, &KWallet::Wallet::walletOpened, this, &CreateNetAttachJob::walletOpened); +} + +void CreateNetAttachJob::walletOpened(bool opened) +{ + qDebug(); + if (!opened) { + setError(-1); + setErrorText(QStringLiteral("Can't open wallet")); + emitResult(); + return; + } + + getRealm(); +} + +void CreateNetAttachJob::getRealm() +{ + qDebug(); + QUrl url; + url.setHost(m_host); + url.setUserName(m_username); + url.setScheme(QStringLiteral("webdavs")); + url.setPath(m_path); + + if (!m_realm.isEmpty()) { + createDesktopFile(url); + return; + } + + KIO::TransferJob *job = KIO::get(url, KIO::NoReload, KIO::HideProgressInfo); + connect(job, &KIO::TransferJob::finished, this, &CreateNetAttachJob::gotRealm); + KIO::MetaData data; + data.insert(QStringLiteral("PropagateHttpHeader"), QStringLiteral("true")); + job->setMetaData(data); + job->setUiDelegate(nullptr); + job->start(); +} + +void CreateNetAttachJob::gotRealm(KJob *job) +{ + KIO::TransferJob *hJob = qobject_cast(job); + QRegularExpression rx(QStringLiteral("www-authenticate: Basic realm=\"([^\"]+)\"")); + Q_ASSERT(rx.isValid()); + QString headers = hJob->metaData().value(QStringLiteral("HTTP-Headers")); + + auto match = rx.match(headers); + + if (match.hasMatch()) { + m_realm = match.captured(1); + } + + createDesktopFile(hJob->url()); +} + +void CreateNetAttachJob::createDesktopFile(const QUrl &url) +{ + qDebug(); + + const QString folderPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/remoteview/"); + + QDir saveDir(folderPath); + if (!saveDir.exists()) { + if (!saveDir.mkpath(folderPath)) { + qWarning() << "Directory" << folderPath << "for storage couldn't be created!"; + } + } + const QString path = folderPath + m_uniqueId + QStringLiteral(".desktop"); + + qDebug() << "Creating knetAttach place"; + qDebug() << path; + qDebug() << url.host(); + qDebug() << url.toString(); + + KConfig _desktopFile(path, KConfig::SimpleConfig); + KConfigGroup desktopFile(&_desktopFile, "Desktop Entry"); + + desktopFile.writeEntry("Icon", m_icon); + desktopFile.writeEntry("Name", m_name); + desktopFile.writeEntry("Type", "Link"); + desktopFile.writeEntry("URL", url.toString()); + // desktopFile.writeEntry("Charset", url.fileEncoding()); + desktopFile.sync(); + + QString walletUrl(url.scheme()); + walletUrl.append(QStringLiteral("-")); + walletUrl.append(m_username); + walletUrl.append(QStringLiteral("@")); + walletUrl.append(url.host()); + walletUrl.append(QStringLiteral(":-1-")); // Overwrite the first option + + QMap info; + info[QStringLiteral("login")] = m_username; + info[QStringLiteral("password")] = m_password; + + m_wallet->setFolder(QStringLiteral("Passwords")); + + if (!m_realm.isEmpty()) { + m_wallet->writeMap(walletUrl + m_realm, info); + } + m_wallet->writeMap(walletUrl + QStringLiteral("webdav"), info); + m_wallet->sync(); + + org::kde::KDirNotify::emitFilesAdded(QUrl(QStringLiteral("remote:/"))); + + emitResult(); +} + +QString CreateNetAttachJob::host() const +{ + return m_host; +} +void CreateNetAttachJob::setHost(const QString &host) +{ + m_host = host; +} + +QString CreateNetAttachJob::path() const +{ + return m_path; +} + +void CreateNetAttachJob::setPath(const QString &path) +{ + m_path = path; +} + +QString CreateNetAttachJob::realm() const +{ + return m_realm; +} + +void CreateNetAttachJob::setRealm(const QString &realm) +{ + m_realm = realm; +} + +QString CreateNetAttachJob::name() const +{ + return m_name; +} + +void CreateNetAttachJob::setName(const QString &name) +{ + m_name = name; +} + +QString CreateNetAttachJob::username() const +{ + return m_username; +} + +void CreateNetAttachJob::setUsername(const QString &username) +{ + m_username = username; +} + +QString CreateNetAttachJob::password() const +{ + return m_password; +} + +void CreateNetAttachJob::setPassword(const QString &password) +{ + m_password = password; +} + +QString CreateNetAttachJob::uniqueId() const +{ + return m_uniqueId; +} + +void CreateNetAttachJob::setUniqueId(const QString &uniqueId) +{ + m_uniqueId = uniqueId; +} + +QString CreateNetAttachJob::icon() const +{ + return m_icon; +} + +void CreateNetAttachJob::setIcon(const QString &icon) +{ + m_icon = icon; +} diff --git a/src/plugins/kio-webdav/createnetattachjob.h b/src/plugins/kio-webdav/createnetattachjob.h new file mode 100644 index 0000000..1768635 --- /dev/null +++ b/src/plugins/kio-webdav/createnetattachjob.h @@ -0,0 +1,73 @@ +/* + * SPDX-FileCopyrightText: 2012 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef CREATE_NETATTACH_H +#define CREATE_NETATTACH_H + +#include +#include + +namespace KWallet +{ +class Wallet; +} + +class CreateNetAttachJob : public KJob +{ + Q_OBJECT + +public: + explicit CreateNetAttachJob(QObject *parent = nullptr); + virtual ~CreateNetAttachJob(); + + void start() override; + + QString host() const; + void setHost(const QString &host); + + QString path() const; + void setPath(const QString &path); + + QString realm() const; + void setRealm(const QString &realm); + + QString name() const; + void setName(const QString &name); + + QString username() const; + void setUsername(const QString &username); + + QString password() const; + void setPassword(const QString &password); + + QString uniqueId() const; + void setUniqueId(const QString &uniqueId); + + QString icon() const; + void setIcon(const QString &icon); + +private Q_SLOTS: + void createNetAttach(); + void walletOpened(bool opened); + void gotRealm(KJob *job); + +private: + void getRealm(); + void createDesktopFile(const QUrl &url); + + QString m_host; + QString m_path; + QString m_realm; + QString m_name; + QString m_username; + QString m_password; + QString m_uniqueId; + QString m_icon; + + KWallet::Wallet *m_wallet = nullptr; +}; + +#endif // CREATE_NETATTACH_H diff --git a/src/plugins/kio-webdav/kio-webdav.json b/src/plugins/kio-webdav/kio-webdav.json new file mode 100644 index 0000000..1f8eb42 --- /dev/null +++ b/src/plugins/kio-webdav/kio-webdav.json @@ -0,0 +1,79 @@ +{ + "KPlugin": { + "Description": "Mount WebDAV shares with KIO", + "Description[ast]": "Monta comparticiones de WebDAV con KIO", + "Description[az]": "KİO ilə WebDAV paylaşımlarını qoşun", + "Description[ca@valencia]": "Munta comparticions WebDAV amb el KIO", + "Description[ca]": "Munta comparticions WebDAV amb el KIO", + "Description[cs]": "Připojování úložišť WebDAV pomocí KIO", + "Description[da]": "Montér WebDAV-ressourcer med KIO", + "Description[de]": "WebDAV-Freigaben mit KIO einhängen", + "Description[el]": "Προσάρτηση κοινών πόρων WebDAV με το KIO", + "Description[en_GB]": "Mount WebDAV shares with KIO", + "Description[es]": "Montar recursos compartidos WebDAV con KIO", + "Description[et]": "WebDAV-i jagatud ressursside ühendamine KIO-mooduli abil", + "Description[eu]": "Muntatu WebDAV partekatzeak KIO erabiliz", + "Description[fi]": "Liitä WebDAV-jakoja KIOlla", + "Description[fr]": "Montage des partages WebDAV avec KIO", + "Description[hu]": "WebDAV megosztások csatlakoztatása KIO-val", + "Description[ia]": "Monta areas compartite de WebDAV con KIO", + "Description[it]": "Monta condivisioni WebDAV con KIO", + "Description[ko]": "KIO로 WebDAV 공유 마운트", + "Description[lt]": "Prijungti WebDAV viešinius naudojant KIO", + "Description[nl]": "WebDAV-shares met KIO aankoppelen", + "Description[nn]": "Monter WebDAV-ressursar med KIO", + "Description[pa]": "KIO ਰਾਹੀਂ WebDAV ਸਾਂਝਾਂ ਨੂੰ ਮਾਊਂਟ ਕਰੋ", + "Description[pl]": "Podpinaj udziały WebDAV przy użyciu KIO", + "Description[pt]": "Montar partilhas de WebDAV com o KIO", + "Description[pt_BR]": "Montar compartilhamentos WebDAV com KIO", + "Description[ro]": "Montează partajări WebDAV cu KIO", + "Description[ru]": "Подключение ресурсов WebDAV с использованием KIO", + "Description[sk]": "Pripojiť WebDAV zdieľania s KIO", + "Description[sl]": "Mount WebDAV sodeluje s KIO", + "Description[sv]": "Montera delade WebDAV-resurser med KIO", + "Description[uk]": "Монтування спільних ресурсів WebDAV за допомогою KIO", + "Description[x-test]": "xxMount WebDAV shares with KIOxx", + "Description[zh_CN]": "用 KIO 挂载 WebDAV 共享", + "Description[zh_TW]": "使用 KIO 掛載 WebDAV 共用項目", + "EnabledByDefault": true, + "Icon": "system-file-manager", + "Id": "kaccounts_kio_webdav", + "License": "GPL", + "Name": "KIO WebDAV", + "Name[ast]": "WebDAV pa KIO", + "Name[az]": "KIO WebDAV", + "Name[ca@valencia]": "KIO WebDAV", + "Name[ca]": "KIO WebDAV", + "Name[cs]": "KIO WebDAV", + "Name[da]": "KIO WebDAV", + "Name[de]": "KIO WebDAV", + "Name[el]": "KIO WebDAV", + "Name[en_GB]": "KIO WebDAV", + "Name[es]": "KIO WebDAV", + "Name[et]": "WebDAV-i KIO-moodul", + "Name[eu]": "KIO WebDAV", + "Name[fi]": "KIO WebDAV", + "Name[fr]": "KIO WebDAV", + "Name[hu]": "KIO WebDAV", + "Name[ia]": "KIO WebDAV", + "Name[it]": "KIO WebDAV", + "Name[ko]": "KIO WebDAV", + "Name[lt]": "KIO WebDAV", + "Name[nl]": "KIO WebDAV", + "Name[nn]": "KIO WebDAV", + "Name[pa]": "KIO WebDAV", + "Name[pl]": "KIO WebDAV", + "Name[pt]": "KIO de WebDAV", + "Name[pt_BR]": "KIO WebDAV", + "Name[ro]": "KIO WebDAV", + "Name[ru]": "KIO WebDAV", + "Name[sk]": "KIO WebDAV", + "Name[sl]": "KIO WebDAV", + "Name[sv]": "KIO WebDAV", + "Name[uk]": "KIO WebDAV", + "Name[x-test]": "xxKIO WebDAVxx", + "Name[zh_CN]": "KIO WebDAV", + "Name[zh_TW]": "KIO WebDAV", + "Version": "0.1" + } +} diff --git a/src/plugins/kio-webdav/kioservices.cpp b/src/plugins/kio-webdav/kioservices.cpp new file mode 100644 index 0000000..3f0a71d --- /dev/null +++ b/src/plugins/kio-webdav/kioservices.cpp @@ -0,0 +1,123 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "kioservices.h" +#include "createkioservice.h" +#include "createnetattachjob.h" +#include "removekioservice.h" + +#include +#include +#include +#include + +#include + +K_PLUGIN_CLASS_WITH_JSON(KIOServices, "kio-webdav.json") + +KIOServices::KIOServices(QObject *parent, const QVariantList &args) + : KAccountsDPlugin(parent, args) +{ +} + +KIOServices::~KIOServices() = default; + +void KIOServices::onAccountCreated(const Accounts::AccountId accId, const Accounts::ServiceList &serviceList) +{ + qDebug(); + for (const Accounts::Service &service : serviceList) { + if (service.serviceType() != QLatin1String("dav-storage")) { + qDebug() << "Ignoring: " << service.serviceType(); + continue; + } + if (isEnabled(accId, service.name())) { + qDebug() << "Already configured: " << service.name(); + continue; + } + + qDebug() << "Creating: " << service.name() << "Of type: " << service.serviceType(); + enableService(accId, service); + } +} + +void KIOServices::onAccountRemoved(const Accounts::AccountId accId) +{ + qDebug(); + const QString accountId = QString::number(accId) + QStringLiteral("_"); + + const QString path = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/remoteview/"); + + QDirIterator i(path, QDir::NoDotAndDotDot | QDir::Files); + while (i.hasNext()) { + i.next(); + if (!i.fileName().startsWith(accountId)) { + continue; + } + + QString serviceName = i.fileName(); + qDebug() << "Removing: " << serviceName; + serviceName = serviceName.mid(accountId.count(), serviceName.indexOf(QLatin1String(".desktop")) - accountId.count()); + qDebug() << "Removing N: " << serviceName; + disableService(accId, serviceName); + } +} + +void KIOServices::onServiceEnabled(const Accounts::AccountId accId, const Accounts::Service &service) +{ + if (service.serviceType() != QLatin1String("dav-storage")) { + qDebug() << "Ignoring: " << service.serviceType(); + return; + } + if (isEnabled(accId, service.name())) { + qDebug() << "Already configured: " << service.name(); + return; + } + + enableService(accId, service); +} + +void KIOServices::onServiceDisabled(const Accounts::AccountId accId, const Accounts::Service &service) +{ + if (service.serviceType() != QLatin1String("dav-storage")) { + qDebug() << "Ignoring: " << service.serviceType(); + return; + } + if (!isEnabled(accId, service.name())) { + qDebug() << "Already not configured: " << service.name(); + return; + } + + disableService(accId, service.name()); +} + +void KIOServices::enableService(const Accounts::AccountId accId, const Accounts::Service &service) +{ + CreateKioService *job = new CreateKioService(this); + job->setAccountId(accId); + job->setServiceName(service.name()); + job->setServiceType(service.serviceType()); + job->start(); +} + +void KIOServices::disableService(const Accounts::AccountId accId, const QString &serviceName) +{ + RemoveKioService *job = new RemoveKioService(this); + job->setServiceName(serviceName); + job->setAccountId(accId); + job->start(); +} + +bool KIOServices::isEnabled(const Accounts::AccountId accId, const QString &serviceName) +{ + const QString uniqueId(QString::number(accId) + QStringLiteral("_") + serviceName); + + QString path = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation); + path += QStringLiteral("/remoteview/") + uniqueId + QStringLiteral(".desktop"); + + return QFile::exists(path); +} + +#include "kioservices.moc" diff --git a/src/plugins/kio-webdav/kioservices.h b/src/plugins/kio-webdav/kioservices.h new file mode 100644 index 0000000..8b7cd0f --- /dev/null +++ b/src/plugins/kio-webdav/kioservices.h @@ -0,0 +1,47 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef KIO_SERVICES_H +#define KIO_SERVICES_H + +#include "kaccountsdplugin.h" + +#include +#include +#include + +#include +#include + +class KJob; +class AkonadiAccounts; + +namespace Accounts +{ +class Manager; +} + +class KIOServices : public KAccountsDPlugin +{ + Q_OBJECT + +public: + KIOServices(QObject *parent, const QVariantList &args); + ~KIOServices() override; + +public Q_SLOTS: + void onAccountCreated(const Accounts::AccountId accId, const Accounts::ServiceList &serviceList) override; + void onAccountRemoved(const Accounts::AccountId accId) override; + void onServiceEnabled(const Accounts::AccountId accId, const Accounts::Service &service) override; + void onServiceDisabled(const Accounts::AccountId accId, const Accounts::Service &service) override; + +private: + void enableService(const Accounts::AccountId accId, const Accounts::Service &service); + void disableService(const Accounts::AccountId accId, const QString &serviceName); + bool isEnabled(const Accounts::AccountId accId, const QString &serviceName); +}; + +#endif // KIO_SERVICES_H diff --git a/src/plugins/kio-webdav/removekioservice.cpp b/src/plugins/kio-webdav/removekioservice.cpp new file mode 100644 index 0000000..0f116c8 --- /dev/null +++ b/src/plugins/kio-webdav/removekioservice.cpp @@ -0,0 +1,61 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "removekioservice.h" +#include "removenetattachjob.h" + +#include +#include + +RemoveKioService::RemoveKioService(QObject *parent) + : KJob(parent) +{ +} + +void RemoveKioService::start() +{ + QMetaObject::invokeMethod(this, "removeKioService", Qt::QueuedConnection); +} + +void RemoveKioService::removeKioService() +{ + qDebug(); + RemoveNetAttachJob *job = new RemoveNetAttachJob(this); + job->setUniqueId(QString::number(m_accountId) + QStringLiteral("_") + m_serviceName); + connect(job, &RemoveNetAttachJob::finished, this, &RemoveKioService::removeNetAatachFinished); + job->start(); +} + +void RemoveKioService::removeNetAatachFinished(KJob *job) +{ + qDebug(); + if (job->error()) { + setError(job->error()); + setErrorText(job->errorText()); + } + + emitResult(); +} + +Accounts::AccountId RemoveKioService::accountId() const +{ + return m_accountId; +} + +void RemoveKioService::setAccountId(Accounts::AccountId accId) +{ + m_accountId = accId; +} + +QString RemoveKioService::serviceName() const +{ + return m_serviceName; +} + +void RemoveKioService::setServiceName(const QString &serviceName) +{ + m_serviceName = serviceName; +} diff --git a/src/plugins/kio-webdav/removekioservice.h b/src/plugins/kio-webdav/removekioservice.h new file mode 100644 index 0000000..72ed3bc --- /dev/null +++ b/src/plugins/kio-webdav/removekioservice.h @@ -0,0 +1,38 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef REMOVE_KIOSERVICE_H +#define REMOVE_KIOSERVICE_H + +#include + +#include + +class RemoveKioService : public KJob +{ + Q_OBJECT + +public: + explicit RemoveKioService(QObject *parent = nullptr); + + void start() override; + + Accounts::AccountId accountId() const; + void setAccountId(Accounts::AccountId accId); + + QString serviceName() const; + void setServiceName(const QString &serviceName); + +private Q_SLOTS: + void removeKioService(); + void removeNetAatachFinished(KJob *job); + +private: + Accounts::AccountId m_accountId; + QString m_serviceName; +}; + +#endif // REMOVE_KIOSERVICE_H diff --git a/src/plugins/kio-webdav/removenetattachjob.cpp b/src/plugins/kio-webdav/removenetattachjob.cpp new file mode 100644 index 0000000..4beb249 --- /dev/null +++ b/src/plugins/kio-webdav/removenetattachjob.cpp @@ -0,0 +1,102 @@ +/* + * SPDX-FileCopyrightText: 2012 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "removenetattachjob.h" + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +using namespace KWallet; +RemoveNetAttachJob::RemoveNetAttachJob(QObject *parent) + : KJob(parent) +{ +} + +RemoveNetAttachJob::~RemoveNetAttachJob() +{ + delete m_wallet; +} + +void RemoveNetAttachJob::start() +{ + QMetaObject::invokeMethod(this, "removeNetAttach", Qt::QueuedConnection); +} + +void RemoveNetAttachJob::removeNetAttach() +{ + WId windowId = 0; + if (qApp->activeWindow()) { + windowId = qApp->activeWindow()->winId(); + } + m_wallet = Wallet::openWallet(Wallet::NetworkWallet(), windowId, Wallet::Asynchronous); + connect(m_wallet, &KWallet::Wallet::walletOpened, this, &RemoveNetAttachJob::walletOpened); +} + +void RemoveNetAttachJob::walletOpened(bool opened) +{ + qDebug(); + if (!opened) { + setError(-1); + setErrorText(i18n("Can't open wallet")); + emitResult(); + return; + } + + deleteDesktopFile(); +} + +void RemoveNetAttachJob::deleteDesktopFile() +{ + QString path = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation); + path.append(QStringLiteral("/remoteview/") + m_uniqueId + QStringLiteral(".desktop")); + + KConfig _desktopFile(path, KConfig::SimpleConfig); + KConfigGroup desktopFile(&_desktopFile, "Desktop Entry"); + + const QUrl url(desktopFile.readEntry("URL", QUrl())); + Q_ASSERT(!url.isEmpty()); + + qDebug() << url.userName() << url.host() << url; + + QFile::remove(path); + org::kde::KDirNotify::emitFilesRemoved(QList() << QUrl(QStringLiteral("remote:/") + m_uniqueId)); + + QString walletUrl(QStringLiteral("webdav")); + walletUrl.append(QStringLiteral("-")); + walletUrl.append(url.userName()); + walletUrl.append(QStringLiteral("@")); + walletUrl.append(url.host()); + walletUrl.append(QStringLiteral(":-1")); // Overwrite the first option + + m_wallet->setFolder(QStringLiteral("Passwords")); + const QStringList entries = m_wallet->entryList(); + for (const QString &entry : entries) { + if (!entry.startsWith(walletUrl)) { + continue; + } + m_wallet->removeEntry(entry); + } + + emitResult(); +} + +QString RemoveNetAttachJob::uniqueId() const +{ + return m_uniqueId; +} + +void RemoveNetAttachJob::setUniqueId(const QString &uniqueId) +{ + m_uniqueId = uniqueId; +} diff --git a/src/plugins/kio-webdav/removenetattachjob.h b/src/plugins/kio-webdav/removenetattachjob.h new file mode 100644 index 0000000..524198e --- /dev/null +++ b/src/plugins/kio-webdav/removenetattachjob.h @@ -0,0 +1,41 @@ +/* + * SPDX-FileCopyrightText: 2012 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef REMOVENETATTACHJOB_H +#define REMOVENETATTACHJOB_H + +#include +#include + +namespace KWallet +{ +class Wallet; +} +class RemoveNetAttachJob : public KJob +{ + Q_OBJECT + +public: + explicit RemoveNetAttachJob(QObject *parent); + virtual ~RemoveNetAttachJob(); + + void start() override; + + QString uniqueId() const; + void setUniqueId(const QString &uniqueId); + +private Q_SLOTS: + void removeNetAttach(); + void walletOpened(bool opened); + void deleteDesktopFile(); + +private: + QString m_uniqueId; + + KWallet::Wallet *m_wallet = nullptr; +}; + +#endif // REMOVENETATTACHJOB_H diff --git a/src/plugins/kio-webdav/tests/CMakeLists.txt b/src/plugins/kio-webdav/tests/CMakeLists.txt new file mode 100644 index 0000000..00ceca4 --- /dev/null +++ b/src/plugins/kio-webdav/tests/CMakeLists.txt @@ -0,0 +1,16 @@ +include(ECMMarkAsTest) + +find_package(Qt5 5.2.0 CONFIG REQUIRED Test) + +add_definitions("-DTEST_DATA=\"${CMAKE_CURRENT_SOURCE_DIR}/data/\"") +include_directories(${CMAKE_CURRENT_BINARY_DIR} ${ACCOUNTSQT_INCLUDE_DIRS} ${SIGNONQT_INCLUDE_DIRS}) +set(COMMON_LINK_LIBS Qt5::Test Qt5::Core Qt5::Xml Qt5::DBus KF5::CoreAddons ${ACCOUNTSQT_LIBRARIES}) + +set(testname testnetattachjobs) +add_executable(${testname} ${testname}.cpp + ../createnetattachjob.cpp + ../removenetattachjob.cpp +) +add_test(kaccounts-${testname} ${testname}) +ecm_mark_as_test(${testname}) +target_link_libraries(${testname} ${COMMON_LINK_LIBS} KF5::ConfigCore KF5::KIOCore Qt5::Widgets KF5::Wallet) diff --git a/src/plugins/kio-webdav/tests/testnetattachjobs.cpp b/src/plugins/kio-webdav/tests/testnetattachjobs.cpp new file mode 100644 index 0000000..60acd54 --- /dev/null +++ b/src/plugins/kio-webdav/tests/testnetattachjobs.cpp @@ -0,0 +1,136 @@ +/* + * SPDX-FileCopyrightText: 2013 Alejandro Fiestas Olivares + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "../src/daemon/kio/createnetattachjob.h" +#include "../src/daemon/kio/removenetattachjob.h" + +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +using namespace KWallet; +class testNetAttachJobs : public QObject +{ + Q_OBJECT + +public: + explicit testNetAttachJobs(QObject *parent = 0); +private Q_SLOTS: + void testCreate(); + void testRemove(); + +private: + void enterLoop(); + + QTimer m_timer; + QEventLoop m_eventLoop; +}; + +testNetAttachJobs::testNetAttachJobs(QObject *parent) + : QObject(parent) +{ + m_timer.setSingleShot(true); + m_timer.setInterval(10000); // 10 seconds timeout for eventloop + + connect(&m_timer, &QTimer::timeout, &m_eventLoop, &QEventLoop::quit); +} + +void testNetAttachJobs::testCreate() +{ + QString destPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation); + destPath.append("/remoteview/test-unique-id.desktop"); + + qDebug() << destPath; + + org::kde::KDirNotify *watch = new org::kde::KDirNotify(QDBusConnection::sessionBus().baseService(), QString(), QDBusConnection::sessionBus()); + connect(watch, &org::kde::KDirNotify::FilesAdded, &m_eventLoop, &QEventLoop::quit); + + QSignalSpy signalSpy(watch, &org::kde::KDirNotify::FilesAdded); + + CreateNetAttachJob *job = new CreateNetAttachJob(this) job->setHost("host.com"); + job->setUsername("username"); + job->setPassword("password"); + job->setIcon("modem"); + job->setUniqueId("test-unique-id"); + job->setPath("files/webdav.php/"); + job->setName("test-service"); + job->setRealm("testRealm"); + job->exec(); + + enterLoop(); + + QCOMPARE(signalSpy.count(), 1); + QCOMPARE(signalSpy.first().first().toString(), QLatin1String("remote:/")); + Wallet *wallet = Wallet::openWallet(Wallet::NetworkWallet(), 0, Wallet::Synchronous); + wallet->setFolder("Passwords"); + + QVERIFY2(QFile::exists(destPath), "Desktop file has not been created"); + QVERIFY2(wallet->hasEntry("webdav-username@host.com:-1-testRealm"), "Wallet realm entry does not exists"); + QVERIFY2(wallet->hasEntry("webdav-username@host.com:-1-webdav"), "Wallet schema entry does not exists"); + + KConfig _desktopFile(destPath, KConfig::SimpleConfig); + KConfigGroup desktopFile(&_desktopFile, "Desktop Entry"); + QCOMPARE(desktopFile.readEntry("Icon", ""), QLatin1String("modem")); + QCOMPARE(desktopFile.readEntry("Name", ""), QLatin1String("test-service")); + QCOMPARE(desktopFile.readEntry("Type", ""), QLatin1String("Link")); + QCOMPARE(desktopFile.readEntry("URL", ""), QLatin1String("webdav://username@host.com/files/webdav.php/")); + QCOMPARE(desktopFile.readEntry("Charset", ""), QLatin1String("")); + + QMap data; + int result = wallet->readMap("webdav-username@host.com:-1-testRealm", data); + QCOMPARE(result, 0); + result = wallet->readMap("webdav-username@host.com:-1-webdav", data); + QCOMPARE(result, 0); + + QVERIFY2(data.keys().contains("login"), "Login data is not stored in the wallet"); + QVERIFY2(data.keys().contains("password"), "Password data is not stored in the wallet"); + QCOMPARE(data["login"], QLatin1String("username")); + QCOMPARE(data["password"], QLatin1String("password")); +} + +void testNetAttachJobs::testRemove() +{ + QString destPath = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); + destPath.append("test-unique-id.desktop"); + + org::kde::KDirNotify *watch = new org::kde::KDirNotify(QDBusConnection::sessionBus().baseService(), QString(), QDBusConnection::sessionBus()); + connect(watch, &org::kde::KDirNotify::FilesRemoved, &m_eventLoop, &QEventLoop::quit); + + QSignalSpy signalSpy(watch, &org::kde::KDirNotify::FilesRemoved); + + RemoveNetAttachJob *job = new RemoveNetAttachJob(this); + job->setUniqueId("test-unique-id"); + job->exec(); + + enterLoop(); + QCOMPARE(signalSpy.count(), 1); + QCOMPARE(signalSpy.first().first().toStringList().first(), QLatin1String("remote:/test-unique-id")); + Wallet *wallet = Wallet::openWallet(Wallet::NetworkWallet(), 0, Wallet::Synchronous); + wallet->setFolder("Passwords"); + + QVERIFY2(!QFile::exists(destPath), "Desktop file has not been removed"); + QVERIFY2(!wallet->hasEntry("webdav-username@host.com:-1-testRealm"), "Wallet realm entry still exists"); + QVERIFY2(!wallet->hasEntry("webdav-username@host.com:-1-webdav"), "Wallet schema entry still exists"); +} + +void testNetAttachJobs::enterLoop() +{ + m_timer.start(); + m_eventLoop.exec(); +} + +QTEST_MAIN(testNetAttachJobs) + +#include "testnetattachjobs.moc"