fixx akondi
Some checks failed
PikaOS Package Build & Release (Canary) (amd64-v3) / build (push) Failing after 12s

This commit is contained in:
Ward from fusion-voyager-3 2024-08-05 17:19:50 +03:00
parent 9e88d2b6de
commit a8e7e301c1
209 changed files with 47373 additions and 88 deletions

View File

@ -1 +1 @@
1 2

View File

@ -0,0 +1,4 @@
[codespell]
skip = ./build*,.git,*.notifyrc,*.desktop,*.json,*.xml
interactive = 3
ignore-words-list = accessort

View File

@ -0,0 +1,2 @@
# SPDX-FileCopyrightText: 2022 Laurent Montel <montel@kde.org>
# SPDX-License-Identifier: CC0-1.0

View File

@ -0,0 +1,4 @@
# SPDX-License-Identifier: CC0-1.0
# SPDX-FileCopyrightText: none
# clang-format
5a01983d4d11a78a7d118ec99b1cf01edab183fe

28
akonadi-mime5/.gitignore vendored Normal file
View File

@ -0,0 +1,28 @@
# SPDX-License-Identifier: CC0-1.0
# SPDX-FileCopyrightText: none
# Ignore the following files
*~
*.[oa]
*.diff
*.kate-swp
*.kdev4
.kdev_include_paths
*.kdevelop.pcs
*.moc
*.moc.cpp
*.orig
*.user
.*.swp
.swp.*
Doxyfile
Makefile
/build*/
.cmake/
CMakeLists.txt.user*
*.unc-backup*
compile_commands.json
.clang-format
.clangd
.idea
/cmake-build*
.cache

View File

@ -0,0 +1,11 @@
# SPDX-FileCopyrightText: 2020-2022 Laurent Montel <montel@kde.org>
# SPDX-License-Identifier: CC0-1.0
include:
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/reuse-lint.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/linux-qt6.yml
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd-qt6.yml
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/windows.yml
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/windows-qt6.yml

12
akonadi-mime5/.kde-ci.yml Normal file
View File

@ -0,0 +1,12 @@
# SPDX-FileCopyrightText: None
# SPDX-License-Identifier: CC0-1.0
Dependencies:
- 'on': ['@all']
'require':
'frameworks/extra-cmake-modules': '@latest'
'pim/akonadi' : '@same'
'pim/kmime' : '@same'
Options:
require-passing-tests-on: [ 'Linux', 'FreeBSD' ]

View File

@ -0,0 +1,8 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: akonadi-mime
Upstream-Contact: Montel Laurent <montel@kde.org>
Source: https://invent.kde.org/pim/akonadi-mime
Files: autotests/unittestenv/* autotests/messagetests/mails/*
Copyright: none
License: CC0-1.0

View File

@ -0,0 +1,140 @@
# SPDX-FileCopyrightText: none
# SPDX-License-Identifier: BSD-3-Clause
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
set(PIM_VERSION "5.22.3")
project(Akonadi-Mime VERSION ${PIM_VERSION})
# ECM setup
set(KF5_MIN_VERSION "5.99.0")
find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
set(QT_REQUIRED_VERSION "5.15.2")
if (QT_MAJOR_VERSION STREQUAL "6")
set(QT_REQUIRED_VERSION "6.4.0")
endif()
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(GenerateExportHeader)
include(ECMGenerateHeaders)
include(ECMGeneratePriFile)
include(ECMSetupVersion)
include(FeatureSummary)
include(KDEGitCommitHooks)
include(KDEClangFormat)
file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c)
kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
include(ECMQtDeclareLoggingCategory)
include(ECMDeprecationSettings)
include(ECMAddQch)
option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
set(AKONADI_MIME_VERSION ${PIM_VERSION})
set(AKONADI_VERSION "5.22.3")
set(KF5_MIME_VERSION "5.22.3")
ecm_setup_version(PROJECT VARIABLE_PREFIX AKONADIMIME
VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/akonadi-mime_version.h"
PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiMimeConfigVersion.cmake"
SOVERSION 5
)
########### Find packages ###########
find_package(KF5KIO ${KF5_MIN_VERSION} CONFIG REQUIRED)
find_package(KF5I18n ${KF5_MIN_VERSION} CONFIG REQUIRED)
find_package(KF5XmlGui ${KF5_MIN_VERSION} CONFIG REQUIRED)
find_package(KF5Mime ${KF5_MIME_VERSION} CONFIG REQUIRED)
find_package(KF5ItemModels ${KF5_MIN_VERSION} CONFIG REQUIRED)
find_package(KF5Akonadi ${AKONADI_VERSION} CONFIG REQUIRED)
set( SharedMimeInfo_MINIMUM_VERSION "1.3" )
find_package(SharedMimeInfo ${SharedMimeInfo_MINIMUM_VERSION} REQUIRED)
find_package(LibXslt)
set_package_properties(LibXslt PROPERTIES
DESCRIPTION "xsltproc"
URL "http://xmlsoft.org/XSLT/"
TYPE REQUIRED
PURPOSE "Needed to generate D-Bus interface specifications"
)
########### Targets ###########
ecm_set_disabled_deprecation_versions(QT 5.15.2
KF 5.99.0
)
option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF)
set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF)
if (USE_UNITY_CMAKE_SUPPORT)
set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON)
endif()
if(BUILD_TESTING)
set(AKONADI_MIME_TEST_EXPORT AKONADI_MIME_EXPORT)
endif()
configure_file(akonadi-mimeprivate_export.h.in "${CMAKE_CURRENT_BINARY_DIR}/akonadi-mimeprivate_export.h")
include_directories(${CMAKE_CURRENT_BINARY_DIR})
add_subdirectory(src)
add_subdirectory(serializers)
if(BUILD_TESTING)
add_subdirectory(autotests)
add_subdirectory(tests)
endif()
########### CMake Config Files ###########
set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5AkonadiMime")
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiMimeConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiMimeConfig.cmake"
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiMimeConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiMimeConfigVersion.cmake"
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
COMPONENT Devel
)
install(EXPORT KF5AkonadiMimeTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5AkonadiMimeTargets.cmake NAMESPACE KF5::)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/akonadi-mime_version.h
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/AkonadiMime COMPONENT Devel
)
ecm_qt_install_logging_categories(
EXPORT AKONADIMIME
FILE akonadi-mime.categories
DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
)
kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
ki18n_install(po)
if (BUILD_QCH)
ecm_install_qch_export(
TARGETS KF5AkonadiMime_QCH
FILE KF5AkonadiMimeQchTargets.cmake
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
COMPONENT Devel
)
set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiMimeQchTargets.cmake\")")
endif()
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)

View File

@ -0,0 +1,209 @@
{
"version": 3,
"configurePresets": [
{
"name": "base",
"displayName": "base preset",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build-${presetName}",
"installDir": "$env{KF5}",
"hidden": true
},
{
"name": "dev",
"displayName": "Build as debug",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
},
"inherits": [
"base"
]
},
{
"name": "coverage",
"displayName": "Build as debug",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"BUILD_COVERAGE": "ON",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
},
"inherits": [
"base"
]
},
{
"name": "dev-qt6",
"displayName": "Build against qt6",
"binaryDir": "${sourceDir}/build-qt6",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"BUILD_WITH_QT6": "ON",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
},
"inherits": [
"base"
]
},
{
"name": "dev-disable-deprecated",
"displayName": "Build as without deprecated methods",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"CMAKE_CXX_FLAGS_INIT": "-DQT_DISABLE_DEPRECATED_BEFORE=0x060000 -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x060000"
},
"inherits": [
"base"
]
},
{
"name": "asan",
"displayName": "Build with Asan support.",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"ECM_ENABLE_SANITIZERS" : "'address;undefined'",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
},
"inherits": [
"base"
]
},
{
"name": "pch",
"displayName": "Build with PCH support.",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"COMPILE_WITH_CMAKE_PCH_SUPPORT": "ON",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
},
"inherits": [
"base"
]
},
{
"name": "dev-clang",
"displayName": "dev-clang",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
},
"environment": {
"CXX": "clang++",
"CCACHE_DISABLE": "ON"
},
"inherits": [
"base"
]
},
{
"name": "unity",
"displayName": "Build with CMake unity support.",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"USE_UNITY_CMAKE_SUPPORT": "ON",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
},
"inherits": [
"base"
]
},
{
"name": "release",
"displayName": "Build as release mode.",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
},
"inherits": [
"base"
]
},
{
"name": "profile",
"displayName": "profile",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
},
"inherits": [
"base"
]
},
{
"name": "clazy",
"displayName": "clazy",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
},
"environment": {
"CXX": "clazy",
"CCACHE_DISABLE": "ON"
},
"inherits": [
"base"
]
}
],
"buildPresets": [
{
"name": "dev",
"configurePreset": "dev"
},
{
"name": "dev-qt6",
"configurePreset": "dev-qt6"
},
{
"name": "dev-disable-deprecated",
"configurePreset": "dev-disable-deprecated"
},
{
"name": "pch",
"configurePreset": "pch"
},
{
"name": "release",
"configurePreset": "release"
},
{
"name": "coverage",
"configurePreset": "coverage"
},
{
"name": "dev-clang",
"configurePreset": "dev-clang"
},
{
"name": "asan",
"configurePreset": "asan"
},
{
"name": "unity",
"configurePreset": "unity"
},
{
"name": "clazy",
"configurePreset": "clazy",
"environment": {
"CLAZY_CHECKS" : "level0,level1,detaching-member,ifndef-define-typo,isempty-vs-count,qrequiredresult-candidates,reserve-candidates,signal-with-return-value,unneeded-cast,function-args-by-ref,function-args-by-value,returning-void-expression,no-ctor-missing-parent-argument,isempty-vs-count,qhash-with-char-pointer-key,raw-environment-function,qproperty-type-mismatch,old-style-connect,qstring-allocations,container-inside-loop,heap-allocated-small-trivial-type,inefficient-qlist,qstring-varargs,level2,detaching-member,heap-allocated-small-trivial-type,isempty-vs-count,qstring-varargs,qvariant-template-instantiation,raw-environment-function,reserve-candidates,signal-with-return-value,thread-with-slots,no-ctor-missing-parent-argument,no-missing-typeinfo",
"CCACHE_DISABLE" : "ON"
}
}
],
"testPresets": [
{
"name": "dev",
"configurePreset": "dev",
"output": {"outputOnFailure": true},
"execution": {"noTestsAction": "error", "stopOnFailure": false}
},
{
"name": "asan",
"configurePreset": "asan",
"output": {"outputOnFailure": true},
"execution": {"noTestsAction": "error", "stopOnFailure": true}
}
]
}

View File

@ -0,0 +1,2 @@
# SPDX-FileCopyrightText: 2021-2022 Laurent Montel <montel@kde.org>
# SPDX-License-Identifier: BSD-3-Clause

View File

@ -0,0 +1,8 @@
# SPDX-FileCopyrightText: none
# SPDX-License-Identifier: BSD-3-Clause
@PACKAGE_INIT@
include(CMakeFindDependencyMacro)
find_dependency(KF5Akonadi "@AKONADI_VERSION@")
include("${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiMimeTargets.cmake")

View File

@ -0,0 +1,26 @@
Copyright (c) <year> <owner>. All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@ -0,0 +1,119 @@
Creative Commons Legal Code
CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES
NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE
AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION
ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE
OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS
LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION
OR WORKS PROVIDED HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer exclusive
Copyright and Related Rights (defined below) upon the creator and subsequent
owner(s) (each and all, an "owner") of an original work of authorship and/or
a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for the
purpose of contributing to a commons of creative, cultural and scientific
works ("Commons") that the public can reliably and without fear of later claims
of infringement build upon, modify, incorporate in other works, reuse and
redistribute as freely as possible in any form whatsoever and for any purposes,
including without limitation commercial purposes. These owners may contribute
to the Commons to promote the ideal of a free culture and the further production
of creative, cultural and scientific works, or to gain reputation or greater
distribution for their Work in part through the use and efforts of others.
For these and/or other purposes and motivations, and without any expectation
of additional consideration or compensation, the person associating CC0 with
a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
and publicly distribute the Work under its terms, with knowledge of his or
her Copyright and Related Rights in the Work and the meaning and intended
legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be protected
by copyright and related or neighboring rights ("Copyright and Related Rights").
Copyright and Related Rights include, but are not limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display, communicate,
and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or likeness
depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work, subject
to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal protection
of databases, and under any national implementation thereof, including any
amended or successor version of such directive); and
vii. other similar, equivalent or corresponding rights throughout the world
based on applicable law or treaty, and any national implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention of,
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
and Related Rights and associated claims and causes of action, whether now
known or unknown (including existing as well as future claims and causes of
action), in the Work (i) in all territories worldwide, (ii) for the maximum
duration provided by applicable law or treaty (including future time extensions),
(iii) in any current or future medium and for any number of copies, and (iv)
for any purpose whatsoever, including without limitation commercial, advertising
or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the
benefit of each member of the public at large and to the detriment of Affirmer's
heirs and successors, fully intending that such Waiver shall not be subject
to revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason be
judged legally invalid or ineffective under applicable law, then the Waiver
shall be preserved to the maximum extent permitted taking into account Affirmer's
express Statement of Purpose. In addition, to the extent the Waiver is so
judged Affirmer hereby grants to each affected person a royalty-free, non
transferable, non sublicensable, non exclusive, irrevocable and unconditional
license to exercise Affirmer's Copyright and Related Rights in the Work (i)
in all territories worldwide, (ii) for the maximum duration provided by applicable
law or treaty (including future time extensions), (iii) in any current or
future medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional purposes
(the "License"). The License shall be deemed effective as of the date CC0
was applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder of
the License, and in such case Affirmer hereby affirms that he or she will
not (i) exercise any of his or her remaining Copyright and Related Rights
in the Work or (ii) assert any associated claims and causes of action with
respect to the Work, in either case contrary to Affirmer's express Statement
of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered,
licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or warranties
of any kind concerning the Work, express, implied, statutory or otherwise,
including without limitation warranties of title, merchantability, fitness
for a particular purpose, non infringement, or the absence of latent or other
defects, accuracy, or the present or absence of errors, whether or not discoverable,
all to the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without limitation
any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims
responsibility for obtaining any necessary consents, permissions or other
rights required for any use of the Work.
d. Affirmer understands and acknowledges that Creative Commons is not a party
to this document and has no duty or obligation with respect to this CC0 or
use of the Work.

View File

@ -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.
<one line to give the program's name and an idea of what it does.>
Copyright (C)< yyyy> <name of author>
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.
<signature of Ty Coon >, 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.

View File

@ -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!

View File

@ -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!

View File

@ -0,0 +1,468 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts as the
successor of the GNU Library Public License, version 2, hence the version
number 2.1.]
Preamble
The licenses for most software are designed to take away your freedom to share
and change it. By contrast, the GNU General Public Licenses are intended to
guarantee your freedom to share and change free software--to make sure the
software is free for all its users.
This license, the Lesser General Public License, applies to some specially
designated software packages--typically libraries--of the Free Software Foundation
and other authors who decide to use it. You can use it too, but we suggest
you first think carefully about whether this license or the ordinary General
Public License is the better strategy to use in any particular case, based
on the explanations below.
When we speak of free software, we are referring to freedom of use, not price.
Our General Public Licenses are designed to make sure that you have the freedom
to distribute copies of free software (and charge for this service if you
wish); that you receive source code or can get it if you want it; that you
can change the software and use pieces of it in new free programs; and that
you are informed that you can do these things.
To protect your rights, we need to make restrictions that forbid distributors
to deny you these rights or to ask you to surrender these rights. These restrictions
translate to certain responsibilities for you if you distribute copies of
the library or if you modify it.
For example, if you distribute copies of the library, whether gratis or for
a fee, you must give the recipients all the rights that we gave you. You must
make sure that they, too, receive or can get the source code. If you link
other code with the library, you must provide complete object files to the
recipients, so that they can relink them with the library after making changes
to the library and recompiling it. And you must show them these terms so they
know their rights.
We protect your rights with a two-step method: (1) we copyright the library,
and (2) we offer you this license, which gives you legal permission to copy,
distribute and/or modify the library.
To protect each distributor, we want to make it very clear that there is no
warranty for the free library. Also, if the library is modified by someone
else and passed on, the recipients should know that what they have is not
the original version, so that the original author's reputation will not be
affected by problems that might be introduced by others.
Finally, software patents pose a constant threat to the existence of any free
program. We wish to make sure that a company cannot effectively restrict the
users of a free program by obtaining a restrictive license from a patent holder.
Therefore, we insist that any patent license obtained for a version of the
library must be consistent with the full freedom of use specified in this
license.
Most GNU software, including some libraries, is covered by the ordinary GNU
General Public License. This license, the GNU Lesser General Public License,
applies to certain designated libraries, and is quite different from the ordinary
General Public License. We use this license for certain libraries in order
to permit linking those libraries into non-free programs.
When a program is linked with a library, whether statically or using a shared
library, the combination of the two is legally speaking a combined work, a
derivative of the original library. The ordinary General Public License therefore
permits such linking only if the entire combination fits its criteria of freedom.
The Lesser General Public License permits more lax criteria for linking other
code with the library.
We call this license the "Lesser" General Public License because it does Less
to protect the user's freedom than the ordinary General Public License. It
also provides other free software developers Less of an advantage over competing
non-free programs. These disadvantages are the reason we use the ordinary
General Public License for many libraries. However, the Lesser license provides
advantages in certain special circumstances.
For example, on rare occasions, there may be a special need to encourage the
widest possible use of a certain library, so that it becomes a de-facto standard.
To achieve this, non-free programs must be allowed to use the library. A more
frequent case is that a free library does the same job as widely used non-free
libraries. In this case, there is little to gain by limiting the free library
to free software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free programs
enables a greater number of people to use a large body of free software. For
example, permission to use the GNU C Library in non-free programs enables
many more people to use the whole GNU operating system, as well as its variant,
the GNU/Linux operating system.
Although the Lesser General Public License is Less protective of the users'
freedom, it does ensure that the user of a program that is linked with the
Library has the freedom and the wherewithal to run that program using a modified
version of the Library.
The precise terms and conditions for copying, distribution and modification
follow. Pay close attention to the difference between a "work based on the
library" and a "work that uses the library". The former contains code derived
from the library, whereas the latter must be combined with the library in
order to run.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other program
which contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Lesser General
Public License (also called "this License"). Each licensee is addressed as
"you".
A "library" means a collection of software functions and/or data prepared
so as to be conveniently linked with application programs (which use some
of those functions and data) to form executables.
The "Library", below, refers to any such software library or work which has
been distributed under these terms. A "work based on the Library" means either
the Library or any derivative work under copyright law: that is to say, a
work containing the Library or a portion of it, either verbatim or with modifications
and/or translated straightforwardly into another language. (Hereinafter, translation
is included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for making modifications
to it. For a library, complete source code means all the source code for all
modules it contains, plus any associated interface definition files, plus
the scripts used to control compilation and installation of the library.
Activities other than copying, distribution and modification are not covered
by this License; they are outside its scope. The act of running a program
using the Library is not restricted, and output from such a program is covered
only if its contents constitute a work based on the Library (independent of
the use of the Library in a tool for writing it). Whether that is true depends
on what the Library does and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's complete source
code as you receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice and disclaimer
of warranty; keep intact all the notices that refer to this License and to
the absence of any warranty; and distribute a copy of this License along with
the Library.
You may charge a fee for the physical act of transferring a copy, and you
may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Library or any portion of it,
thus forming a work based on the Library, and copy and distribute such modifications
or work under the terms of Section 1 above, provided that you also meet all
of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices stating that
you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no charge to all
third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a table of
data to be supplied by an application program that uses the facility, other
than as an argument passed when the facility is invoked, then you must make
a good faith effort to ensure that, in the event an application does not supply
such function or table, the facility still operates, and performs whatever
part of its purpose remains meaningful.
(For example, a function in a library to compute square roots has a purpose
that is entirely well-defined independent of the application. Therefore, Subsection
2d requires that any application-supplied function or table used by this function
must be optional: if the application does not supply it, the square root function
must still compute square roots.)
These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Library, and can be reasonably
considered independent and separate works in themselves, then this License,
and its terms, do not apply to those sections when you distribute them as
separate works. But when you distribute the same sections as part of a whole
which is a work based on the Library, the distribution of the whole must be
on the terms of this License, whose permissions for other licensees extend
to the entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest your
rights to work written entirely by you; rather, the intent is to exercise
the right to control the distribution of derivative or collective works based
on the Library.
In addition, mere aggregation of another work not based on the Library with
the Library (or with a work based on the Library) on a volume of a storage
or distribution medium does not bring the other work under the scope of this
License.
3. You may opt to apply the terms of the ordinary GNU General Public License
instead of this License to a given copy of the Library. To do this, you must
alter all the notices that refer to this License, so that they refer to the
ordinary GNU General Public License, version 2, instead of to this License.
(If a newer version than version 2 of the ordinary GNU General Public License
has appeared, then you can specify that version instead if you wish.) Do not
make any other change in these notices.
Once this change is made in a given copy, it is irreversible for that copy,
so the ordinary GNU General Public License applies to all subsequent copies
and derivative works made from that copy.
This option is useful when you wish to copy part of the code of the Library
into a program that is not a library.
4. You may copy and distribute the Library (or a portion or derivative of
it, under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you accompany it with the complete corresponding
machine-readable source code, which must be distributed under the terms of
Sections 1 and 2 above on a medium customarily used for software interchange.
If distribution of object code is made by offering access to copy from a designated
place, then offering equivalent access to copy the source code from the same
place satisfies the requirement to distribute the source code, even though
third parties are not compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the Library, but
is designed to work with the Library by being compiled or linked with it,
is called a "work that uses the Library". Such a work, in isolation, is not
a derivative work of the Library, and therefore falls outside the scope of
this License.
However, linking a "work that uses the Library" with the Library creates an
executable that is a derivative of the Library (because it contains portions
of the Library), rather than a "work that uses the library". The executable
is therefore covered by this License. Section 6 states terms for distribution
of such executables.
When a "work that uses the Library" uses material from a header file that
is part of the Library, the object code for the work may be a derivative work
of the Library even though the source code is not. Whether this is true is
especially significant if the work can be linked without the Library, or if
the work is itself a library. The threshold for this to be true is not precisely
defined by law.
If such an object file uses only numerical parameters, data structure layouts
and accessors, and small macros and small inline functions (ten lines or less
in length), then the use of the object file is unrestricted, regardless of
whether it is legally a derivative work. (Executables containing this object
code plus portions of the Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may distribute
the object code for the work under the terms of Section 6. Any executables
containing that work also fall under Section 6, whether or not they are linked
directly with the Library itself.
6. As an exception to the Sections above, you may also combine or link a "work
that uses the Library" with the Library to produce a work containing portions
of the Library, and distribute that work under terms of your choice, provided
that the terms permit modification of the work for the customer's own use
and reverse engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the Library
is used in it and that the Library and its use are covered by this License.
You must supply a copy of this License. If the work during execution displays
copyright notices, you must include the copyright notice for the Library among
them, as well as a reference directing the user to the copy of this License.
Also, you must do one of these things:
a) Accompany the work with the complete corresponding machine-readable source
code for the Library including whatever changes were used in the work (which
must be distributed under Sections 1 and 2 above); and, if the work is an
executable linked with the Library, with the complete machine-readable "work
that uses the Library", as object code and/or source code, so that the user
can modify the Library and then relink to produce a modified executable containing
the modified Library. (It is understood that the user who changes the contents
of definitions files in the Library will not necessarily be able to recompile
the application to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the Library. A
suitable mechanism is one that (1) uses at run time a copy of the library
already present on the user's computer system, rather than copying library
functions into the executable, and (2) will operate properly with a modified
version of the library, if the user installs one, as long as the modified
version is interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at least three years,
to give the same user the materials specified in Subsection 6a, above, for
a charge no more than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy from a designated
place, offer equivalent access to copy the above specified materials from
the same place.
e) Verify that the user has already received a copy of these materials or
that you have already sent this user a copy.
For an executable, the required form of the "work that uses the Library" must
include any data and utility programs needed for reproducing the executable
from it. However, as a special exception, the materials to be distributed
need not include anything that is normally distributed (in either source or
binary form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component itself
accompanies the executable.
It may happen that this requirement contradicts the license restrictions of
other proprietary libraries that do not normally accompany the operating system.
Such a contradiction means you cannot use both them and the Library together
in an executable that you distribute.
7. You may place library facilities that are a work based on the Library side-by-side
in a single library together with other library facilities not covered by
this License, and distribute such a combined library, provided that the separate
distribution of the work based on the Library and of the other library facilities
is otherwise permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work based on the
Library, uncombined with any other library facilities. This must be distributed
under the terms of the Sections above.
b) Give prominent notice with the combined library of the fact that part of
it is a work based on the Library, and explaining where to find the accompanying
uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute the Library
except as expressly provided under this License. Any attempt otherwise to
copy, modify, sublicense, link with, or distribute the Library is void, and
will automatically terminate your rights under this License. However, parties
who have received copies, or rights, from you under this License will not
have their licenses terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not signed
it. However, nothing else grants you permission to modify or distribute the
Library or its derivative works. These actions are prohibited by law if you
do not accept this License. Therefore, by modifying or distributing the Library
(or any work based on the Library), you indicate your acceptance of this License
to do so, and all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the Library),
the recipient automatically receives a license from the original licensor
to copy, distribute, link with or modify the Library subject to these terms
and conditions. You may not impose any further restrictions on the recipients'
exercise of the rights granted herein. You are not responsible for enforcing
compliance by third parties with this License.
11. If, as a consequence of a court judgment or allegation of patent infringement
or for any other reason (not limited to patent issues), conditions are imposed
on you (whether by court order, agreement or otherwise) that contradict the
conditions of this License, they do not excuse you from the conditions of
this License. If you cannot distribute so as to satisfy simultaneously your
obligations under this License and any other pertinent obligations, then as
a consequence you may not distribute the Library at all. For example, if a
patent license would not permit royalty-free redistribution of the Library
by all those who receive copies directly or indirectly through you, then the
only way you could satisfy both it and this License would be to refrain entirely
from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents
or other property right claims or to contest validity of any such claims;
this section has the sole purpose of protecting the integrity of the free
software distribution system which is implemented by public license practices.
Many people have made generous contributions to the wide range of software
distributed through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing to
distribute software through any other system and a licensee cannot impose
that choice.
This section is intended to make thoroughly clear what is believed to be a
consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in certain
countries either by patents or by copyrighted interfaces, the original copyright
holder who places the Library under this License may add an explicit geographical
distribution limitation excluding those countries, so that distribution is
permitted only in or among countries not thus excluded. In such case, this
License incorporates the limitation as if written in the body of this License.
13. The Free Software Foundation may publish revised and/or new versions of
the Lesser General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to address
new problems or concerns.
Each version is given a distinguishing version number. If the Library specifies
a version number of this License which applies to it and "any later version",
you have the option of following the terms and conditions either of that version
or of any later version published by the Free Software Foundation. If the
Library does not specify a license version number, you may choose any version
ever published by the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free programs
whose distribution conditions are incompatible with these, write to the author
to ask for permission. For software which is copyrighted by the Free Software
Foundation, write to the Free Software Foundation; we sometimes make exceptions
for this. Our decision will be guided by the two goals of preserving the free
status of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest possible
use to the public, we recommend making it free software that everyone can
redistribute and change. You can do so by permitting redistribution under
these terms (or, alternatively, under the terms of the ordinary General Public
License).
To apply these terms, attach the following notices to the library. It is safest
to attach them to the start of each source file to most effectively convey
the exclusion of warranty; and each file should have at least the "copyright"
line and a pointer to where the full notice is found.
<one line to give the library's name and an idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free
Software Foundation; either version 2.1 of the License, or (at your option)
any later version.
This library is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
details.
You should have received a copy of the GNU Lesser General Public License along
with this library; if not, write to the Free Software Foundation, Inc., 51
Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your school,
if any, to sign a "copyright disclaimer" for the library, if necessary. Here
is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in
the library `Frob' (a library for tweaking knobs) written
by James Random Hacker.
< signature of Ty Coon > , 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@ -0,0 +1,163 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates the terms
and conditions of version 3 of the GNU General Public License, supplemented
by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser General
Public License, and the "GNU GPL" refers to version 3 of the GNU General Public
License.
"The Library" refers to a covered work governed by this License, other than
an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided by the
Library, but which is not otherwise based on the Library. Defining a subclass
of a class defined by the Library is deemed a mode of using an interface provided
by the Library.
A "Combined Work" is a work produced by combining or linking an Application
with the Library. The particular version of the Library with which the Combined
Work was made is also called the "Linked Version".
The "Minimal Corresponding Source" for a Combined Work means the Corresponding
Source for the Combined Work, excluding any source code for portions of the
Combined Work that, considered in isolation, are based on the Application,
and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the object
code and/or source code for the Application, including any data and utility
programs needed for reproducing the Combined Work from the Application, but
excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License without
being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a facility
refers to a function or data to be supplied by an Application that uses the
facility (other than as an argument passed when the facility is invoked),
then you may convey a copy of the modified version:
a) under this License, provided that you make a good faith effort to ensure
that, in the event an Application does not supply the function or data, the
facility still operates, and performs whatever part of its purpose remains
meaningful, or
b) under the GNU GPL, with none of the additional permissions of this License
applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from a header
file that is part of the Library. You may convey such object code under terms
of your choice, provided that, if the incorporated material is not limited
to numerical parameters, data structure layouts and accessors, or small macros,
inline functions and templates (ten or fewer lines in length), you do both
of the following:
a) Give prominent notice with each copy of the object code that the Library
is used in it and that the Library and its use are covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that, taken together,
effectively do not restrict modification of the portions of the Library contained
in the Combined Work and reverse engineering for debugging such modifications,
if you also do each of the following:
a) Give prominent notice with each copy of the Combined Work that the Library
is used in it and that the Library and its use are covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during execution, include
the copyright notice for the Library among these notices, as well as a reference
directing the user to the copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this License,
and the Corresponding Application Code in a form suitable for, and under terms
that permit, the user to recombine or relink the Application with a modified
version of the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
1) Use a suitable shared library mechanism for linking with the Library. A
suitable mechanism is one that (a) uses at run time a copy of the Library
already present on the user's computer system, and (b) will operate properly
with a modified version of the Library that is interface-compatible with the
Linked Version.
e) Provide Installation Information, but only if you would otherwise be required
to provide such information under section 6 of the GNU GPL, and only to the
extent that such information is necessary to install and execute a modified
version of the Combined Work produced by recombining or relinking the Application
with a modified version of the Linked Version. (If you use option 4d0, the
Installation Information must accompany the Minimal Corresponding Source and
Corresponding Application Code. If you use option 4d1, you must provide the
Installation Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the Library side
by side in a single library together with other library facilities that are
not Applications and are not covered by this License, and convey such a combined
library under terms of your choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based on the
Library, uncombined with any other library facilities, conveyed under the
terms of this License.
b) Give prominent notice with the combined library that part of it is a work
based on the Library, and explaining where to find the accompanying uncombined
form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions of the
GNU Lesser General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to address
new problems or concerns.
Each version is given a distinguishing version number. If the Library as you
received it specifies that a certain numbered version of the GNU Lesser General
Public License "or any later version" applies to it, you have the option of
following the terms and conditions either of that published version or of
any later version published by the Free Software Foundation. If the Library
as you received it does not specify a version number of the GNU Lesser General
Public License, you may choose any version of the GNU Lesser General Public
License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide whether
future versions of the GNU Lesser General Public License shall apply, that
proxy's public statement of acceptance of any version is permanent authorization
for you to choose that version for the Library.

View File

@ -0,0 +1,12 @@
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the license or (at your option) any later version
that is accepted by the membership of KDE e.V. (or its successor
approved by the membership of KDE e.V.), which shall act as a
proxy as defined in Section 6 of version 3 of the license.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

9
akonadi-mime5/README.md Normal file
View File

@ -0,0 +1,9 @@
# Akonadi Mime #
Akonadi Mime is a library that effectively bridges the type-agnostic API of
the Akonadi client libraries and the domain-specific KMime library. It provides
jobs, models and other helpers to make working with emails through Akonadi easier.
The most notable classes are "commands" to update email flags (like read, spam,
etc.) or move it to trash and Akonadi::StandardMailActionManager which provides
set of email-specific QActions.

View File

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: 2016 Daniel Vrátil <dvratil@kde.org>
SPDX-License-Identifier: CC0-1.0

View File

@ -0,0 +1,6 @@
/*
SPDX-FileCopyrightText: none
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "akonadi-mime_export.h"
#define AKONADI_MIME_TEST_EXPORT @AKONADI_MIME_TEST_EXPORT@

View File

@ -0,0 +1,59 @@
# SPDX-FileCopyrightText: none
# SPDX-License-Identifier: BSD-3-Clause
include(ECMAddTests)
find_package(Qt${QT_MAJOR_VERSION} ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Test Widgets)
add_subdirectory(messagetests)
set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
include_directories(
${CMAKE_SOURCE_DIR}/serializers
${CMAKE_BINARY_DIR}/serializers
)
# for racetest
set(requester_exe_string "QLatin1String( \\\"${CMAKE_CURRENT_BINARY_DIR}/requester\\\" )" )
add_definitions( -DREQUESTER_EXE="${requester_exe_string}" )
#macro(add_akonadi_isolated_test _source)
# kconfig_add_kcfg_files( _srcList ../src/specialmailcollectionssettings.kcfgc )
### TODO: add the necessary API in SpecialCollections
#add_akonadi_isolated_test(SOURCE localfolderstest.cpp LINK_LIBRARIES "KF5::ConfigGui;KF5::AkonadiMime;KF5::I18n")
#add_akonadi_isolated_test(SOURCE localfoldersrequestjobtest.cpp LINK_LIBRARIES "KF5::ConfigGui;KF5::AkonadiMime;KF5::I18n")
# TODO: debug and fix this test
#add_akonadi_isolated_test(racetest.cpp)
add_subdirectory(benchmarker)
ecm_add_test(mailserializerplugintest.cpp ${CMAKE_BINARY_DIR}/serializers/akonadi_serializer_mail_debug.cpp
LINK_LIBRARIES KF5::AkonadiMime KF5::AkonadiCore KF5::AkonadiPrivate KF5::Mime Qt::Test
TEST_NAME mailserializerplugintest
)
ecm_add_test(mailserializertest.cpp
${CMAKE_SOURCE_DIR}/serializers/akonadi_serializer_mail.cpp
${CMAKE_BINARY_DIR}/serializers/akonadi_serializer_mail_debug.cpp
LINK_LIBRARIES KF5::AkonadiMime KF5::AkonadiCore KF5::AkonadiPrivate KF5::Mime Qt::Test
TEST_NAME mailserializertest
)
ecm_add_test(newmailnotifierattributetest.cpp newmailnotifierattributetest.h
LINK_LIBRARIES KF5::AkonadiMime KF5::AkonadiCore Qt::Test
TEST_NAME newmailnotifierattributetest
)
ecm_add_test(pop3resourceattributetest.cpp pop3resourceattributetest.h
LINK_LIBRARIES KF5::AkonadiMime KF5::AkonadiCore Qt::Test
TEST_NAME pop3resourceattributetest
)
ecm_add_test(addressattributetest.cpp addressattributetest.h
LINK_LIBRARIES KF5::AkonadiMime KF5::AkonadiCore Qt::Test
TEST_NAME addressattributetest
)
ecm_add_test(mdnstateattributetest.cpp mdnstateattributetest.h
LINK_LIBRARIES KF5::AkonadiMime KF5::AkonadiCore Qt::Test
TEST_NAME mdnstateattributetest
)

View File

@ -0,0 +1,37 @@
/*
SPDX-FileCopyrightText: 2021-2022 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "addressattributetest.h"
#include "addressattribute.h"
#include <QTest>
QTEST_MAIN(AddressAttributeTest)
AddressAttributeTest::AddressAttributeTest(QObject *parent)
: QObject(parent)
{
}
void AddressAttributeTest::shouldHaveDefaultValues()
{
Akonadi::AddressAttribute attr;
QVERIFY(attr.from().isEmpty());
QVERIFY(attr.to().isEmpty());
QVERIFY(attr.cc().isEmpty());
QVERIFY(attr.bcc().isEmpty());
QVERIFY(!attr.deliveryStatusNotification());
}
void AddressAttributeTest::shouldDeserializeValues()
{
Akonadi::AddressAttribute attr;
attr.setFrom(QStringLiteral("from"));
attr.setTo({QStringLiteral("to")});
attr.setBcc({QStringLiteral("bcc")});
attr.setCc({QStringLiteral("cc")});
attr.setDeliveryStatusNotification(true);
const QByteArray ba = attr.serialized();
Akonadi::AddressAttribute result;
result.deserialize(ba);
QVERIFY(attr == result);
}

View File

@ -0,0 +1,20 @@
/*
SPDX-FileCopyrightText: 2021-2022 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include <QObject>
class AddressAttributeTest : public QObject
{
Q_OBJECT
public:
explicit AddressAttributeTest(QObject *parent = nullptr);
~AddressAttributeTest() override = default;
private Q_SLOTS:
void shouldHaveDefaultValues();
void shouldDeserializeValues();
};

View File

@ -0,0 +1,34 @@
# SPDX-FileCopyrightText: none
# SPDX-License-Identifier: BSD-3-Clause
kde_enable_exceptions()
set(benchmarker_SRCS
maildir/maildir.cpp
maildir/maildirimport.cpp
main.cpp
maketest.cpp
test.cpp
testmaildir.cpp
maildir/maildirfetchallheaders.cpp
maildir/maildir20percentread.cpp
maildir/maildirfetchunreadheaders.cpp
maildir/maildirremovereadmessages.cpp
testvcard.cpp
vcard/vcard.cpp
vcard/vcardimport.cpp
)
add_executable(akonadi_benchmarker ${benchmarker_SRCS})
target_link_libraries(akonadi_benchmarker
KF5::AkonadiMime
KF5::Mime
Qt::Test
KF5::AkonadiCore
KF5::I18n
Qt::Widgets
Qt::DBus
)
install(TARGETS akonadi_benchmarker ${KF_INSTALL_TARGETS_DEFAULT_ARGS})

View File

@ -0,0 +1,34 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "maildir.h"
#include <Akonadi/CollectionDeleteJob>
#include <Akonadi/CollectionFetchJob>
#include <Akonadi/ItemDeleteJob>
#include <Akonadi/ItemFetchJob>
#include <Akonadi/ItemFetchScope>
#include <Akonadi/ItemModifyJob>
#include "akonadi/messageparts.h"
#include <KMime/KMimeMessage>
#define WAIT_TIME 100
using namespace Akonadi;
MailDir::MailDir(const QString &dir)
: MakeTest()
{
createAgent(QStringLiteral("akonadi_maildir_resource"));
configureDBusIface(QStringLiteral("Maildir"), dir);
}
MailDir::MailDir()
: MakeTest()
{
}

View File

@ -0,0 +1,18 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include "../maketest.h"
class MailDir : public MakeTest
{
Q_OBJECT
public:
MailDir(const QString &dir);
MailDir();
};

View File

@ -0,0 +1,44 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "maildir20percentread.h"
#include <QDebug>
#include <Akonadi/CollectionFetchJob>
#include <Akonadi/CollectionFetchScope>
#include <Akonadi/ItemFetchJob>
#include <Akonadi/ItemModifyJob>
using namespace Akonadi;
MailDir20PercentAsRead::MailDir20PercentAsRead()
: MailDir()
{
}
void MailDir20PercentAsRead::runTest()
{
timer.start();
qDebug() << " Marking 20% of messages as read.";
auto clj2 = new CollectionFetchJob(Collection::root(), CollectionFetchJob::Recursive);
clj2->fetchScope().setResource(currentInstance.identifier());
clj2->exec();
const Collection::List list2 = clj2->collections();
for (const Collection &collection : list2) {
auto ifj = new ItemFetchJob(collection, this);
ifj->exec();
Item::List itemlist = ifj->items();
for (int i = ifj->items().count() - 1; i >= 0; i -= 5) {
Item item = itemlist[i];
item.setFlag("\\SEEN");
auto isj = new ItemModifyJob(item, this);
isj->exec();
}
}
outputStats(QStringLiteral("mark20percentread"));
}

View File

@ -0,0 +1,18 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include "maildir.h"
class MailDir20PercentAsRead : public MailDir
{
Q_OBJECT
public:
MailDir20PercentAsRead();
void runTest() override;
};

View File

@ -0,0 +1,46 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "maildirfetchallheaders.h"
#include <QDebug>
#include <Akonadi/CollectionFetchJob>
#include <Akonadi/CollectionFetchScope>
#include <Akonadi/ItemFetchJob>
#include <Akonadi/ItemFetchScope>
#include "akonadi/messageparts.h"
#include <KMime/KMimeMessage>
using namespace Akonadi;
MailDirFetchAllHeaders::MailDirFetchAllHeaders()
: MailDir()
{
}
void MailDirFetchAllHeaders::runTest()
{
timer.start();
qDebug() << " Listing all headers of every folder.";
auto clj = new CollectionFetchJob(Collection::root(), CollectionFetchJob::Recursive);
clj->fetchScope().setResource(currentInstance.identifier());
clj->exec();
const Collection::List list = clj->collections();
for (const Collection &collection : list) {
auto ifj = new ItemFetchJob(collection, this);
ifj->fetchScope().fetchPayloadPart(MessagePart::Envelope);
ifj->exec();
QString a;
const auto items = ifj->items();
for (const Item &item : items) {
a = item.payload<KMime::Message::Ptr>()->subject()->asUnicodeString();
}
}
outputStats(QStringLiteral("fullheaderlist"));
}

View File

@ -0,0 +1,18 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include "maildir.h"
class MailDirFetchAllHeaders : public MailDir
{
Q_OBJECT
public:
MailDirFetchAllHeaders();
void runTest() override;
};

View File

@ -0,0 +1,49 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "maildirfetchunreadheaders.h"
#include <QDebug>
#include <Akonadi/CollectionFetchJob>
#include <Akonadi/CollectionFetchScope>
#include <Akonadi/ItemFetchJob>
#include <Akonadi/ItemFetchScope>
#include "akonadi/messageparts.h"
#include <KMime/KMimeMessage>
using namespace Akonadi;
MailDirFetchUnreadHeaders::MailDirFetchUnreadHeaders()
: MailDir()
{
}
void MailDirFetchUnreadHeaders::runTest()
{
timer.start();
qDebug() << " Listing headers of unread messages of every folder.";
auto clj3 = new CollectionFetchJob(Collection::root(), CollectionFetchJob::Recursive);
clj3->fetchScope().setResource(currentInstance.identifier());
clj3->exec();
const Collection::List list3 = clj3->collections();
for (const Collection &collection : list3) {
auto ifj = new ItemFetchJob(collection, this);
ifj->fetchScope().fetchPayloadPart(MessagePart::Envelope);
ifj->exec();
QString a;
const auto items = ifj->items();
for (const Item &item : items) {
// filter read messages
if (!item.hasFlag("\\SEEN")) {
a = item.payload<KMime::Message::Ptr>()->subject()->asUnicodeString();
}
}
}
outputStats(QStringLiteral("unreadheaderlist"));
}

View File

@ -0,0 +1,18 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include "maildir.h"
class MailDirFetchUnreadHeaders : public MailDir
{
Q_OBJECT
public:
MailDirFetchUnreadHeaders();
void runTest() override;
};

View File

@ -0,0 +1,29 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "maildirimport.h"
#include <QDebug>
#include <QTest>
#define WAIT_TIME 100
MailDirImport::MailDirImport(const QString &dir)
: MailDir(dir)
{
}
void MailDirImport::runTest()
{
done = false;
timer.start();
qDebug() << " Synchronising resource.";
currentInstance.synchronize();
while (!done) {
QTest::qWait(WAIT_TIME);
}
outputStats(QStringLiteral("import"));
}

View File

@ -0,0 +1,18 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include "maildir.h"
class MailDirImport : public MailDir
{
Q_OBJECT
public:
MailDirImport(const QString &dir);
void runTest() override;
};

View File

@ -0,0 +1,44 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "maildirremovereadmessages.h"
#include <QDebug>
#include <Akonadi/CollectionFetchJob>
#include <Akonadi/CollectionFetchScope>
#include <Akonadi/ItemDeleteJob>
#include <Akonadi/ItemFetchJob>
using namespace Akonadi;
MailDirRemoveReadMessages::MailDirRemoveReadMessages()
: MailDir()
{
}
void MailDirRemoveReadMessages::runTest()
{
timer.start();
qDebug() << " Removing read messages from every folder.";
auto clj4 = new CollectionFetchJob(Collection::root(), CollectionFetchJob::Recursive);
clj4->fetchScope().setResource(currentInstance.identifier());
clj4->exec();
const Collection::List list4 = clj4->collections();
for (const Collection &collection : list4) {
auto ifj = new ItemFetchJob(collection, this);
ifj->exec();
const auto items = ifj->items();
for (const Item &item : items) {
// delete read messages
if (item.hasFlag("\\SEEN")) {
auto idj = new ItemDeleteJob(item, this);
idj->exec();
}
}
}
outputStats(QStringLiteral("removereaditems"));
}

View File

@ -0,0 +1,18 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include "maildir.h"
class MailDirRemoveReadMessages : public MailDir
{
Q_OBJECT
public:
MailDirRemoveReadMessages();
void runTest() override;
};

View File

@ -0,0 +1,40 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "testmaildir.h"
#include "testvcard.h"
#include <QApplication>
#include <QCommandLineOption>
#include <QCommandLineParser>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QCommandLineParser parser;
parser.addVersionOption();
parser.addHelpOption();
parser.addOption(QCommandLineOption(QStringList() << QStringLiteral("maildir"),
QStringLiteral("Path to maildir to be used as data source"),
QStringLiteral("argument")));
parser.addOption(QCommandLineOption(QStringList() << QStringLiteral("vcarddir"),
QStringLiteral("Path to vvcarddir to be used as data source"),
QStringLiteral("argument")));
parser.process(app);
const QString maildir = parser.value(QStringLiteral("maildir"));
const QString vcarddir = parser.value(QStringLiteral("vcarddir"));
auto mailDirTest = new TestMailDir(maildir);
auto vcardTest = new TestVCard(vcarddir);
mailDirTest->runTests();
vcardTest->runTests();
return app.exec();
}

View File

@ -0,0 +1,117 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "test.h"
#include <Akonadi/AgentInstanceCreateJob>
#include <Akonadi/CollectionDeleteJob>
#include <Akonadi/CollectionFetchJob>
#include <Akonadi/CollectionFetchScope>
#include <QDBusConnection>
#include <QDBusInterface>
#include <QDebug>
#include <QTest>
using namespace Akonadi;
MakeTest::MakeTest()
{
connect(AgentManager::self(), &AgentManager::instanceRemoved, this, &MakeTest::instanceRemoved);
connect(AgentManager::self(), &AgentManager::instanceStatusChanged, this, &MakeTest::instanceStatusChanged);
}
void MakeTest::createAgent(const QString &name)
{
const AgentType type = AgentManager::self()->type(name);
auto job = new AgentInstanceCreateJob(type);
job->exec();
currentInstance = job->instance();
if (job->error() || !currentInstance.isValid()) {
qDebug() << " Unable to create resource" << name;
exit(-1);
} else {
qDebug() << " Created resource instance" << currentInstance.identifier();
}
QTest::qWait(100); // fix this hack
}
void MakeTest::configureDBusIface(const QString &name, const QString &dir)
{
auto configIface = new QDBusInterface(QLatin1String("org.freedesktop.Akonadi.Resource.") + currentInstance.identifier(),
QStringLiteral("/Settings"),
QLatin1String("org.kde.Akonadi.") + name + QLatin1String(".Settings"),
QDBusConnection::sessionBus(),
this);
configIface->call(QStringLiteral("setPath"), dir);
configIface->call(QStringLiteral("setReadOnly"), true);
if (!configIface->isValid()) {
qFatal("Could not configure instance %s.", qPrintable(currentInstance.identifier()));
}
}
void MakeTest::instanceRemoved(const AgentInstance &instance)
{
Q_UNUSED(instance)
done = true;
// qDebug() << "agent removed:" << instance;
}
void MakeTest::instanceStatusChanged(const AgentInstance &instance)
{
// qDebug() << "agent status changed:" << agentIdentifier << status << message ;
if (instance == currentInstance) {
if (instance.status() == AgentInstance::Running) {
// qDebug() << " " << message;
}
if (instance.status() == AgentInstance::Idle) {
done = true;
}
}
}
void MakeTest::outputStats(const QString &description)
{
output(description + QLatin1String("\t\t") + currentAccount + QLatin1String("\t\t") + QString::number(timer.elapsed()) + QLatin1Char('\n'));
}
void MakeTest::output(const QString &message)
{
QTextStream out(stdout);
out << message;
}
void MakeTest::removeCollections()
{
timer.restart();
qDebug() << " Removing every folder sequentially.";
auto clj5 = new CollectionFetchJob(Collection::root(), CollectionFetchJob::Recursive);
clj5->fetchScope().setResource(currentInstance.identifier());
clj5->exec();
const Collection::List list5 = clj5->collections();
for (const Collection &collection : list5) {
auto cdj = new CollectionDeleteJob(collection, this);
cdj->exec();
}
outputStats(QStringLiteral("removeallcollections"));
}
void MakeTest::removeResource()
{
qDebug() << " Removing resource.";
AgentManager::self()->removeInstance(currentInstance);
}
void MakeTest::start()
{
runTest();
}

View File

@ -0,0 +1,38 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include <Akonadi/AgentManager>
#include <Akonadi/Job>
#include <QElapsedTimer>
class MakeTest : public QObject
{
Q_OBJECT
protected Q_SLOTS:
void createAgent(const QString &name);
void configureDBusIface(const QString &name, const QString &dir);
void instanceRemoved(const Akonadi::AgentInstance &instance);
void instanceStatusChanged(const Akonadi::AgentInstance &instance);
void outputStats(const QString &description);
void output(const QString &message);
protected:
Akonadi::AgentInstance currentInstance;
QString currentAccount;
QElapsedTimer timer;
bool done;
void removeCollections();
void removeResource();
virtual void runTest() = 0;
public:
MakeTest();
void start();
};

View File

@ -0,0 +1,20 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "test.h"
void Test::addTest(MakeTest *test)
{
mListTest.append(test);
}
void Test::runTests()
{
for (int i = 0; i < mListTest.size(); ++i) {
mListTest.at(i)->start();
}
}

View File

@ -0,0 +1,20 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
based on kdepimlibs/akonadi/tests/benchmarker.cpp wrote by Robert Zwerus <arzie@dds.nl>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include "maketest.h"
class Test
{
protected:
QList<MakeTest *> mListTest;
public:
void addTest(MakeTest *test);
void runTests();
};

View File

@ -0,0 +1,19 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "testmaildir.h"
#include "maildir/maildir20percentread.h"
#include "maildir/maildirfetchallheaders.h"
#include "maildir/maildirfetchunreadheaders.h"
#include "maildir/maildirimport.h"
TestMailDir::TestMailDir(const QString &dir)
{
addTest(new MailDirImport(dir));
addTest(new MailDirFetchAllHeaders());
addTest(new MailDir20PercentAsRead());
addTest(new MailDirFetchUnreadHeaders());
}

View File

@ -0,0 +1,15 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include "test.h"
class TestMailDir : public Test
{
public:
TestMailDir(const QString &dir);
};

View File

@ -0,0 +1,13 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "testvcard.h"
#include "vcard/vcardimport.h"
TestVCard::TestVCard(const QString &dir)
{
addTest(new VCardImport(dir));
}

View File

@ -0,0 +1,15 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include "test.h"
class TestVCard : public Test
{
public:
TestVCard(const QString &dir);
};

View File

@ -0,0 +1,19 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "vcard.h"
VCard::VCard(const QString &dir)
: MakeTest()
{
createAgent(QStringLiteral("akonadi_vcarddir_resource"));
configureDBusIface(QStringLiteral("VCard"), dir);
}
VCard::VCard()
: MakeTest()
{
}

View File

@ -0,0 +1,17 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include "../maketest.h"
class VCard : public MakeTest
{
Q_OBJECT
public:
VCard(const QString &dir);
VCard();
};

View File

@ -0,0 +1,28 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "vcardimport.h"
#include <QDebug>
#include <QTest>
#define WAIT_TIME 50
VCardImport::VCardImport(const QString &dir)
: VCard(dir)
{
}
void VCardImport::runTest()
{
done = false;
timer.start();
qDebug() << "Synchronising resource";
currentInstance.synchronize();
while (!done) {
QTest::qWait(WAIT_TIME);
}
outputStats(QStringLiteral("import"));
}

View File

@ -0,0 +1,17 @@
/*
SPDX-FileCopyrightText: 2009 Igor Trindade Oliveira <igor_trindade@yahoo.com.br>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include "vcard.h"
class VCardImport : public VCard
{
Q_OBJECT
public:
VCardImport(const QString &dir);
void runTest() override;
};

View File

@ -0,0 +1,42 @@
/*
SPDX-FileCopyrightText: 2006 Volker Krause <vkrause@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include <QObject>
class CollectionJobTest : public QObject
{
Q_OBJECT
private Q_SLOTS:
void initTestCase();
void testTopLevelList();
void testFolderList();
void testSignalOrder();
void testNonRecursiveFolderList();
void testEmptyFolderList();
void testSearchFolderList();
void testResourceFolderList();
void testMimeTypeFilter();
void testCreateDeleteFolder_data();
void testCreateDeleteFolder();
void testIllegalDeleteFolder();
void testStatistics();
void testModify_data();
void testModify();
void testIllegalModify();
void testUtf8CollectionName_data();
void testUtf8CollectionName();
void testMultiList();
void testRecursiveMultiList();
void testNonOverlappingRootList();
void testRidFetch();
void testRidCreateDelete_data();
void testRidCreateDelete();
void testAncestorRetrieval();
void testListPreference();
void testReference();
};

View File

@ -0,0 +1,186 @@
/*
SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "localfoldersrequestjobtest.h"
#include "collectionpathresolver.h"
#include <QSignalSpy>
#include <QDebug>
#include "../src/specialmailcollectionstesting_p.h"
#include "specialcollectionattribute.h"
#include "specialcollections.h"
#include <Akonadi/AgentInstance>
#include <Akonadi/AgentManager>
#include <Akonadi/CollectionCreateJob>
#include <Akonadi/CollectionDeleteJob>
#include <Akonadi/CollectionFetchJob>
#include <Akonadi/CollectionModifyJob>
#include <QStandardPaths>
#include <akonadi/qtest_akonadi.h>
#include <control.h>
#include <specialmailcollections.h>
#include <specialmailcollectionsrequestjob.h>
using namespace Akonadi;
void LocalFoldersRequestJobTest::initTestCase()
{
qRegisterMetaType<Akonadi::AgentInstance>();
QVERIFY(Control::start());
QTest::qWait(1000);
SpecialMailCollections *smc = SpecialMailCollections::self();
SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
Q_ASSERT(smc);
Q_ASSERT(smct);
Q_UNUSED(smc)
// No one has created the default resource. LF has no folders.
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
}
void LocalFoldersRequestJobTest::testRequestWithNoDefaultResourceExisting()
{
SpecialMailCollections *smc = SpecialMailCollections::self();
SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
Q_ASSERT(smc);
Q_ASSERT(smct);
QSignalSpy spy(smc, &SpecialMailCollections::collectionsChanged);
QSignalSpy defSpy(smc, &SpecialMailCollections::defaultCollectionsChanged);
QVERIFY(spy.isValid());
QVERIFY(defSpy.isValid());
// Initially the default maildir does not exist.
QVERIFY(!QFile::exists(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/local-mail")));
// Request some default folders.
{
SpecialMailCollectionsRequestJob *rjob = new SpecialMailCollectionsRequestJob(this);
rjob->requestDefaultCollection(SpecialMailCollections::Outbox);
rjob->requestDefaultCollection(SpecialMailCollections::Drafts);
AKVERIFYEXEC(rjob);
QCOMPARE(spy.count(), 1);
QCOMPARE(defSpy.count(), 1);
QCOMPARE(smct->_t_knownResourceCount(), 1);
QCOMPARE(smct->_t_knownFolderCount(), 3); // Outbox, Drafts, and Root.
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Drafts));
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Root));
}
// The maildir should exist now.
QVERIFY(QFile::exists(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/local-mail")));
}
void LocalFoldersRequestJobTest::testRequestWithDefaultResourceAlreadyExisting()
{
SpecialMailCollections *smc = SpecialMailCollections::self();
SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
Q_ASSERT(smc);
Q_ASSERT(smct);
QSignalSpy spy(smc, &SpecialMailCollections::collectionsChanged);
QSignalSpy defSpy(smc, &SpecialMailCollections::defaultCollectionsChanged);
QVERIFY(spy.isValid());
QVERIFY(defSpy.isValid());
// Prerequisites (from testRequestWithNoDefaultResourceExisting()).
QVERIFY(QFile::exists(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/local-mail")));
QVERIFY(!smc->hasDefaultCollection(SpecialMailCollections::Inbox));
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
const Collection oldOutbox = smc->defaultCollection(SpecialMailCollections::Outbox);
// Request some default folders.
{
SpecialMailCollectionsRequestJob *rjob = new SpecialMailCollectionsRequestJob(this);
rjob->requestDefaultCollection(SpecialMailCollections::Outbox); // Exists previously.
rjob->requestDefaultCollection(SpecialMailCollections::Inbox); // Must be created.
AKVERIFYEXEC(rjob);
QCOMPARE(spy.count(), 1);
QCOMPARE(defSpy.count(), 1);
QCOMPARE(smct->_t_knownResourceCount(), 1);
QCOMPARE(smct->_t_knownFolderCount(), 4); // Inbox, Outbox, Drafts, and Root.
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Inbox));
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Drafts));
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Root));
}
// This should be untouched.
QCOMPARE(smc->defaultCollection(SpecialMailCollections::Outbox), oldOutbox);
}
void LocalFoldersRequestJobTest::testMixedRequest()
{
SpecialMailCollections *smc = SpecialMailCollections::self();
SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
Q_ASSERT(smc);
Q_ASSERT(smct);
QSignalSpy spy(smc, &SpecialMailCollections::collectionsChanged);
QSignalSpy defSpy(smc, &SpecialMailCollections::defaultCollectionsChanged);
QVERIFY(spy.isValid());
QVERIFY(defSpy.isValid());
// Get our knut collection.
Collection res1;
{
CollectionPathResolver *resolver = new CollectionPathResolver(QStringLiteral("res1"), this);
QVERIFY(resolver->exec());
res1 = Collection(resolver->collection());
CollectionFetchJob *fjob = new CollectionFetchJob(res1, CollectionFetchJob::Base, this);
AKVERIFYEXEC(fjob);
Q_ASSERT(fjob->collections().count() == 1);
res1 = fjob->collections().first();
QVERIFY(res1.isValid());
QVERIFY(!res1.resource().isEmpty());
}
// Create a LocalFolder in the knut resource.
Collection knutOutbox;
{
knutOutbox.setName(QLatin1String("my_outbox"));
knutOutbox.setParentCollection(res1);
qDebug() << res1;
knutOutbox.addAttribute(new SpecialCollectionAttribute("outbox"));
CollectionCreateJob *cjob = new CollectionCreateJob(knutOutbox, this);
AKVERIFYEXEC(cjob);
knutOutbox = cjob->collection();
}
// Prerequisites (from the above two functions).
QVERIFY(QFile::exists(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/local-mail")));
QVERIFY(!smc->hasDefaultCollection(SpecialMailCollections::SentMail));
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
const Collection oldOutbox = smc->defaultCollection(SpecialMailCollections::Outbox);
// Request some folders, both in our default resource and in the knut resource.
{
SpecialMailCollectionsRequestJob *rjob = new SpecialMailCollectionsRequestJob(this);
rjob->requestDefaultCollection(SpecialMailCollections::Outbox); // Exists previously.
rjob->requestDefaultCollection(SpecialMailCollections::SentMail); // Must be created.
rjob->requestCollection(SpecialMailCollections::Outbox,
AgentManager::self()->instance(res1.resource())); // Exists previously, but unregistered with LF.
rjob->requestCollection(SpecialMailCollections::SentMail, AgentManager::self()->instance(res1.resource())); // Must be created.
AKVERIFYEXEC(rjob);
QCOMPARE(spy.count(), 2); // Default resource and knut resource.
QCOMPARE(defSpy.count(), 1);
QCOMPARE(smct->_t_knownResourceCount(), 2);
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::SentMail));
QVERIFY(smc->hasCollection(SpecialMailCollections::Outbox, AgentManager::self()->instance(res1.resource())));
QVERIFY(smc->hasCollection(SpecialMailCollections::SentMail, AgentManager::self()->instance(res1.resource())));
}
// These should be untouched.
QCOMPARE(smc->defaultCollection(SpecialMailCollections::Outbox), oldOutbox);
QCOMPARE(smc->collection(SpecialMailCollections::Outbox, AgentManager::self()->instance(res1.resource())), knutOutbox);
}
QTEST_AKONADIMAIN(LocalFoldersRequestJobTest)

View File

@ -0,0 +1,22 @@
/*
SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include <QObject>
/**
*/
class LocalFoldersRequestJobTest : public QObject
{
Q_OBJECT
private Q_SLOTS:
void initTestCase();
void testRequestWithNoDefaultResourceExisting();
void testRequestWithDefaultResourceAlreadyExisting();
void testMixedRequest();
};

View File

@ -0,0 +1,614 @@
/*
SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "localfolderstest.h"
#include "collectionpathresolver.h"
#include "specialmailcollectionssettings.h"
#include <QDBusConnection>
#include <QDBusConnectionInterface>
#include <QFile>
#include <QSignalSpy>
#include "../src/specialmailcollectionstesting_p.h"
#include "specialcollectionattribute.h"
#include "specialcollections.h"
#include <Akonadi/AgentInstance>
#include <Akonadi/AgentManager>
#include <Akonadi/CollectionCreateJob>
#include <Akonadi/CollectionDeleteJob>
#include <Akonadi/CollectionFetchJob>
#include <Akonadi/CollectionModifyJob>
#include <Akonadi/ServerManager>
#include <KLocalizedString>
#include <QStandardPaths>
#include <akonadi/qtest_akonadi.h>
#include <control.h>
#include <specialmailcollections.h>
using namespace Akonadi;
typedef SpecialMailCollectionsSettings Settings;
static Collection res1;
void LocalFoldersTest::initTestCase()
{
qRegisterMetaType<Akonadi::AgentInstance>("Akonadi::AgentInstance");
mDisplayNameMap.insert("local-mail", i18nc("local mail folder", "Local Folders"));
mDisplayNameMap.insert("inbox", i18nc("local mail folder", "inbox"));
mDisplayNameMap.insert("outbox", i18nc("local mail folder", "outbox"));
mDisplayNameMap.insert("sent-mail", i18nc("local mail folder", "sent-mail"));
mDisplayNameMap.insert("trash", i18nc("local mail folder", "trash"));
mDisplayNameMap.insert("drafts", i18nc("local mail folder", "drafts"));
mDisplayNameMap.insert("templates", i18nc("local mail folder", "templates"));
mIconNameMap.insert("local-mail", QLatin1String("folder"));
mIconNameMap.insert("inbox", QLatin1String("mail-folder-inbox"));
mIconNameMap.insert("outbox", QLatin1String("mail-folder-outbox"));
mIconNameMap.insert("sent-mail", QLatin1String("mail-folder-sent"));
mIconNameMap.insert("trash", QLatin1String("user-trash"));
mIconNameMap.insert("drafts", QLatin1String("document-properties"));
mIconNameMap.insert("templates", QLatin1String("document-new"));
QVERIFY(Control::start());
QTest::qWait(1000);
CollectionPathResolver *resolver = new CollectionPathResolver(QStringLiteral("res1"), this);
QVERIFY(resolver->exec());
res1 = Collection(resolver->collection());
CollectionFetchJob *fjob = new CollectionFetchJob(res1, CollectionFetchJob::Base, this);
AKVERIFYEXEC(fjob);
Q_ASSERT(fjob->collections().count() == 1);
res1 = fjob->collections().first();
QVERIFY(!res1.resource().isEmpty());
}
void LocalFoldersTest::testLock()
{
QString dbusName = QString::fromLatin1("org.kde.pim.SpecialCollections");
if (ServerManager::hasInstanceIdentifier()) {
dbusName += Akonadi::ServerManager::instanceIdentifier();
}
// Initially not locked.
QVERIFY(!QDBusConnection::sessionBus().interface()->isServiceRegistered(dbusName));
// Get the lock.
{
GetLockJob *ljob = new GetLockJob(this);
AKVERIFYEXEC(ljob);
QVERIFY(QDBusConnection::sessionBus().interface()->isServiceRegistered(dbusName));
}
// Getting the lock again should fail.
{
GetLockJob *ljob = new GetLockJob(this);
QVERIFY(!ljob->exec());
}
// Release the lock.
QVERIFY(QDBusConnection::sessionBus().interface()->isServiceRegistered(dbusName));
releaseLock();
QVERIFY(!QDBusConnection::sessionBus().interface()->isServiceRegistered(dbusName));
}
void LocalFoldersTest::testInitialState()
{
SpecialMailCollections *smc = SpecialMailCollections::self();
SpecialCollections *sc = smc;
SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
Q_ASSERT(smc);
Q_ASSERT(smct);
Q_UNUSED(smct)
// No one has created the default resource.
QVERIFY(sc->d->defaultResource().identifier().isEmpty());
// LF does not have a default Outbox folder (or any other).
QCOMPARE(smc->hasDefaultCollection(SpecialMailCollections::Outbox), false);
QVERIFY(!smc->defaultCollection(SpecialMailCollections::Outbox).isValid());
// LF treats unknown resources correctly.
const QString resourceId = QString::fromLatin1("this_resource_does_not_exist");
QCOMPARE(smc->hasCollection(SpecialMailCollections::Outbox, AgentManager::self()->instance(resourceId)), false);
QVERIFY(!smc->collection(SpecialMailCollections::Outbox, AgentManager::self()->instance(resourceId)).isValid());
}
void LocalFoldersTest::testRegistrationErrors()
{
SpecialMailCollections *smc = SpecialMailCollections::self();
// A valid collection that can be registered.
Collection outbox;
outbox.setName(QLatin1String("my_outbox"));
outbox.setParentCollection(res1);
outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
outbox.setResource(res1.resource());
// Needs to be valid.
{
Collection col(outbox);
col.setId(-1);
QVERIFY(!smc->registerCollection(SpecialMailCollections::Outbox, col));
}
// Needs to have a resourceId.
{
Collection col(outbox);
col.setResource(QString());
QVERIFY(!smc->registerCollection(SpecialMailCollections::Outbox, col));
}
// Needs to have a LocalFolderAttribute.
{
Collection col(outbox);
col.removeAttribute<SpecialCollectionAttribute>();
QVERIFY(!smc->registerCollection(SpecialMailCollections::Outbox, col));
}
}
void LocalFoldersTest::testDefaultFolderRegistration()
{
SpecialMailCollections *smc = SpecialMailCollections::self();
SpecialCollections *sc = smc;
SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
Q_ASSERT(smc);
Q_ASSERT(smct);
QSignalSpy spy(smc, &SpecialMailCollections::collectionsChanged);
QSignalSpy defSpy(smc, &SpecialMailCollections::defaultCollectionsChanged);
QVERIFY(spy.isValid());
QVERIFY(defSpy.isValid());
// No one has created the default resource.
QVERIFY(sc->d->defaultResource().identifier().isEmpty());
// Set the default resource. LF should still have no folders.
smct->_t_setDefaultResourceId(res1.resource());
QCOMPARE(sc->d->defaultResource().identifier(), res1.resource());
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
// Manually create an Outbox collection.
Collection outbox;
outbox.setName(QLatin1String("my_outbox"));
outbox.setParentCollection(res1);
outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
CollectionCreateJob *cjob = new CollectionCreateJob(outbox, this);
AKVERIFYEXEC(cjob);
outbox = cjob->collection();
// LF should still have no folders, since the Outbox wasn't registered.
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
QCOMPARE(spy.count(), 0);
QCOMPARE(defSpy.count(), 0);
// Register the collection. LF should now know it.
bool ok = smc->registerCollection(SpecialMailCollections::Outbox, outbox);
QVERIFY(ok);
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
QCOMPARE(smc->defaultCollection(SpecialMailCollections::Outbox), outbox);
QCOMPARE(smct->_t_knownResourceCount(), 1);
QCOMPARE(smct->_t_knownFolderCount(), 1);
QCOMPARE(spy.count(), 1);
QCOMPARE(defSpy.count(), 1);
// Forget all folders in the default resource.
smct->_t_forgetFoldersForResource(sc->d->defaultResource().identifier());
QCOMPARE(smc->hasDefaultCollection(SpecialMailCollections::Outbox), false);
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
QCOMPARE(spy.count(), 2);
QCOMPARE(defSpy.count(), 2);
// Delete the collection.
CollectionDeleteJob *djob = new CollectionDeleteJob(outbox, this);
AKVERIFYEXEC(djob);
}
void LocalFoldersTest::testCustomFolderRegistration()
{
SpecialMailCollections *smc = SpecialMailCollections::self();
SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
Q_ASSERT(smc);
Q_ASSERT(smct);
QSignalSpy spy(smc, &SpecialMailCollections::collectionsChanged);
QSignalSpy defSpy(smc, &SpecialMailCollections::defaultCollectionsChanged);
QVERIFY(spy.isValid());
QVERIFY(defSpy.isValid());
// Set a fake default resource, so that res1.resource() isn't seen as the default one.
// LF should have no folders.
smct->_t_setDefaultResourceId("dummy");
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
// Manually create an Outbox collection.
Collection outbox;
outbox.setName(QLatin1String("my_outbox"));
outbox.setParentCollection(res1);
outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
CollectionCreateJob *cjob = new CollectionCreateJob(outbox, this);
AKVERIFYEXEC(cjob);
outbox = cjob->collection();
// LF should still have no folders, since the Outbox wasn't registered.
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
QCOMPARE(spy.count(), 0);
QCOMPARE(defSpy.count(), 0);
// Register the collection. LF should now know it.
bool ok = smc->registerCollection(SpecialMailCollections::Outbox, outbox);
QVERIFY(ok);
QVERIFY(!smc->hasDefaultCollection(SpecialMailCollections::Outbox));
QVERIFY(smc->hasCollection(SpecialMailCollections::Outbox, AgentManager::self()->instance(outbox.resource())));
QCOMPARE(smc->collection(SpecialMailCollections::Outbox, AgentManager::self()->instance(outbox.resource())), outbox);
QCOMPARE(smct->_t_knownResourceCount(), 1);
QCOMPARE(smct->_t_knownFolderCount(), 1);
QCOMPARE(spy.count(), 1);
QCOMPARE(defSpy.count(), 0);
// Forget all folders in this resource.
smct->_t_forgetFoldersForResource(outbox.resource());
QCOMPARE(smc->hasDefaultCollection(SpecialMailCollections::Outbox), false);
QCOMPARE(smc->hasCollection(SpecialMailCollections::Outbox, AgentManager::self()->instance(outbox.resource())), false);
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
QCOMPARE(spy.count(), 2);
QCOMPARE(defSpy.count(), 0);
// Delete the collection.
CollectionDeleteJob *djob = new CollectionDeleteJob(outbox, this);
AKVERIFYEXEC(djob);
}
void LocalFoldersTest::testCollectionDelete()
{
SpecialMailCollections *smc = SpecialMailCollections::self();
SpecialCollections *sc = smc;
SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
Q_ASSERT(smc);
Q_ASSERT(smct);
QSignalSpy spy(smc, &SpecialMailCollections::collectionsChanged);
QSignalSpy defSpy(smc, &SpecialMailCollections::defaultCollectionsChanged);
QVERIFY(spy.isValid());
QVERIFY(defSpy.isValid());
// Set the default resource. LF should have no folders.
smct->_t_setDefaultResourceId(res1.resource());
QCOMPARE(sc->d->defaultResource().identifier(), res1.resource());
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
// Manually create an Outbox collection.
Collection outbox;
outbox.setName(QLatin1String("my_outbox"));
outbox.setParentCollection(res1);
outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
CollectionCreateJob *cjob = new CollectionCreateJob(outbox, this);
AKVERIFYEXEC(cjob);
outbox = cjob->collection();
// LF should still have no folders, since the Outbox wasn't registered.
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
QCOMPARE(spy.count(), 0);
QCOMPARE(defSpy.count(), 0);
// Register the collection. LF should now know it.
bool ok = smc->registerCollection(SpecialMailCollections::Outbox, outbox);
QVERIFY(ok);
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
QCOMPARE(smc->defaultCollection(SpecialMailCollections::Outbox), outbox);
QCOMPARE(smct->_t_knownResourceCount(), 1);
QCOMPARE(smct->_t_knownFolderCount(), 1);
QCOMPARE(spy.count(), 1);
QCOMPARE(defSpy.count(), 1);
// Delete the collection. LF should watch for that.
CollectionDeleteJob *djob = new CollectionDeleteJob(outbox, this);
AKVERIFYEXEC(djob);
QTest::qWait(100);
QVERIFY(!smc->hasDefaultCollection(SpecialMailCollections::Outbox));
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
QCOMPARE(spy.count(), 2);
QCOMPARE(defSpy.count(), 2);
}
void LocalFoldersTest::testBatchRegister()
{
SpecialMailCollections *smc = SpecialMailCollections::self();
SpecialCollections *sc = smc;
SpecialMailCollectionsTesting *smct = SpecialMailCollectionsTesting::_t_self();
Q_ASSERT(smc);
Q_ASSERT(smct);
QSignalSpy spy(smc, &SpecialMailCollections::collectionsChanged);
QSignalSpy defSpy(smc, &SpecialMailCollections::defaultCollectionsChanged);
QVERIFY(spy.isValid());
QVERIFY(defSpy.isValid());
// Set the default resource. LF should have no folders.
smct->_t_setDefaultResourceId(res1.resource());
QCOMPARE(sc->d->defaultResource().identifier(), res1.resource());
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
// Manually create an Outbox collection.
Collection outbox;
outbox.setName(QLatin1String("my_outbox"));
outbox.setParentCollection(res1);
outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
CollectionCreateJob *cjob = new CollectionCreateJob(outbox, this);
AKVERIFYEXEC(cjob);
outbox = cjob->collection();
// Manually create a Drafts collection.
Collection drafts;
drafts.setName(QLatin1String("my_drafts"));
drafts.setParentCollection(res1);
drafts.addAttribute(new SpecialCollectionAttribute("drafts"));
cjob = new CollectionCreateJob(drafts, this);
AKVERIFYEXEC(cjob);
drafts = cjob->collection();
// LF should still have no folders, since the folders were not registered.
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
QCOMPARE(spy.count(), 0);
QCOMPARE(defSpy.count(), 0);
// Register the folders in batch mode.
smct->_t_beginBatchRegister();
bool ok = smc->registerCollection(SpecialMailCollections::Outbox, outbox);
QVERIFY(ok);
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Outbox));
QCOMPARE(smc->defaultCollection(SpecialMailCollections::Outbox), outbox);
QCOMPARE(smct->_t_knownResourceCount(), 1);
QCOMPARE(smct->_t_knownFolderCount(), 1);
QCOMPARE(spy.count(), 0);
QCOMPARE(defSpy.count(), 0);
ok = smc->registerCollection(SpecialMailCollections::Drafts, drafts);
QVERIFY(ok);
QVERIFY(smc->hasDefaultCollection(SpecialMailCollections::Drafts));
QCOMPARE(smc->defaultCollection(SpecialMailCollections::Drafts), drafts);
QCOMPARE(smct->_t_knownResourceCount(), 1);
QCOMPARE(smct->_t_knownFolderCount(), 2);
QCOMPARE(spy.count(), 0);
QCOMPARE(defSpy.count(), 0);
smct->_t_endBatchRegister();
QCOMPARE(smct->_t_knownResourceCount(), 1);
QCOMPARE(smct->_t_knownFolderCount(), 2);
QCOMPARE(spy.count(), 1);
QCOMPARE(defSpy.count(), 1);
// Forget all folders in the default resource.
smct->_t_forgetFoldersForResource(sc->d->defaultResource().identifier());
QCOMPARE(smc->hasDefaultCollection(SpecialMailCollections::Outbox), false);
QCOMPARE(smc->hasDefaultCollection(SpecialMailCollections::Drafts), false);
QCOMPARE(smct->_t_knownResourceCount(), 0);
QCOMPARE(smct->_t_knownFolderCount(), 0);
QCOMPARE(spy.count(), 2);
QCOMPARE(defSpy.count(), 2);
// Delete the collections.
CollectionDeleteJob *djob = new CollectionDeleteJob(outbox, this);
AKVERIFYEXEC(djob);
djob = new CollectionDeleteJob(drafts, this);
AKVERIFYEXEC(djob);
}
void LocalFoldersTest::testResourceScanErrors()
{
// Job fails if no resourceId is given.
ResourceScanJob *resjob = new ResourceScanJob(QString(), Settings::self(), this);
QVERIFY(!resjob->exec());
}
void LocalFoldersTest::testResourceScan()
{
// Verify that res1 has no collections.
{
CollectionFetchJob *fjob = new CollectionFetchJob(res1, CollectionFetchJob::Recursive, this);
AKVERIFYEXEC(fjob);
QCOMPARE(fjob->collections().count(), 0);
}
// Manually create an Outbox collection.
Collection outbox;
{
outbox.setName(QLatin1String("my_outbox"));
outbox.setParentCollection(res1);
outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
CollectionCreateJob *cjob = new CollectionCreateJob(outbox, this);
AKVERIFYEXEC(cjob);
outbox = cjob->collection();
}
// Manually create a Drafts collection.
Collection drafts;
{
drafts.setName(QLatin1String("my_drafts"));
drafts.setParentCollection(res1);
drafts.addAttribute(new SpecialCollectionAttribute("drafts"));
CollectionCreateJob *cjob = new CollectionCreateJob(drafts, this);
AKVERIFYEXEC(cjob);
drafts = cjob->collection();
}
// Manually create a non-LocalFolder collection.
Collection intruder;
{
intruder.setName(QLatin1String("intruder"));
intruder.setParentCollection(res1);
CollectionCreateJob *cjob = new CollectionCreateJob(intruder, this);
AKVERIFYEXEC(cjob);
intruder = cjob->collection();
}
// Verify that the collections have been created properly.
{
CollectionFetchJob *fjob = new CollectionFetchJob(res1, CollectionFetchJob::Recursive, this);
AKVERIFYEXEC(fjob);
QCOMPARE(fjob->collections().count(), 3);
}
// Test that ResourceScanJob finds everything correctly.
ResourceScanJob *resjob = new ResourceScanJob(res1.resource(), Settings::self(), this);
AKVERIFYEXEC(resjob);
QCOMPARE(resjob->rootResourceCollection(), res1);
const Collection::List folders = resjob->specialCollections();
QCOMPARE(folders.count(), 2);
QVERIFY(folders.contains(outbox));
QVERIFY(folders.contains(drafts));
// Clean up after ourselves.
CollectionDeleteJob *djob = new CollectionDeleteJob(outbox, this);
AKVERIFYEXEC(djob);
djob = new CollectionDeleteJob(drafts, this);
AKVERIFYEXEC(djob);
djob = new CollectionDeleteJob(intruder, this);
AKVERIFYEXEC(djob);
SpecialMailCollections::self()->destroy();
}
void LocalFoldersTest::testDefaultResourceJob()
{
SpecialMailCollectionsTesting *scmt = SpecialMailCollectionsTesting::_t_self();
scmt->_t_setDefaultResourceId(QLatin1String("akonadi_maildir_resource"));
// Initially the default maildir does not exist.
QVERIFY(!QFile::exists(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/local-mail")));
// Run the job.
Collection maildirRoot;
QString resourceId;
{
DefaultResourceJob *resjob = new DefaultResourceJob(Settings::self(), this);
resjob->setDefaultResourceType(QLatin1String("akonadi_maildir_resource"));
QVariantMap options;
options.insert(QLatin1String("Name"), i18nc("local mail folder", "Local Folders"));
options.insert(QLatin1String("Path"), QString(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/local-mail")));
resjob->setDefaultResourceOptions(options);
resjob->setTypes(mDisplayNameMap.keys());
resjob->setNameForTypeMap(mDisplayNameMap);
resjob->setIconForTypeMap(mIconNameMap);
AKVERIFYEXEC(resjob);
resourceId = resjob->resourceId();
const Collection::List folders = resjob->specialCollections();
QCOMPARE(folders.count(), 1);
maildirRoot = folders.first();
QVERIFY(maildirRoot.hasAttribute<SpecialCollectionAttribute>());
QCOMPARE(maildirRoot.attribute<SpecialCollectionAttribute>()->collectionType(), QByteArray("local-mail"));
}
// The maildir should exist now.
QVERIFY(QFile::exists(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/local-mail")));
// Create a LocalFolder in the default resource.
Collection outbox;
{
outbox.setName(QLatin1String("outbox"));
outbox.setParentCollection(maildirRoot);
outbox.addAttribute(new SpecialCollectionAttribute("outbox"));
CollectionCreateJob *cjob = new CollectionCreateJob(outbox, this);
AKVERIFYEXEC(cjob);
outbox = cjob->collection();
// Wait for the maildir resource to actually create the folder on disk...
// (needed in testRecoverDefaultResource())
QTest::qWait(500);
}
// Run the job again.
{
DefaultResourceJob *resjob = new DefaultResourceJob(Settings::self(), this);
resjob->setDefaultResourceType(QLatin1String("akonadi_maildir_resource"));
QVariantMap options;
options.insert(QLatin1String("Name"), i18nc("local mail folder", "Local Folders"));
options.insert(QLatin1String("Path"), QString(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/local-mail")));
resjob->setDefaultResourceOptions(options);
resjob->setTypes(mDisplayNameMap.keys());
resjob->setNameForTypeMap(mDisplayNameMap);
resjob->setIconForTypeMap(mIconNameMap);
AKVERIFYEXEC(resjob);
QCOMPARE(resourceId, resjob->resourceId()); // Did not mistakenly create another resource.
const Collection::List folders = resjob->specialCollections();
QCOMPARE(folders.count(), 2);
QVERIFY(folders.contains(maildirRoot));
QVERIFY(folders.contains(outbox));
}
}
void LocalFoldersTest::testRecoverDefaultResource()
{
// The maildirs should exist (created in testDefaultResourceJob).
const QString xdgPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1Char('/');
const QString rootPath = xdgPath + QLatin1String("local-mail");
const QString outboxPath = xdgPath + QString::fromLatin1(".%1.directory/%2").arg(QLatin1String("local-mail")).arg(QLatin1String("outbox"));
QVERIFY(QFile::exists(rootPath));
QVERIFY(QFile::exists(outboxPath));
// Kill the default resource.
const QString oldResourceId = static_cast<SpecialCollections *>(SpecialMailCollections::self())->d->defaultResource().identifier();
const AgentInstance resource = AgentManager::self()->instance(oldResourceId);
QVERIFY(resource.isValid());
AgentManager::self()->removeInstance(resource);
QTest::qWait(100);
// Run the DefaultResourceJob now. It should recover the Root and Outbox folders
// created in testDefaultResourceJob.
{
DefaultResourceJob *resjob = new DefaultResourceJob(Settings::self(), this);
resjob->setDefaultResourceType(QLatin1String("akonadi_maildir_resource"));
QVariantMap options;
options.insert(QLatin1String("Name"), i18nc("local mail folder", "Local Folders"));
options.insert(QLatin1String("Path"), QString(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/local-mail")));
resjob->setDefaultResourceOptions(options);
resjob->setTypes(mDisplayNameMap.keys());
resjob->setNameForTypeMap(mDisplayNameMap);
resjob->setIconForTypeMap(mIconNameMap);
AKVERIFYEXEC(resjob);
QVERIFY(resjob->resourceId() != oldResourceId); // Created another resource.
Collection::List folders = resjob->specialCollections();
QCOMPARE(folders.count(), 2);
// Reorder the folders.
if (folders.first().parentCollection() != Collection::root()) {
folders.move(1, 0);
}
// The first folder should be the Root.
{
Collection col = folders[0];
QCOMPARE(col.name(), QLatin1String("Local Folders"));
QVERIFY(col.hasAttribute<SpecialCollectionAttribute>());
QCOMPARE(col.attribute<SpecialCollectionAttribute>()->collectionType(), QByteArray("local-mail"));
}
// The second folder should be the Outbox.
{
Collection col = folders[1];
QCOMPARE(col.name(), QLatin1String("outbox"));
QVERIFY(col.hasAttribute<SpecialCollectionAttribute>());
QCOMPARE(col.attribute<SpecialCollectionAttribute>()->collectionType(), QByteArray("outbox"));
}
}
}
QTEST_AKONADIMAIN(LocalFoldersTest)

View File

@ -0,0 +1,46 @@
/*
SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include <QMap>
#include <QObject>
/**
*/
namespace Akonadi
{
class LocalFoldersTest : public QObject
{
Q_OBJECT
private Q_SLOTS:
void initTestCase();
// Tests for GetLockJob:
void testLock();
// Tests for LocalFolders:
void testInitialState();
void testRegistrationErrors();
void testDefaultFolderRegistration();
void testCustomFolderRegistration();
void testCollectionDelete();
void testBatchRegister();
// Tests for ResourceScanJob:
void testResourceScanErrors();
void testResourceScan();
// Tests for DefaultResourceJob:
void testDefaultResourceJob();
void testRecoverDefaultResource();
private:
QMap<QByteArray, QString> mDisplayNameMap;
QMap<QByteArray, QString> mIconNameMap;
};
}

View File

@ -0,0 +1,81 @@
/*
SPDX-FileCopyrightText: 2007 Volker Krause <vkrause@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "mailserializerplugintest.h"
#include <Akonadi/Item>
#include <KMime/Message>
#include <QDebug>
#include <QTest>
QTEST_GUILESS_MAIN(MailSerializerPluginTest)
using namespace Akonadi;
using namespace KMime;
void MailSerializerPluginTest::testMailPlugin()
{
QByteArray serialized =
"From: sender@test.org\n"
"Subject: Serializer Test\n"
"To: receiver@test.org\n"
"Date: Fri, 22 Jun 2007 17:24:24 +0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain\n"
"\n"
"Body data.";
// deserializing
Item item;
item.setMimeType(QStringLiteral("message/rfc822"));
item.setPayloadFromData(serialized);
QVERIFY(item.hasPayload<KMime::Message::Ptr>());
auto msg = item.payload<KMime::Message::Ptr>();
QVERIFY(msg != nullptr);
QCOMPARE(msg->to()->asUnicodeString(), QStringLiteral("receiver@test.org"));
QCOMPARE(msg->body(), QByteArray("Body data."));
// serializing
QByteArray data = item.payloadData();
QCOMPARE(data, serialized);
}
void MailSerializerPluginTest::testMessageIntegrity()
{
// A message that will be slightly modified if KMime::Content::assemble() is
// called. We want to avoid this, because it breaks signatures.
QByteArray serialized =
"from: sender@example.com\n"
"to: receiver@example.com\n"
"Subject: Serializer Test\n"
"Date: Thu, 30 Jul 2009 13:46:31 +0300\n"
"MIME-Version: 1.0\n"
"Content-type: text/plain; charset=us-ascii\n"
"\n"
"Bla bla bla.";
// Deserialize.
Item item;
item.setMimeType(QStringLiteral("message/rfc822"));
item.setPayloadFromData(serialized);
QVERIFY(item.hasPayload<KMime::Message::Ptr>());
auto msg = item.payload<KMime::Message::Ptr>();
QVERIFY(msg != nullptr);
qDebug() << "original data:" << serialized;
qDebug() << "message content:" << msg->encodedContent();
QCOMPARE(msg->encodedContent(), serialized);
// Serialize.
QByteArray data = item.payloadData();
qDebug() << "original data:" << serialized;
qDebug() << "serialized data:" << data;
QCOMPARE(data, serialized);
}

View File

@ -0,0 +1,17 @@
/*
SPDX-FileCopyrightText: 2007 Volker Krause <vkrause@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include <QObject>
class MailSerializerPluginTest : public QObject
{
Q_OBJECT
private Q_SLOTS:
void testMailPlugin();
void testMessageIntegrity();
};

View File

@ -0,0 +1,327 @@
/*
SPDX-FileCopyrightText: 2007 Volker Krause <vkrause@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "mailserializertest.h"
#include "../serializers/akonadi_serializer_mail.h"
#include "../src/messageflags.h"
#include "../src/messageparts.h"
#include <KMime/Message>
#include <QBuffer>
#include <QTest>
using namespace Akonadi;
using namespace KMime;
QTEST_GUILESS_MAIN(MailSerializerTest)
void MailSerializerTest::testEnvelopeDeserialize_data()
{
QTest::addColumn<int>("version");
QTest::addColumn<QByteArray>("data");
QTest::addColumn<QDateTime>("date");
QTest::addColumn<QString>("subject");
QTest::addColumn<QString>("from");
QTest::addColumn<QString>("sender");
QTest::addColumn<QString>("replyTo");
QTest::addColumn<QString>("to");
QTest::addColumn<QString>("cc");
QTest::addColumn<QString>("bcc");
QTest::addColumn<QString>("inReplyTo");
QTest::addColumn<QString>("messageId");
QTest::addColumn<QString>("references");
QTest::newRow("v1 - no references")
<< 1
<< QByteArray(
R"(("Wed, 1 Feb 2006 13:37:19 UT" "IMPORTANT: Akonadi Test" (("Tobias Koenig" NIL "tokoe" "kde.org")) (("Tobias Koenig" NIL "tokoe" "kde.org")) NIL (("Ingo Kloecker" NIL "kloecker" "kde.org")) NIL NIL NIL <{7b55527e-77f4-489d-bf18-e805be96718c}@server.kde.org>))")
<< QDateTime(QDate(2006, 2, 1), QTime(13, 37, 19), Qt::UTC) << QStringLiteral("IMPORTANT: Akonadi Test")
<< QStringLiteral("Tobias Koenig <tokoe@kde.org>") << QStringLiteral("Tobias Koenig <tokoe@kde.org>") << QString()
<< QStringLiteral("Ingo Kloecker <kloecker@kde.org>") << QString() << QString() << QString()
<< QStringLiteral("<{7b55527e-77f4-489d-bf18-e805be96718c}@server.kde.org>") << QString();
QTest::newRow("v1 - with references")
<< 1
<< QByteArray(
R"(("Wed, 1 Feb 2006 13:37:19 UT" "IMPORTANT: Akonadi Test" (("Tobias Koenig" NIL "tokoe" "kde.org")) (("Tobias Koenig" NIL "tokoe" "kde.org")) NIL (("Ingo Kloecker" NIL "kloecker" "kde.org")) NIL NIL NIL <{7b55527e-77f4-489d-bf18-e805be96718c}@server.kde.org> "<{8888827e-77f4-489d-bf18-e805be96718c}@server.kde.org> <{9999927e-77f4-489d-bf18-e805be96718c}@server.kde.org>"))")
<< QDateTime(QDate(2006, 2, 1), QTime(13, 37, 19), Qt::UTC) << QStringLiteral("IMPORTANT: Akonadi Test")
<< QStringLiteral("Tobias Koenig <tokoe@kde.org>") << QStringLiteral("Tobias Koenig <tokoe@kde.org>") << QString()
<< QStringLiteral("Ingo Kloecker <kloecker@kde.org>") << QString() << QString() << QString()
<< QStringLiteral("<{7b55527e-77f4-489d-bf18-e805be96718c}@server.kde.org>")
<< QStringLiteral("<{8888827e-77f4-489d-bf18-e805be96718c}@server.kde.org> <{9999927e-77f4-489d-bf18-e805be96718c}@server.kde.org>");
QBuffer buffer;
buffer.open(QIODevice::WriteOnly);
QDataStream stream(&buffer);
stream << QDateTime(QDate(2015, 6, 29), QTime(23, 50, 10), Qt::UTC) << QStringLiteral("Důležité: Testování Akonadi")
<< QStringLiteral("<1234567.icameup@withthis>") << QStringLiteral("<2849719.IhmDc3qecs@thor>")
<< QStringLiteral("<1234567.icameup@withthis> <7654321.icameupwith@thistoo>") << 1 << QStringLiteral("Daniel Vrátil") << QStringLiteral("dvratil")
<< QStringLiteral("kde.org") << 1 << QStringLiteral("Daniel Vrátil") << QStringLiteral("dvratil") << QStringLiteral("kde.org") << 0 << 1
<< QStringLiteral("Volker Krause") << QStringLiteral("vkrause") << QStringLiteral("kde.org") << 0 << 0;
QTest::newRow("v2") << 2 << buffer.data() << QDateTime(QDate(2015, 6, 29), QTime(23, 50, 10), Qt::UTC) << QStringLiteral("Důležité: Testování Akonadi")
<< QStringLiteral("Daniel Vrátil <dvratil@kde.org>") << QStringLiteral("Daniel Vrátil <dvratil@kde.org>") << QString() // reply to
<< QStringLiteral("Volker Krause <vkrause@kde.org>") << QString() // cc
<< QString() // bcc
<< QStringLiteral("<1234567.icameup@withthis>") << QStringLiteral("<2849719.IhmDc3qecs@thor>")
<< QStringLiteral("<1234567.icameup@withthis> <7654321.icameupwith@thistoo>");
}
void MailSerializerTest::testEnvelopeDeserialize()
{
QFETCH(int, version);
QFETCH(QByteArray, data);
QFETCH(QDateTime, date);
QFETCH(QString, subject);
QFETCH(QString, from);
QFETCH(QString, sender);
QFETCH(QString, replyTo);
QFETCH(QString, to);
QFETCH(QString, cc);
QFETCH(QString, bcc);
QFETCH(QString, inReplyTo);
QFETCH(QString, messageId);
QFETCH(QString, references);
Item i;
i.setMimeType(QStringLiteral("message/rfc822"));
auto serializer = new SerializerPluginMail();
// envelope
QBuffer buffer;
buffer.setData(data);
buffer.open(QIODevice::ReadOnly);
QBENCHMARK {
buffer.seek(0);
serializer->deserialize(i, MessagePart::Envelope, buffer, version);
}
QVERIFY(i.hasPayload<KMime::Message::Ptr>());
auto msg = i.payload<KMime::Message::Ptr>();
QCOMPARE(msg->date()->dateTime(), date);
QCOMPARE(msg->subject()->asUnicodeString(), subject);
QCOMPARE(msg->from()->asUnicodeString(), from);
QCOMPARE(msg->sender()->asUnicodeString(), sender);
QCOMPARE(msg->replyTo()->asUnicodeString(), replyTo);
QCOMPARE(msg->to()->asUnicodeString(), to);
QCOMPARE(msg->cc()->asUnicodeString(), cc);
QCOMPARE(msg->bcc()->asUnicodeString(), bcc);
QCOMPARE(msg->inReplyTo()->asUnicodeString(), inReplyTo);
QCOMPARE(msg->messageID()->asUnicodeString(), messageId);
QCOMPARE(msg->references()->asUnicodeString(), references);
delete serializer;
}
void MailSerializerTest::testEnvelopeSerialize_data()
{
QTest::addColumn<QDateTime>("date");
QTest::addColumn<QString>("subject");
QTest::addColumn<QString>("from");
QTest::addColumn<QString>("sender");
QTest::addColumn<QString>("replyTo");
QTest::addColumn<QString>("to");
QTest::addColumn<QString>("cc");
QTest::addColumn<QString>("bcc");
QTest::addColumn<QString>("inReplyTo");
QTest::addColumn<QString>("messageId");
QTest::addColumn<QString>("references");
QTest::addColumn<QByteArray>("data");
QBuffer buffer;
buffer.open(QIODevice::WriteOnly);
QDataStream stream(&buffer);
stream << QDateTime(QDate(2006, 2, 1), QTime(13, 37, 19), Qt::UTC) << QStringLiteral("IMPORTANT: Akonadi Test") << QString()
<< QStringLiteral("<{7b55527e-77f4-489d-bf18-e805be96718c}@server.kde.org>") << QString() << 1 << QStringLiteral("Tobias Koenig")
<< QStringLiteral("tokoe") << QStringLiteral("kde.org") << 1 << QStringLiteral("Tobias Koenig") << QStringLiteral("tokoe")
<< QStringLiteral("kde.org") << 0 << 1 << QStringLiteral("Ingo Kloecker") << QStringLiteral("kloecker") << QStringLiteral("kde.org") << 0 << 0;
QTest::newRow("") << QDateTime(QDate(2006, 2, 1), QTime(13, 37, 19), Qt::UTC) << QStringLiteral("IMPORTANT: Akonadi Test")
<< QStringLiteral("Tobias Koenig <tokoe@kde.org>") << QStringLiteral("Tobias Koenig <tokoe@kde.org>") << QString()
<< QStringLiteral("Ingo Kloecker <kloecker@kde.org>") << QString() << QString() << QString()
<< QStringLiteral("<{7b55527e-77f4-489d-bf18-e805be96718c}@server.kde.org>") << QString() << buffer.data();
}
void MailSerializerTest::testEnvelopeSerialize()
{
QFETCH(QDateTime, date);
QFETCH(QString, subject);
QFETCH(QString, from);
QFETCH(QString, sender);
QFETCH(QString, replyTo);
QFETCH(QString, to);
QFETCH(QString, cc);
QFETCH(QString, bcc);
QFETCH(QString, inReplyTo);
QFETCH(QString, messageId);
QFETCH(QString, references);
QFETCH(QByteArray, data);
Item i;
i.setMimeType(QStringLiteral("message/rfc822"));
auto msg = new Message();
msg->date()->setDateTime(date);
msg->subject()->fromUnicodeString(subject, "UTF-8");
msg->from()->fromUnicodeString(from, "UTF-8");
msg->sender()->fromUnicodeString(sender, "UTF-8");
msg->replyTo()->fromUnicodeString(replyTo, "UTF-8");
msg->to()->fromUnicodeString(to, "UTF-8");
msg->cc()->fromUnicodeString(cc, "UTF-8");
msg->bcc()->fromUnicodeString(bcc, "UTF-8");
msg->inReplyTo()->fromUnicodeString(inReplyTo, "UTF-8");
msg->messageID()->fromUnicodeString(messageId, "UTF-8");
msg->references()->fromUnicodeString(references, "UTF-8");
i.setPayload(KMime::Message::Ptr(msg));
auto serializer = new SerializerPluginMail();
// envelope
QByteArray env;
QBuffer buffer;
buffer.setBuffer(&env);
buffer.open(QIODevice::ReadWrite);
int version = 0;
QBENCHMARK {
buffer.seek(0);
serializer->serialize(i, MessagePart::Envelope, buffer, version);
}
QCOMPARE(env, data);
delete serializer;
}
void MailSerializerTest::testParts()
{
Item item;
item.setMimeType(QStringLiteral("message/rfc822"));
auto m = new Message;
KMime::Message::Ptr msg(m);
item.setPayload(msg);
auto serializer = new SerializerPluginMail();
QVERIFY(serializer->parts(item).isEmpty());
msg->setHead("foo");
QSet<QByteArray> parts = serializer->parts(item);
QCOMPARE(parts.count(), 2);
QVERIFY(parts.contains(MessagePart::Envelope));
QVERIFY(parts.contains(MessagePart::Header));
msg->setBody("bar");
parts = serializer->parts(item);
QCOMPARE(parts.count(), 3);
QVERIFY(parts.contains(MessagePart::Envelope));
QVERIFY(parts.contains(MessagePart::Header));
QVERIFY(parts.contains(MessagePart::Body));
delete serializer;
}
void MailSerializerTest::testHeaderFetch()
{
Item i;
i.setMimeType(QStringLiteral("message/rfc822"));
auto serializer = new SerializerPluginMail();
QByteArray headerData(
"From: David Johnson <david@usermode.org>\n"
"To: kde-commits@kde.org\n"
"MIME-Version: 1.0\n"
"Date: Sun, 01 Feb 2009 06:25:22 +0000\n"
"Message-Id: <1233469522.741324.18468.nullmailer@svn.kde.org>\n"
"Subject: [kde-doc-english] KDE/kdeutils/kcalc\n");
QString expectedSubject = QStringLiteral("[kde-doc-english] KDE/kdeutils/kcalc");
QString expectedFrom = QStringLiteral("David Johnson <david@usermode.org>");
QString expectedTo = QStringLiteral("kde-commits@kde.org");
// envelope
QBuffer buffer;
buffer.setData(headerData);
buffer.open(QIODevice::ReadOnly);
buffer.seek(0);
serializer->deserialize(i, MessagePart::Header, buffer, 0);
QVERIFY(i.hasPayload<KMime::Message::Ptr>());
auto msg = i.payload<KMime::Message::Ptr>();
QCOMPARE(msg->subject()->asUnicodeString(), expectedSubject);
QCOMPARE(msg->from()->asUnicodeString(), expectedFrom);
QCOMPARE(msg->to()->asUnicodeString(), expectedTo);
delete serializer;
}
void MailSerializerTest::testMultiDeserialize()
{
// The Body part includes the Header.
// When serialization is done a second time, we should already have the header deserialized.
// We change the header data for the second deserialization (which is an unrealistic scenario)
// to demonstrate that it is not deserialized again.
Item i;
i.setMimeType(QStringLiteral("message/rfc822"));
auto serializer = new SerializerPluginMail();
QByteArray messageData(
"From: David Johnson <david@usermode.org>\n"
"To: kde-commits@kde.org\n"
"MIME-Version: 1.0\n"
"Date: Sun, 01 Feb 2009 06:25:22 +0000\n"
"Subject: [kde-doc-english] KDE/kdeutils/kcalc\n"
"Content-Type: text/plain\n"
"\n"
"This is content");
QString expectedSubject = QStringLiteral("[kde-doc-english] KDE/kdeutils/kcalc");
QString expectedFrom = QStringLiteral("David Johnson <david@usermode.org>");
QString expectedTo = QStringLiteral("kde-commits@kde.org");
QByteArray expectedBody("This is content");
// envelope
QBuffer buffer;
buffer.setData(messageData);
buffer.open(QIODevice::ReadOnly);
buffer.seek(0);
serializer->deserialize(i, MessagePart::Body, buffer, 0);
QVERIFY(i.hasPayload<KMime::Message::Ptr>());
auto msg = i.payload<KMime::Message::Ptr>();
QCOMPARE(msg->subject()->asUnicodeString(), expectedSubject);
QCOMPARE(msg->from()->asUnicodeString(), expectedFrom);
QCOMPARE(msg->to()->asUnicodeString(), expectedTo);
QCOMPARE(msg->body(), expectedBody);
buffer.close();
messageData = QByteArray(
"From: DIFFERENT CONTACT <DIFFERENTCONTACT@example.org>\n"
"To: kde-commits@kde.org\n"
"MIME-Version: 1.0\n"
"Date: Sun, 01 Feb 2009 06:25:22 +0000\n"
"Message-Id: <1233469522.741324.18468.nullmailer@svn.kde.org>\n"
"Subject: [kde-doc-english] KDE/kdeutils/kcalc\n"
"Content-Type: text/plain\n"
"\r\n"
"This is content");
buffer.setData(messageData);
buffer.open(QIODevice::ReadOnly);
buffer.seek(0);
serializer->deserialize(i, MessagePart::Header, buffer, 0);
QVERIFY(i.hasPayload<KMime::Message::Ptr>());
msg = i.payload<KMime::Message::Ptr>();
QCOMPARE(msg->subject()->asUnicodeString(), expectedSubject);
QCOMPARE(msg->from()->asUnicodeString(), expectedFrom);
QCOMPARE(msg->to()->asUnicodeString(), expectedTo);
delete serializer;
}

View File

@ -0,0 +1,24 @@
/*
SPDX-FileCopyrightText: 2007 Volker Krause <vkrause@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include <QObject>
class MailSerializerTest : public QObject
{
Q_OBJECT
private Q_SLOTS:
void testEnvelopeDeserialize_data();
void testEnvelopeDeserialize();
void testEnvelopeSerialize_data();
void testEnvelopeSerialize();
void testParts();
void testHeaderFetch();
void testMultiDeserialize();
};

View File

@ -0,0 +1,52 @@
/*
SPDX-FileCopyrightText: 2014-2022 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: GPL-2.0-only
*/
#include "mdnstateattributetest.h"
#include "mdnstateattribute.h"
#include <QTest>
MDNStateAttributeTest::MDNStateAttributeTest(QObject *parent)
: QObject(parent)
{
}
MDNStateAttributeTest::~MDNStateAttributeTest() = default;
void MDNStateAttributeTest::shouldHaveDefaultValue()
{
Akonadi::MDNStateAttribute attr;
QCOMPARE(attr.mdnState(), Akonadi::MDNStateAttribute::MDNStateUnknown);
}
void MDNStateAttributeTest::shouldHaveType()
{
Akonadi::MDNStateAttribute attr;
QCOMPARE(attr.type(), QByteArray("MDNStateAttribute"));
}
void MDNStateAttributeTest::shouldSerializedAttribute()
{
Akonadi::MDNStateAttribute attr;
attr.setMDNState(Akonadi::MDNStateAttribute::MDNDenied);
QCOMPARE(attr.mdnState(), Akonadi::MDNStateAttribute::MDNDenied);
const QByteArray ba = attr.serialized();
Akonadi::MDNStateAttribute result;
result.deserialize(ba);
QVERIFY(attr == result);
}
void MDNStateAttributeTest::shouldCloneAttribute()
{
Akonadi::MDNStateAttribute attr;
attr.setMDNState(Akonadi::MDNStateAttribute::MDNDenied);
Akonadi::MDNStateAttribute *result = attr.clone();
QVERIFY(attr == *result);
delete result;
}
QTEST_MAIN(MDNStateAttributeTest)

View File

@ -0,0 +1,22 @@
/*
SPDX-FileCopyrightText: 2014-2022 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: GPL-2.0-only
*/
#pragma once
#include <QObject>
class MDNStateAttributeTest : public QObject
{
Q_OBJECT
public:
explicit MDNStateAttributeTest(QObject *parent = nullptr);
~MDNStateAttributeTest() override;
private Q_SLOTS:
void shouldHaveDefaultValue();
void shouldHaveType();
void shouldSerializedAttribute();
void shouldCloneAttribute();
};

View File

@ -0,0 +1,22 @@
# SPDX-FileCopyrightText: none
# SPDX-License-Identifier: BSD-3-Clause
include(ECMMarkAsTest)
macro(ADD_AKONADIMIME_TEST)
foreach(_testName ${ARGN})
add_executable(${_testName} ${_testName}.cpp)
add_test(NAME akonadimime-${_testName} COMMAND ${_testName})
target_link_libraries(${_testName}
KF5::Mime
Qt::Test
KF5::AkonadiCore
KF5::AkonadiMime
)
set_target_properties(${_testName} PROPERTIES COMPILE_FLAGS -DTEST_DATA_DIR="\\"${CMAKE_CURRENT_SOURCE_DIR}/\\"" )
ecm_mark_as_test(${_testName})
endforeach()
endmacro()
add_akonadimime_test(
messagetest
)

View File

@ -0,0 +1,100 @@
From kollix@aon.at Sun Jan 25 12:44:33 2015
From: Martin Koller <kollix@aon.at>
To: test@localhost.test
Subject: test
Date: Sun, 25 Jan 2015 13:44:33 +0100
Message-ID: <2598248.iFiatFhcDT@lapi.koller>
X-KMail-Identity: 511735207
User-Agent: KMail/4.14.3 (Linux/3.16.7-7-desktop; KDE/4.14.3; x86_64; ; )
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart2295257.OfFvv7xAGP"; micalg="pgp-sha1"; protocol="application/pgp-signature"
--nextPart2295257.OfFvv7xAGP
Content-Type: multipart/mixed; boundary="nextPart3532720.K8MVRkdBcf"
Content-Transfer-Encoding: quoted-printable
This is a multi-part message in MIME format.
=2D-nextPart3532720.K8MVRkdBcf
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
test
=2D-nextPart3532720.K8MVRkdBcf
Content-Disposition: attachment; filename="cal.ics"
Content-Transfer-Encoding: 7Bit
Content-Type: text/calendar; charset="utf-8"; name="cal.ics"
BEGIN:VCALENDAR
PRODID:-//K Desktop Environment//NONSGML KOrganizer 4.14.3//EN
VERSION:2.0
X-KDE-ICAL-IMPLEMENTATION-VERSION:1.0
METHOD:REQUEST
BEGIN:VEVENT
ORGANIZER;CN="Martin Koller":MAILTO:kollix@aon.at
DTSTAMP:20150125T124126Z
ATTENDEE;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;
CUTYPE=INDIVIDUAL;X-UID=116335000:mailto:test@localhost
CREATED:20150125T123913Z
UID:KOrganizer-1427713305.180
SEQUENCE:2
LAST-MODIFIED:20150125T124121Z
SUMMARY:test
ATTACH;FMTTYPE=text/plain;X-LABEL=test.txt:file:///tmp/test.txt
DTSTART:20150125T150000Z
DTEND:20150125T154500Z
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
=2D-nextPart3532720.K8MVRkdBcf--
This is a multi-part message in MIME format.
--nextPart3532720.K8MVRkdBcf
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
test
--nextPart3532720.K8MVRkdBcf
Content-Disposition: attachment; filename="cal.ics"
Content-Transfer-Encoding: 7Bit
Content-Type: text/calendar; charset="utf-8"; name="cal.ics"
BEGIN:VCALENDAR
PRODID:-//K Desktop Environment//NONSGML KOrganizer 4.14.3//EN
VERSION:2.0
X-KDE-ICAL-IMPLEMENTATION-VERSION:1.0
METHOD:REQUEST
BEGIN:VEVENT
ORGANIZER;CN="Martin Koller":MAILTO:kollix@aon.at
DTSTAMP:20150125T124126Z
ATTENDEE;RSVP=TRUE;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT;
CUTYPE=INDIVIDUAL;X-UID=116335000:mailto:test@localhost
CREATED:20150125T123913Z
UID:KOrganizer-1427713305.180
SEQUENCE:2
LAST-MODIFIED:20150125T124121Z
SUMMARY:test
ATTACH;FMTTYPE=text/plain;X-LABEL=test.txt:file:///tmp/test.txt
DTSTART:20150125T150000Z
DTEND:20150125T154500Z
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
--nextPart3532720.K8MVRkdBcf--
--nextPart2295257.OfFvv7xAGP
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.
Content-Transfer-Encoding: 7Bit
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iD8DBQBUxOUxHmdPoI37D4YRAkbbAJ4wxR9wrFu6t1OvZ2KvtjvGBHsLWQCfTVLn
BT0BF04iL4Ap/lVapK8G9NA=
=rJWz
-----END PGP SIGNATURE-----
--nextPart2295257.OfFvv7xAGP--

View File

@ -0,0 +1,15 @@
From test.test@test.com Mon Jan 19 15:46:51 2015
From: "Test, Test" <test.test@test.com>
To: "Koller, Martin" <martin.koller@test.at>
Subject: Test
Date: Mon, 19 Jan 2015 15:46:51 +0000
Accept-Language: de-AT, en-US
Content-Language: en-US
Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data;
name="smime.p7m"
Content-Disposition: attachment; filename="smime.p7m"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
DUMMY

View File

@ -0,0 +1,57 @@
/*
SPDX-FileCopyrightText: 2007 Volker Krause <vkrause@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "messagetest.h"
#include <Akonadi/Item>
#include <QFile>
#include <QTest>
#include <messageflags.h>
using namespace KMime;
QTEST_GUILESS_MAIN(MessageTest)
void MessageTest::testCopyFlags()
{
{
KMime::Message::Ptr msg = readAndParseMail(QStringLiteral("x-pkcs7.mbox"));
Akonadi::Item item;
Akonadi::MessageFlags::copyMessageFlags(*msg, item);
QVERIFY(item.hasFlag(Akonadi::MessageFlags::Signed) == false);
QVERIFY(item.hasFlag(Akonadi::MessageFlags::Encrypted) == true);
QVERIFY(item.hasFlag(Akonadi::MessageFlags::HasInvitation) == false);
QVERIFY(item.hasFlag(Akonadi::MessageFlags::HasAttachment) == false);
}
{
KMime::Message::Ptr msg = readAndParseMail(QStringLiteral("signed.mbox"));
Akonadi::Item item;
Akonadi::MessageFlags::copyMessageFlags(*msg, item);
QVERIFY(item.hasFlag(Akonadi::MessageFlags::Signed) == true);
QVERIFY(item.hasFlag(Akonadi::MessageFlags::Encrypted) == false);
QVERIFY(item.hasFlag(Akonadi::MessageFlags::HasInvitation) == true);
QVERIFY(item.hasFlag(Akonadi::MessageFlags::HasAttachment) == true);
}
}
KMime::Message::Ptr MessageTest::readAndParseMail(const QString &mailFile) const
{
QFile file(QLatin1String(TEST_DATA_DIR) + QLatin1String("/mails/") + mailFile);
const bool ok = file.open(QIODevice::ReadOnly);
if (!ok) {
qWarning() << file.fileName() << "not found";
}
Q_ASSERT(ok);
const QByteArray data = KMime::CRLFtoLF(file.readAll());
Q_ASSERT(!data.isEmpty());
KMime::Message::Ptr msg(new KMime::Message);
msg->setContent(data);
msg->parse();
return msg;
}

View File

@ -0,0 +1,20 @@
/*
SPDX-FileCopyrightText: 2007 Volker Krause <vkrause@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include <KMime/KMimeMessage>
#include <QObject>
class MessageTest : public QObject
{
Q_OBJECT
private Q_SLOTS:
void testCopyFlags();
private:
KMime::Message::Ptr readAndParseMail(const QString &mailFile) const;
};

View File

@ -0,0 +1,60 @@
/*
SPDX-FileCopyrightText: 2014-2022 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "newmailnotifierattributetest.h"
#include "newmailnotifierattribute.h"
#include <QTest>
using namespace Akonadi;
NewMailNotifierAttributeTest::NewMailNotifierAttributeTest(QObject *parent)
: QObject(parent)
{
}
void NewMailNotifierAttributeTest::shouldHaveDefaultValue()
{
NewMailNotifierAttribute attr;
QVERIFY(!attr.ignoreNewMail());
}
void NewMailNotifierAttributeTest::shouldSetIgnoreNotification()
{
NewMailNotifierAttribute attr;
bool ignore = false;
attr.setIgnoreNewMail(ignore);
QCOMPARE(attr.ignoreNewMail(), ignore);
ignore = true;
attr.setIgnoreNewMail(ignore);
QCOMPARE(attr.ignoreNewMail(), ignore);
}
void NewMailNotifierAttributeTest::shouldSerializedData()
{
NewMailNotifierAttribute attr;
attr.setIgnoreNewMail(true);
QByteArray ba = attr.serialized();
NewMailNotifierAttribute result;
result.deserialize(ba);
QVERIFY(attr == result);
}
void NewMailNotifierAttributeTest::shouldCloneAttribute()
{
NewMailNotifierAttribute attr;
attr.setIgnoreNewMail(true);
NewMailNotifierAttribute *result = attr.clone();
QVERIFY(attr == *result);
delete result;
}
void NewMailNotifierAttributeTest::shouldHaveType()
{
NewMailNotifierAttribute attr;
QCOMPARE(attr.type(), QByteArray("newmailnotifierattribute"));
}
QTEST_MAIN(NewMailNotifierAttributeTest)

View File

@ -0,0 +1,23 @@
/*
SPDX-FileCopyrightText: 2014-2022 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include <QObject>
class NewMailNotifierAttributeTest : public QObject
{
Q_OBJECT
public:
explicit NewMailNotifierAttributeTest(QObject *parent = nullptr);
private Q_SLOTS:
void shouldHaveDefaultValue();
void shouldSetIgnoreNotification();
void shouldSerializedData();
void shouldCloneAttribute();
void shouldHaveType();
};

View File

@ -0,0 +1,57 @@
/*
SPDX-FileCopyrightText: 2014-2022 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "pop3resourceattributetest.h"
#include "pop3resourceattribute.h"
#include <QTest>
Pop3ResourceAttributeTest::Pop3ResourceAttributeTest(QObject *parent)
: QObject(parent)
{
}
void Pop3ResourceAttributeTest::shouldHaveDefaultValue()
{
Akonadi::Pop3ResourceAttribute attr;
QVERIFY(attr.pop3AccountName().isEmpty());
}
void Pop3ResourceAttributeTest::shouldAssignValue()
{
Akonadi::Pop3ResourceAttribute attr;
QString accountName;
attr.setPop3AccountName(accountName);
QCOMPARE(attr.pop3AccountName(), accountName);
accountName = QStringLiteral("foo");
attr.setPop3AccountName(accountName);
QCOMPARE(attr.pop3AccountName(), accountName);
accountName.clear();
attr.setPop3AccountName(accountName);
QCOMPARE(attr.pop3AccountName(), accountName);
}
void Pop3ResourceAttributeTest::shouldDeserializeValue()
{
Akonadi::Pop3ResourceAttribute attr;
QString accountName = QStringLiteral("foo");
attr.setPop3AccountName(accountName);
const QByteArray ba = attr.serialized();
Akonadi::Pop3ResourceAttribute result;
result.deserialize(ba);
QVERIFY(attr == result);
}
void Pop3ResourceAttributeTest::shouldCloneAttribute()
{
Akonadi::Pop3ResourceAttribute attr;
QString accountName = QStringLiteral("foo");
attr.setPop3AccountName(accountName);
Akonadi::Pop3ResourceAttribute *result = attr.clone();
QVERIFY(attr == *result);
delete result;
}
QTEST_MAIN(Pop3ResourceAttributeTest)

View File

@ -0,0 +1,22 @@
/*
SPDX-FileCopyrightText: 2014-2022 Laurent Montel <montel@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include <QObject>
class Pop3ResourceAttributeTest : public QObject
{
Q_OBJECT
public:
explicit Pop3ResourceAttributeTest(QObject *parent = nullptr);
private Q_SLOTS:
void shouldHaveDefaultValue();
void shouldAssignValue();
void shouldDeserializeValue();
void shouldCloneAttribute();
};

View File

@ -0,0 +1,160 @@
/*
SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "racetest.h"
#include <KProcess>
#include <QDebug>
#include <Akonadi/AgentInstance>
#include <Akonadi/AgentInstanceCreateJob>
#include <Akonadi/AgentManager>
#include <Akonadi/AgentType>
#include <akonadi/qtest_akonadi.h>
#include <control.h>
//#include <localfolders.h>
#define TIMEOUT_SECONDS 20
#define MAXCOUNT 10
// NOTE: REQUESTER_EXE is defined by cmake.
Q_DECLARE_METATYPE(QProcess::ProcessError)
Q_DECLARE_METATYPE(QProcess::ExitStatus)
using namespace Akonadi;
void RaceTest::initTestCase()
{
QVERIFY(Control::start());
QTest::qWait(1000); // give the MDA time to start so that we can kill it in peace
qRegisterMetaType<QProcess::ProcessError>();
qRegisterMetaType<QProcess::ExitStatus>();
}
void RaceTest::testMultipleProcesses_data()
{
QTest::addColumn<int>("count"); // how many processes to create
QTest::addColumn<int>("delay"); // number of ms to wait before starting next process
QTest::newRow("1-nodelay") << 1 << 0;
QTest::newRow("2-nodelay") << 2 << 0;
QTest::newRow("5-nodelay") << 5 << 0;
QTest::newRow("10-nodelay") << 10 << 0;
QTest::newRow("2-shortdelay") << 2 << 100;
QTest::newRow("5-shortdelay") << 5 << 100;
QTest::newRow("10-shortdelay") << 10 << 100;
QTest::newRow("2-longdelay") << 2 << 1000;
QTest::newRow("5-longdelay") << 5 << 1000;
QTest::newRow("5-verylongdelay") << 5 << 4000;
Q_ASSERT(10 <= MAXCOUNT);
}
void RaceTest::testMultipleProcesses()
{
QFETCH(int, count);
QFETCH(int, delay);
killZombies();
// Remove all maildir instances (at most 1 really) and MDAs (which use LocalFolders).
// (This is to ensure that one of *our* instances is the main instance.)
AgentType::List types;
types.append(AgentManager::self()->type(QLatin1String("akonadi_maildir_resource")));
types.append(AgentManager::self()->type(QLatin1String("akonadi_maildispatcher_agent")));
AgentInstance::List instances = AgentManager::self()->instances();
for (const AgentInstance &instance : std::as_const(instances)) {
if (types.contains(instance.type())) {
qDebug() << "Removing instance of type" << instance.type().identifier();
AgentManager::self()->removeInstance(instance);
QSignalSpy removedSpy(AgentManager::self(), SIGNAL(instanceRemoved(Akonadi::AgentInstance)));
QVERIFY(removedSpy.wait());
}
}
instances = AgentManager::self()->instances();
for (const AgentInstance &instance : std::as_const(instances)) {
QVERIFY(!types.contains(instance.type()));
}
QSignalSpy *errorSpy[MAXCOUNT];
QSignalSpy *finishedSpy[MAXCOUNT];
for (int i = 0; i < count; i++) {
qDebug() << "Starting process" << i + 1 << "of" << count;
KProcess *proc = new KProcess;
procs.append(proc);
proc->setProgram(QStringLiteral(REQUESTER_EXE));
errorSpy[i] = new QSignalSpy(proc, SIGNAL(error(QProcess::ProcessError)));
finishedSpy[i] = new QSignalSpy(proc, SIGNAL(finished(int, QProcess::ExitStatus)));
proc->start();
QTest::qWait(delay);
}
qDebug() << "Launched" << count << "processes.";
int seconds = 0;
int error, finished;
while (true) {
seconds++;
QTest::qWait(1000);
error = 0;
finished = 0;
for (int i = 0; i < count; i++) {
if (errorSpy[i]->count() > 0) {
error++;
}
if (finishedSpy[i]->count() > 0) {
finished++;
}
}
qDebug() << seconds << "seconds elapsed." << error << "processes error'd," << finished << "processes finished.";
if (error + finished >= count) {
break;
}
#if 0
if (seconds >= TIMEOUT_SECONDS) {
qDebug() << "Timeout, gdb master!";
QTest::qWait(1000 * 1000);
}
#endif
QVERIFY2(seconds < TIMEOUT_SECONDS, "Timeout");
}
QCOMPARE(error, 0);
QCOMPARE(finished, count);
for (int i = 0; i < count; i++) {
qDebug() << "Checking exit status of process" << i + 1 << "of" << count;
QCOMPARE(finishedSpy[i]->count(), 1);
QList<QVariant> args = finishedSpy[i]->takeFirst();
if (args[0].toInt() != 2) {
qDebug() << "Exit status" << args[0].toInt() << ", expected 2. Timeout, gdb master!";
QTest::qWait(1000 * 1000);
}
QCOMPARE(args[0].toInt(), 2);
}
while (!procs.isEmpty()) {
KProcess *proc = procs.takeFirst();
QCOMPARE(proc->exitStatus(), QProcess::NormalExit);
QCOMPARE(proc->exitCode(), 2);
delete proc;
}
QVERIFY(procs.isEmpty());
}
void RaceTest::killZombies()
{
while (!procs.isEmpty()) {
// These processes probably hung, and will never recover, so we need to kill them.
// (This happens if the last test failed.)
qDebug() << "Killing zombies from the past.";
KProcess *proc = procs.takeFirst();
proc->kill();
proc->deleteLater();
}
}
QTEST_AKONADIMAIN(RaceTest)

View File

@ -0,0 +1,32 @@
/*
SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#pragma once
#include <QList>
#include <QObject>
class KProcess;
/**
This tests the ability of LocalFolders to exist peacefully in multiple processes.
The main instance (normally the first one created) is supposed to create the
resource and collections, while the other instances are supposed to wait and
then just fetch the collections.
*/
class RaceTest : public QObject
{
Q_OBJECT
private Q_SLOTS:
void initTestCase();
void testMultipleProcesses_data();
void testMultipleProcesses();
void killZombies();
private:
QList<KProcess *> procs;
};

View File

@ -0,0 +1,9 @@
<config>
<kdehome>kdehome</kdehome>
<confighome>xdgconfig</confighome>
<datahome>xdglocal</datahome>
<agent synchronize="true">akonadi_knut_resource</agent>
<envvar name="AKONADI_DISABLE_AGENT_AUTOSTART">true</envvar>
<envvar name="TESTRUNNER_DB_ENVIRONMENT">sqlite</envvar>
<envvar name="AKONADI_OVERRIDE_SEARCHPLUGIN">akonadi_test_searchplugin</envvar>
</config>

View File

@ -0,0 +1,3 @@
[ProcessedDefaults]
defaultaddressbook=done
defaultcalendar=done

View File

@ -0,0 +1,4 @@
[General]
DataFile[$e]=$KDEHOME/testdata.xml
FileWatchingEnabled=false

View File

@ -0,0 +1,2 @@
[Wallet]
Enabled=false

View File

@ -0,0 +1,17 @@
[$Version]
update_info=mailtransports.upd:initial-kmail-migration,mailtransports.upd:initial-knode-migration
[General]
default-transport=549190884
[Transport 549190884]
auth=true
encryption=SSL
host=smtp.gmail.com
id=549190884
name=idanoka2-stored
password=ᄒᄡᄚᄆᄒᄏᄊᆱᄎᆲᆱ
port=465
storepass=true
user=idanoka2@gmail.com

View File

@ -0,0 +1,2 @@
[Notification Messages]
WalletMigrate=false

View File

@ -0,0 +1,4 @@
<knut>
<collection content="inode/directory,message/rfc822" rid="res1" name="res1" >
</collection>
</knut>

View File

@ -0,0 +1,7 @@
[%General]
# This is a slightly adjusted version of the QSQLITE driver from Qt
# It is provided by akonadi itself
Driver=QSQLITE3
[Search]
Manager=Dummy

View File

@ -0,0 +1,19 @@
fancyname: Akonadi Mime
maintainer: dvratil
description: Akonadi Mime library
tier: 3
type: functional
platforms:
- name: All
portingAid: false
deprecated: false
release: false
libraries:
- qmake: AkonadiMime
cmake: "KF5::AkonadiMime"
cmakename: KF5AkonadiMime
public_lib: true
group: kdepim
platforms:
- name: Linux

View File

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: none
SPDX-License-Identifier: CC0-1.0

View File

@ -0,0 +1,710 @@
# Copyright (C) YEAR This_file_is_part_of_KDE
# This file is distributed under the same license as the PACKAGE package.
#
# Safa Alfulaij <safa1996alfulaij@gmail.com>, 2014.
# Zayed Al-Saidi <zayed.alsaidi@gmail.com>, 2021, 2022.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2022-01-11 18:27+0400\n"
"Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\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"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "أفرغ المهملات"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "أتريد حقًّا إفراغ مجلدات المهملات لكلّ الحسابات؟"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"هل أنت متأكد من أنك تريد وضع علامة على كافة الرسائل الموجودة في هذا المجلد "
"وجميع مجلداته الفرعية؟"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "علّم الكلّ تكرارياً"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "علّم الكل"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "الموضوع"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "المُرسِل"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "المُستقبِل"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "التاريخ"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "الحجم"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(بدون موضوع)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(بدون المُرسِل)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(بدون المُستقبِل)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(بدون تاريخ)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "يجلب العناصر..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "يبحث عن التكرارات..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "يزيل التكرارات..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "وارد"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "صادر"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "بريد مُرسَل"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "مهملات"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "مسوّدات"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "قوالب"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "المجلدات المحليّة"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "أضف مجلدًا..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "أضف مجلد جديد إلى الحساب المحدّد حاليًّا."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "مجلد جديد"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "تعذّر إنشاء المجلد: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "فشل إنشاء المجلد"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "انسخ المجلد"
msgstr[1] "انسخ المجلد"
msgstr[2] "انسخ المجلدان"
msgstr[3] "انسخ الـ %1 مجلدات"
msgstr[4] "انسخ الـ %1 مجلدًا"
msgstr[5] "انسخ الـ %1 مجلد"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "انسخ المجلدات المحدّدة إلى الحافظة."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "خصائص المجلد %1"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "احذف المجلد"
msgstr[1] "احذف المجلد"
msgstr[2] "احذف المجلدين"
msgstr[3] "احذف %1 مجلدات"
msgstr[4] "احذف %1 مجلدًا"
msgstr[5] "احذف %1 مجلد"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "احذف المجلدات المحدّدة من الحساب."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] "لا شيء لحذفه."
msgstr[1] "أمتأكّد من حذف هذا المجلد مع مجلداته الفرعيّة؟"
msgstr[2] "أمتأكّد من حذف هذين المجلدين مع مجلداتهما الفرعيّة؟"
msgstr[3] "أمتأكّد من حذف %1 عناصر مع مجلداتها الفرعيّة؟"
msgstr[4] "أمتأكّد من حذف %1 عنصرًا مع مجلداتها الفرعيّة؟"
msgstr[5] "أمتأكّد من حذف %1 عنصر مع مجلداتها الفرعيّة؟"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "أأحذف المجلد؟"
msgstr[1] "أأحذف المجلد؟"
msgstr[2] "أأحذف المجلدين؟"
msgstr[3] "أأحذف المجلدات؟"
msgstr[4] "أأحذف المجلدات؟"
msgstr[5] "أأحذف المجلدات؟"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "تعذّر حذف المجلد: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "فشل حذف المجلد"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "حدث"
msgstr[1] "حدّث مجلد واحد"
msgstr[2] "حدّث مجلدين"
msgstr[3] "حدّث مجلّدات"
msgstr[4] "حدّث مجلّدات"
msgstr[5] "حدّث مجلّدات"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "حدّث محتويات المجلدات المحدّدة."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "قصّ المجلد"
msgstr[1] "قصّ المجلد"
msgstr[2] "قصّ المجلدين"
msgstr[3] "قصّ %1 مجلدات"
msgstr[4] "قصّ %1 مجلدًا"
msgstr[5] "قصّ %1 مجلد"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "قصّ المجلدات المحدّدة من الحساب."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "خصائص المجلّد"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr "افتح حواريًّا لتحرير خصائص المجلد المحدّد."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "انسخ الرّسالة"
msgstr[1] "انسخ الرّسالة"
msgstr[2] "انسخ الرّسالتين"
msgstr[3] "انسخ %1رسائل"
msgstr[4] "انسخ %1رسالة"
msgstr[5] "انسخ %1رسالة"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "انسخ الرسائل المحدّدة إلى الحافظة."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "احذف الرّسالة"
msgstr[1] "احذف الرسالة"
msgstr[2] "احذف الرسالتين"
msgstr[3] "احذف %1 رسائل"
msgstr[4] "احذف %1 رسالة"
msgstr[5] "احذف %1 رسالة"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "احذف الرسائل المحدّدة من المجلد."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "أمتأكّد من حذف الرسالة المحدّدة؟"
msgstr[1] "أمتأكّد من حذف الرسالة المحدّدة؟"
msgstr[2] "أمتأكّد من حذف الرسالتين المحدّدتين؟"
msgstr[3] "أمتأكّد من حذف %1 رسائل المحدّدة؟"
msgstr[4] "أمتأكّد من حذف %1 رسالة المحدّدة؟"
msgstr[5] "أمتأكّد من حذف %1رسالة المحدّدة؟"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "حذف الرّسالة؟"
msgstr[1] "حذف الرّسالة؟"
msgstr[2] "حذف الرّسائل؟"
msgstr[3] "حذف الرّسائل؟"
msgstr[4] "حذف الرّسائل؟"
msgstr[5] "حذف الرّسائل؟"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "تعذّر حذف الرسالة: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "فشل حذف الرسالة"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "قص الرسالة"
msgstr[1] "قص الرسالة"
msgstr[2] "قص الرسالتين"
msgstr[3] "قص %1 رسائل"
msgstr[4] "قص %1 رسالة"
msgstr[5] "قص %1 رسائل"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "قصّ الرسالة المحدّدة من المجلد."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "أضف &حسابًا..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"أضف حساباً جديدًا<p> سيُعرض حواريّ يمكنك منه اختيار نوع الحساب الذي سيُضاف.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "أضف حسابًا"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "تعذّر إنشاء الحساب: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "فشل إنشاء الحساب"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "ا&حذف الحساب"
msgstr[1] "ا&حذف الحساب"
msgstr[2] "ا&حذف الحسابين"
msgstr[3] "ا&حذف %1حسابات"
msgstr[4] "ا&حذف %1حسابا"
msgstr[5] "ا&حذف %1حساب"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"احذف الحسابات المحددة <p> سيحذف الحسابات المحددة، بالإضافة إلى جميع الرسائل "
"التي تحتوي عليها. </p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "أتريد حقًّا حذف هذا الحساب؟"
msgstr[1] "أتريد حقًّا حذف هذا الحساب؟"
msgstr[2] "أتريد حقًّا حذف هذين الحسابين؟"
msgstr[3] "أتريد حقًّا حذف %1 الحسابات هذه؟"
msgstr[4] "أتريد حقاً حذف %1 حساباً؟"
msgstr[5] "أتريد حقاً حذف %1 حساب؟"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "هل احذف الحساب؟"
msgstr[1] "هل احذف الحساب؟"
msgstr[2] "هل احذف الحسابين؟"
msgstr[3] "هل احذف الحسابات؟"
msgstr[4] "هل احذف الحسابات؟"
msgstr[5] "هل احذف الحسابات؟"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "خصائص الحساب..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr "افتح حواريًّا لتحرير خصائص الحساب المحدّد."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "حدّث الحساب"
msgstr[1] "حدّث الحساب"
msgstr[2] "حدّث الحسابين"
msgstr[3] "حدّث %1 الحسابات"
msgstr[4] "حدّث %1 حساباً"
msgstr[5] "حدّث %1 حساب"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr "يحدّث محتويات مجلدات الحسابات المحدّدة."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "حدّث هذا المجلد وجميع مجلداته الفرعية"
msgstr[1] "حدّث هذا المجلد وجميع مجلداته الفرعية"
msgstr[2] "حدّث هذين المجلدين وجميع مجلداتها الفرعية"
msgstr[3] "حدّث هذه المجلدات وجميع مجلداتها الفرعية"
msgstr[4] "حدّث هذه المجلدات وجميع مجلداتها الفرعية"
msgstr[5] "حدّث هذه المجلدات وجميع مجلداتها الفرعية"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr "حدّث محتويات المجلدات المحدّدة وكلّ مجلداتها الفرعيّة."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "تعذّر لصق الرسالة: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "فشل اللصق"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "أزل علامة مُهمّة"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "علّم الرسالة كَ&هامّة"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "أزل علامة مَهمة"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&علّم الرسالة كمَهمة"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "علّم الر&سالة كمقروءة"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "علّم كمقروءة"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "علّم الرسائل المحدّدة كمقروءة."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "علّم الرسالة كَ&غَير مقروءة"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "علّم كَغَير مقروءة"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "علّم الرسائل المحدّدة كَغَير مقروءة."
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "علّم كَهَامّة"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "علّم الرسائل المحدّدة كَهَامّة."
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "عّلم كمَهمة"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "علّم الرسائل المحدّدة كمَهام."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "علّم &كلّ الرسائل كمقروءة"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "علّم الكلّ كمقروءة"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "علّم كلّ الرسائل كمقروءة."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "علّم &كلّ الرسائل كمقروءة تكراريا"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "علّم الكلّ كمقروءة تكراريا"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "علّم كلّ الرسائل كمقروءة تكراريا."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "علّم &كلّ الرسائل كَغَير مقروءة"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "علّم الكلّ كَغَير مقروءة"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "علّم كلّ الرسائل كَغَير مقروءة."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "علّم &كلّ الرسائل كَهَامّة"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "علّم الكلّ كَهَامّة"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "علّم كلّ الرسائل كَهَامّة."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "عّلم الكل كمَهام"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "علّم كلّ الرسائل &كمَهام"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "علّم كلّ الرسائل كمَهام."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "انقل إلى الم&هملات"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "انقل الرسائل المحدّدة إلى مجلد المهملات."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "انقل الكلّ إلى الم&هملات"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "انقل كلّ الرسائل إلى مجلد المهملات."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "أزل الرسائل المت&كرّرة"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "أزل الرسائل المتكرّرة."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "أفرِغ كلّ مجلدات الم&هملات"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "أزل كلّ الرسائل من مجلدات المهملات للأبد"
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "أ&فرغ المهملات"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "أزل كلّ الرسائل من مجلدات المهملات للأبد"
#~ msgctxt "NAME OF TRANSLATORS"
#~ msgid "Your names"
#~ msgstr "صفا الفليج"
#~ msgctxt "EMAIL OF TRANSLATORS"
#~ msgid "Your emails"
#~ msgstr "safa1996alfulaij@gmail.com"

View File

@ -0,0 +1,641 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the akonadi-mime package.
#
# Kheyyam Gojayev <xxmn77@gmail.com>, 2020, 2021, 2022.
msgid ""
msgstr ""
"Project-Id-Version: akonadi-mime\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2022-07-03 14:28+0400\n"
"Last-Translator: Kheyyam <xxmn77@gmail.com>\n"
"Language-Team: Azerbaijani <kde-i18n-doc@kde.org>\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 22.04.2\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Səbəti Boşaltmaq"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "Bütün hesabların səbətlərini boşaltmaq istədiyinizə əminsiniz?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Bu qovluğun və onun alt qovluqlarındakı bütün ismarıcları işarələmək "
"istədiyinizə əminsiniz?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Hamısını rekursiv olaraq işarələyin"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Hamısını işarələyin"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Mövzu"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Göndərən"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Qəbul edən"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Tarix"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Ölçü"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(mövzu yoxdur)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(göndərən göstərilməyib)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(qəbul edən göstərilməyib)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(tarix yoxdur)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Məktublar alınır..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Duplikatlar axtarılır..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Dublikatlar silinir..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "Gələnlər"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "Çıxanlar"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "Göndərilən"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "səbət"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "qaralama"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "nümunələr"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Yerli Qovluqlar"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Qovluq əlavə etmək..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Hazırda seçilmiş hesaba üçün qovluq yaratmaq."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Yeni Qovluq"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "Qovluq yaradıla bilmədi: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Qovluq yaradılması baş tutmadı"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Qovluğu kopyalamaq"
msgstr[1] "%1 qovluğu kopyalamaq"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Seçilmiş qovluqları mübadilə buferinə kopyalamaq."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "%1 qovluğunun xüsusiyyətləri"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Qovluğu silmək"
msgstr[1] "%1 qovluğu silmək"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Seçilmiş qovluğu hesabdan silmək."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] ""
"Siz bu qovluğu və onun bütün alt qovluqlarını silmək istədiyinizə əminsiniz?"
msgstr[1] ""
"Siz %1 qovluğu və onun bütün alt qovluqlarını silmək istədiyinizə əminsiniz?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Qovluq silinsin?"
msgstr[1] "Qovluqlar silinsin?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "Silinə bilməyən qovluq: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "Qovluğun silinməsi baş tutmadı"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Qovluğu yeniləmək"
msgstr[1] "Qovluqları yeniləmək"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Seçilmiş qovluqların tərkiblərini yeniləmək."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Qovluğu kəsmək"
msgstr[1] "%1 qovluğu kəsmək"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Seçilmiş qoivluğu hesabdan kəsmək."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Qovluqların xüsusiyyətləri"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr "Seçilmiş qovluğun xüsusiyyətlərinə düzəliş etmək üçün dilaqu açmaq."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Məktubu Kopyalamaq"
msgstr[1] "%1 Məktubu Kopyalamaq"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Seçilmiş məktubu mübadilə buferinə kopyalamaq."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Məktubu Silmək"
msgstr[1] "%1 Məktubu Silmək"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Seçilmiş məktubları qovluqdan silmək"
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Seçilmiş məktubu silmək istədiyinizə əminsiniz?"
msgstr[1] "%1 məktubu silmək istədiyinizə əminsiniz?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Məktub silinsin?"
msgstr[1] "Məktublar silinsin?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "Silinə bilməyən məktub: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "Məktubun silinməsi baş tutmadı"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Məktubu kəsmək"
msgstr[1] "%1 məktubu kəsmək"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Seçilmiş məktubu qovluqdan kəsmək."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "Hes&ab əlavə etmək..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Yeni hesab əlavə etmək<p>Sizə əlavə ediləcək hesabın növünü seçə biləcəyiniz "
"dilaoq təqdim ediləcək.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Hesab əlavə etmək"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "Yaradla bilməyən hesab: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "Hesabın yaradılması baş tutmadı"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "Hesabı &silin"
msgstr[1] "%1 Hesabı &silin"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Seçilmiş hesabları silmək<p>Tərkibləri ilə bərabər hazırda seçilmiş hesablar "
"silinəcəkdir.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Bu hesabı silmək istədiyinizə əminsiniz?"
msgstr[1] "%1 hesabını silmək istədiyinizə əminsiniz?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Hesab Silinsin?"
msgstr[1] "Hesablar Silinisin"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Hesabın Xüsusiyyətləri..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr "Hesabın xüsusiyyətlərinə düzəliş etmək üçün dialoqu açmaq."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Hesabı yeniləmək"
msgstr[1] "%1 hesabı yeniləmək"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr "Seçilmiş hesabların bütün qovluqlarını yeniləmək."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Bu qovluğu və onun bütün alt qovluqlarını yeniləmək"
msgstr[1] "Bu qovluqları və onların bütün alt qovluqlarını yeniləmək"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr ""
"Seçilmiş qovluqların və onların bütün alt qovluqlarının tərkiblərini "
"yeniləmək."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "Yerləşdirilə bilməyən məktub: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Yerləşdirmə baş tutmadı"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Vaciblik işarəsini silmək"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "Məktubu vacib kimi işarələ&mək"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Nəzarətdən çıxartmaq"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&Məktubu nəzarətə almaq"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "Oxunmuş kimi işarələ&mək"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Oxunmuş kimi işarələmək"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Seçilmiş məktubları oxunmuş kimi işarələmək."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "Oxunmamış kimi işarələ&mək"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Oxunmamış kimi işarələmək"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Seçilmiş məktubları oxunmamış kimi işarələmək"
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Vacib kimi işarələmək"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Seçilmiş məktubları vacib kimi işarələmək"
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Nəzarətə alınan kimi işarələmək"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Seçilmiş məktubları nəzarətə alınanlar kimi işarələmək."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "&Bütün Məktubları Oxunmuş kimi İşarələmək"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Hamısını oxunmuş kimi işarələmək"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Bütün məktubları oxunmuş kimi işarələmək."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "&Bütün məktubları rekursiv olaraq oxunmuş kimi işarələmək"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Hamısını rekursiv oxunmuş kimi işarələmək"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Bütün məktubları rekursiv olaraq oxunmuş kimi işarələmək."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "&Bütün məktubları oxunmamış kimi işarələmək"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Hamısını oxunmamış kimi işarələmək"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Bütün məktubları oxunmamış kimi işarələmək."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "&Bütün məktubları vacib kimi işarələmək"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Hamısını vacib kimi işarələmək"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Bütün məktubları vacib kimi işarələmək"
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Hamısınə nəzarətə alınan kimi işarələmək"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "&Bütün məktubları nəzarətə alınan kimi işarələmək"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Bütün məktubları nəzarətə alınan kimi işarələmək."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Səbət atmaq"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Seçilmiş məktubları səbət qovluğuna köçürmək"
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Hamısını səbə&tə atmaq"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Bütün məktubları səbət qovluğuna atmaq."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Məktubların &dublikatlarını silmək"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Məktubların dublikatlarını silmək"
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Bütün Səbə&t Qovluqlarını Boşaltmaq"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "Bütün səbət qovluqlarındakı bütün məktubları həmişəlik silmək."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "Səbəti Boşalt&maq"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Səbətdəki bütün məktubları həmişəlik silmək."

View File

@ -0,0 +1,641 @@
# Copyright (C) YEAR This file is copyright:
# This file is distributed under the same license as the akonadi-mime package.
#
# Mincho Kondarev <mkondarev@yahoo.de>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: akonadi-mime\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2022-02-17 14:52+0100\n"
"Last-Translator: Mincho Kondarev <mkondarev@yahoo.de>\n"
"Language-Team: Bulgarian <kde-i18n-doc@kde.org>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 21.12.2\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Изпразване на кошчето"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "Наистина ли искате да изпразните папките на кошчето на всички акаунти?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Наистина ли искате да маркирате всички съобщения в тази папка и всички нейни "
"подпапки?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Маркиране на всички рекурсивно"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Маркиране на всички"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Тема"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Подател"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Получател"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Дата"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Размер"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(Няма тема)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(Няма подател)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(Няма получател)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(Няма дата)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Извличане на елементи.."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Търсене на дубликати..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Премахване на дубликати..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "входящи"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "изходящи"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "изпратени"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "кошче"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "чернови"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "шаблони"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Локални папки"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Добавяне на папка..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Добавяне на нова папка към текущо избрания акаунт."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Нова папка"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "Грешка при създаване на папка: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Неуспешно създаване на папка"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Копиране на папка"
msgstr[1] "Копиране на %1 папки"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Копиране на избраните папки в клипборда."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Свойства на папка %1"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Изтриване на папка"
msgstr[1] "Изтриване на %1 папки"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Изтриване на избраните папки от акаунта."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] "Наистина ли искате да изтриете тази папка и всички нейни подпапки?"
msgstr[1] "Наистина ли искате да изтриете %1 папки и всички техни подпапки?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Да се изтрие ли папката?"
msgstr[1] "Да се изтрият ли папките?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "Не може да се изтрие папка: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "Неуспешно изтриване на папка"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Актуализиране на папка"
msgstr[1] "Актуализиране на папки"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Актуализиране съдържанието на избраните папки."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Изрязване на папка"
msgstr[1] "Изрязване на %1 папки"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Изрязване на избраните папки от акаунта."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Свойства на папката"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr ""
"Отваряне на диалогов прозорец за редактиране на свойствата на избраната "
"папка."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Копиране на съобщение"
msgstr[1] "Копиране на %1 съобщения"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Копиране на избраните съобщения в клипборда."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Изтриване на съобщение"
msgstr[1] "Изтриване на %1 съобщения"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Изтриване на избраните съобщения от папката."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Наистина ли искате да изтриете избраното съобщение?"
msgstr[1] "Наистина ли искате да изтриете %1 съобщения?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Да се изтрие ли съобщението?"
msgstr[1] "Да се изтрият ли съобщенията?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "Не може да се изтрие съобщение: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "Неуспешно изтриване на съобщение"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Изрязване на съобщение"
msgstr[1] "Изрязване на %1 съобщения"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Изрязване на избраното съобщение от папката."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "&Добавяне на акаунт..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Добавяне на нов акаунт <p> Ще ви се покаже диалогов прозорец, където можете "
"да изберете типа на акаунта, който ще бъде добавен. </p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Добавяне на акаунт"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "Не може да се създаде на акаунт: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "Създаването на акаунта е неуспешно"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "&Изтриване на акаунт"
msgstr[1] "&Изтриване на %1 акаунти"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Изтриване на избраните акаунти <p> Текущо избраните акаунти ще бъдат "
"изтрити, заедно с всички съобщения, които те съдържат. </p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Наистина ли искате да изтриете този акаунт?"
msgstr[1] "Наистина ли искате да изтриете %1 акаунта?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Да се изтрие ли акаунта?"
msgstr[1] "Да се изтрият ли акаунтите?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Свойства на акаунт..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr ""
"Отваряне на диалогов прозорец за редактиране на свойствата на избрания "
"акаунт."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Актуализиране на акаунт"
msgstr[1] "Актуализиране на %1 акаунти"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr "Актуализира съдържанието на всички папки на избраните акаунти."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Актуализиране на папката и всички нейни подпапки"
msgstr[1] "Актуализиране на папките и всички техни подпапки"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr "Актуализиране съдържанието на папките и всички техни подпапки."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "Не може да се постави съобщение: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Поставянето е неуспешно"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Премахване на маркирането Важно"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "Маркиране на съобщението като &Важно"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Премахване на маркиране като елемент на действие"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&Маркиране на съобщението като елемент на действие"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "М&аркиране на съобщението като прочетено"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Маркиране като прочетено"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Маркиране на избраните съобщения като прочетени."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "М&аркиране на съобщението като непрочетено"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Маркиране като непрочетено"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Маркиране на избраните съобщения като непрочетени."
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Маркиране като Важно"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Маркиране на избраните съобщения като важни."
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Маркиране като елемент за действие"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Маркиране на избраните съобщения като елемент за действие."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "&Маркиране на всички съобщения като прочетени"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Маркиране на всички като прочетени"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Маркиране на всички съобщения като прочетени."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "&Маркиране на всички съобщения рекурсивно като прочетени"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Маркиране на всички като прочетени рекурсивно"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Маркиране на всички съобщения като прочетени рекурсивно."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "&Маркиране на всички съобщения като непрочетени"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Маркиране на всички като непрочетени"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Маркиране на всички съобщения като непрочетени."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "&Маркиране на всички съобщения като Важни"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Маркиране на всички като Важни"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Маркиране на всички съобщения като важни."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Маркиране на всички като елемент за действие"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "&Маркиране на всички съобщения като елемент за действие"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Маркиране на всички съобщения като елемент за действие."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "&Преместване в кошчето"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Преместване на избраните съобщения в кошчето."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Преместване на всички в ко&шчето"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Преместване на всички съобщения в кошчето."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Премахване на &дублирани съобщения"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Премахване на дублирани съобщения."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Изпразване на &всички папки на кошчето"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "Необратимо изтриване на всички съобщения от всички папки в кошчето."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "Из&празване на кошчето"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Необратимо изтриване на всички съобщения от папката на кошчето."

View File

@ -0,0 +1,780 @@
# Bosnian translation for kdepimlibs
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the kdepimlibs package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: kdepimlibs\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2013-10-18 20:27+0000\n"
"Last-Translator: Samir Ribić <Unknown>\n"
"Language-Team: Bosnian <bs@li.org>\n"
"Language: bs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Launchpad-Export-Date: 2013-10-19 05:20+0000\n"
"X-Generator: Launchpad (build 16807)\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Isprazni kantu"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr ""
"Da li ste sigurni da želite isprazniti direktorije sa smećem za sve račune?"
#: markascommand.cpp:127
#, fuzzy, kde-format
#| msgid "Do you really want to delete this folder and all its sub-folders?"
#| msgid_plural ""
#| "Do you really want to delete %1 folders and all their sub-folders?"
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Želite li zaista da obrišete %1 direktorij i sve njihove poddirektorije?"
#: markascommand.cpp:128
#, fuzzy, kde-format
#| msgid "Mark All as Read"
msgid "Mark All Recursively"
msgstr "Označi sve kao pročitano"
#: markascommand.cpp:129
#, fuzzy, kde-format
#| msgid "Mark All as Read"
msgctxt "@action:button"
msgid "Mark All"
msgstr "Označi sve kao pročitano"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Tema"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Pošiljalac"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Primalac"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Datum"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Veličina"
#: messagemodel.cpp:71
#, fuzzy, kde-format
#| msgctxt "@title:column, message (e.g. email) subject"
#| msgid "Subject"
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "Tema"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr ""
#: messagemodel.cpp:83
#, fuzzy, kde-format
#| msgctxt "@title:column, receiver of message (e.g. email)"
#| msgid "Receiver"
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "Primalac"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr ""
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Preuzimam elemente..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Tražim duplikate..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Uklanjanje duplikata..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "pristigle"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "odlazno"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "poslana-pošta"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "smeće"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "nacrti"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "šabloni"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Lokalne fascikle"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Dodaj fasciklu..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Dodaj novi direktorij trenutno odabranom nalogu"
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Novi direktorij"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "Ne mogu da napravim direktorij: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Neuspjelo stvaranje direktorija"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Kopiraj %1 fasciklu"
msgstr[1] "Kopiraj %1 fascikle"
msgstr[2] "Kopiraj %1 fascikli"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Kopiraj odabrane fascikle u međuspremnik"
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Svojstva direktorija %1"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Obriši %1 fasciklu"
msgstr[1] "Obriši %1 fascikle"
msgstr[2] "Obriši %1 fascikli"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Obriši odabrane fascikle iz naloga"
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] ""
"Želite li zaista da obrišete %1 direktorij i sve njihove poddirektorije?"
msgstr[1] ""
"Želite li zaista da obrišete %1 direktorija i sve njihove poddirektorije?"
msgstr[2] ""
"Želite li zaista da obrišete %1 direktorija i sve njihove poddirektorije?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Obrisati direktorij?"
msgstr[1] "Obrisati direktorije?"
msgstr[2] "Obrisati direktorije?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "Ne mogu da obrišem direktorij: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "Neuspjelo brisanje direktorija"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Ažuriraj fasciklu"
msgstr[1] "Ažuriraj fascikle"
msgstr[2] "Ažuriraj fascikle"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Ažuriraj sadržaj odabranih fascikli"
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Isijeci %1 fasciklu"
msgstr[1] "Isijeci %1 fascikle"
msgstr[2] "Isijeci %1 fascikli"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Isijeci odabrane fascikle iz naloga"
#: standardmailactionmanager.cpp:172
#, fuzzy, kde-format
#| msgid "Folder Properties..."
msgid "Folder Properties"
msgstr "Podaci fascikle..."
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr "Otvori dijaloški prozor da se urede svojstva odabrane fascikle"
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Kopiraj %1 poruku"
msgstr[1] "Kopiraj %1 poruke"
msgstr[2] "Kopiraj %1 poruka"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Kopira odabranu elektronsku poštu u međuspremnik"
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Obriši %1 e-mail"
msgstr[1] "Obriši %1 e-maila"
msgstr[2] "Obriši %1 e-maila"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Obriši izabranu elektronsku poštu iz fascikle."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Želite li stvarno obrisati odabranu %1 poruku?"
msgstr[1] "Želite li stvarno obrisati odabrane %1 poruke?"
msgstr[2] "Želite li stvarno obrisati odabranih %1 poruka?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Obrisati poruku elektronske pošte?"
msgstr[1] "Obrisati poruke elektronske pošte?"
msgstr[2] "Obrisati poruku elektronske pošte?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "Ne mogu obrisati elektronsku poštu: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "Brisanje elektronske pošte neuspjelo"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Isijeci %1 poruku"
msgstr[1] "Isijeci %1 poruke"
msgstr[2] "Isijeci %1 poruka"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Isijeci odabranu elektronsku poštu iz fascikle"
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "Dodaj n&alog..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Dodaj novi nalog<p>Biće predstavljen dijalog u kojem možete da izaberete tip "
"naloga koji će biti dodat.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Dodaj nalog"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "Ne mogu kreirati nalog: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "Kreiranje naloga neuspjelo"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "Izbriši %1 &nalog"
msgstr[1] "Izbriši %1 &naloga"
msgstr[2] "Izbriši %1 &naloga"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Obriši izabrane naloge<p>Trenutno izabrani nalozi će biti obrisani, zajedno "
"sa svim porukama koje sadrže.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Želite li izbrisati ovaj %1 nalog?"
msgstr[1] "Želite li izbrisati ova %1 naloga?"
msgstr[2] "Želite li izbrisati ovih %1 naloga?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Obrisati nalog?"
msgstr[1] "Obrisati naloge?"
msgstr[2] "Obrisati naloge?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Svojstva naloga..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr "Otvori dijalog za uređivanje svojstava izabranog naloga."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Ažuriraj %1 nalog"
msgstr[1] "Ažuriraj %1 &naloga"
msgstr[2] "Ažuriraj %1 &naloga"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr "Ispravke sadržaja svih fascikli za izabrane naloge."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Ažuriraj fasciklu i njene potfascikle"
msgstr[1] "Ažuriraj fascikle i njene potfascikle"
msgstr[2] "Ažuriraj fascikle i njene potfascikle"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr "Ažuriraj sadržaj fascikli i njihovih potfascikli"
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "Ne mogu umetnuti poruku: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Neuspjelo umetanje"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Ukloni oznaku važnosti"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "&Označi poruku kao važnu"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Ukloni oznaku akcijske stavke"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&Označi poruk kao akcijsku stavku"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "&Označi poruku kao pročitanu"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Označi pročitanim"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Označi izabrane poruke kao pročitane"
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "&Označi poruku kao nepročitanu"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Označi kao nepročitanu"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Označi izabrane poruke kao nepročitane"
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Označi kao važnu"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Označi izabrane poruke kao važne"
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Označi kao akcijsku stavku"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Označi izabrane poruke kao akcijske stavke"
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "Označi &sve poruke kao pročitane"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Označi sve kao pročitano"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Označi sveporuke kao pročitane"
#: standardmailactionmanager.cpp:766
#, fuzzy, kde-format
#| msgid "Mark &All Messages as Read"
msgid "Mark &All Messages as Read Recursively"
msgstr "Označi &sve poruke kao pročitane"
#: standardmailactionmanager.cpp:767
#, fuzzy, kde-format
#| msgid "Mark All as Read"
msgid "Mark All as Read Recursively"
msgstr "Označi sve kao pročitano"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, fuzzy, kde-format
#| msgid "Mark all messages as read."
msgid "Mark all messages as read recursively."
msgstr "Označi sveporuke kao pročitane"
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "Označi &sve poruke kao nepročitane"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Označi sve kao nepročitano"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Označi sve poruke kao nepročitane"
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "Označi &sve poruke kao važne"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Označi sve kao važno"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Označi &sve poruke kao važne"
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Označi sve kao akcijsku stavku"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "Označi &sve poruke kao akcijske stavke"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Označi sve poruke kao akcijske stavke"
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Premjes&ti u smeće"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Premjesti odabrane poruke u fasciklu smeća"
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Premjes&ti sve u smeće"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Premjesti sve poruke u fasciklu smeća"
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Ukloni &duple poruke"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Ukloni duple poruke"
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Sa&bij sve fascikle"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "Trajno obriši sve poruke iz fascikli s smećem"
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "&Isprazni smeće"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Trajno obriši sve poruke iz fascikle s smećem."
#~ msgctxt "@label"
#~ msgid ""
#~ "This model can only handle email folders. The current collection holds "
#~ "mimetypes: %1"
#~ msgstr ""
#~ "Ovaj model može samo da rukuje fasciklama e-pošte. Trenutna kolekcija "
#~ "poznaje mime tipove: %1"
#~ msgid "&Mark Mail as Important"
#~ msgstr "&Označi poštu kao važnu"
#~ msgid "&Mark Mail as Action Item"
#~ msgstr "&Označi poštu kao akcijsku stavku"
#, fuzzy
#~| msgid "Cut Email"
#~| msgid_plural "Cut %1 Emails"
#~ msgctxt "EMAIL OF TRANSLATORS"
#~ msgid "Your emails"
#~ msgstr "Isijeci %1 Email"
#~ msgid "IMAP server"
#~ msgstr "IMAP server"
#~ msgid "Defines the port the IMAP service is running on"
#~ msgstr "Definiše port na kome radi IMAP servis"
#~ msgid "Username"
#~ msgstr "Korisničko ime"
#~ msgid "Defines the encryption type to use"
#~ msgstr "Definiše vrstu šifrovanja"
#~ msgid "Defines the authentication type to use"
#~ msgstr "Definiše vrstu provjere autentičnosti"
#~ msgid "Defines if the server side subscription is enabled"
#~ msgstr "Definiše ako je pretplata na serveru omogućena"
#~ msgid "Defines if all the IMAP data should be cached locally all the time"
#~ msgstr ""
#~ "Definiše da li će se IMAP podaci držati kopirani lokalno sve vrijeme"
#~ msgid "Defines if interval checking is enabled."
#~ msgstr "Definiše ako je omogućena provjera intervala"
#~ msgid "Check interval in minutes"
#~ msgstr "Interval provjere u minutama"
#~ msgid ""
#~ "Defines if the annotations, ACLs and quota information of mailboxes "
#~ "should\n"
#~ " also be retrieved when the mailboxes get listed."
#~ msgstr ""
#~ "Definiše ako podvlačenja, ACLs i informacije o kvotama poštanskim "
#~ "sandučića\n"
#~ " se također pregledaju pri listanju sandučića."
#~ msgid ""
#~ "Defines if the expunge command is issued automatically, otherwise it "
#~ "should be\n"
#~ " triggered manually through the D-Bus interface."
#~ msgstr ""
#~ "Definiše da li se expunge komanda obavi automatski, inače ona treba "
#~ "biti \n"
#~ " pokrenuta ručno kroz D-Bus interfejs."
#~ msgid "Define which folder is used for trash"
#~ msgstr "Definiše koji se direktorij koristi za smeće"
#~ msgid "Define if account uses the default identity"
#~ msgstr "Definiše ako nalog koristi podrazumijevani identitet"
#~ msgid "Identity account"
#~ msgstr "Nalog identiteta"
#~ msgid "RID path to the mailbox to watch for changes"
#~ msgstr "RID staza do sandučića gdje se prate izmjene"
#~ msgid "Define if server supports sieve"
#~ msgstr "Definiše ako server podržava sito"
#~ msgid "Define if we reuse host and login configuration"
#~ msgstr "Defineše ako ponovo koristimo konfiguraciju hosta i prijave"
#~ msgid "Define sieve port"
#~ msgstr "Definiše port sita"
#~ msgid "Define alternate URL"
#~ msgstr "Definišee alternativni URL"
#~ msgid "Define default sieve vacation filename"
#~ msgstr "Daefiniše datoteku za odmor sita"
#~ msgid "Id of the resource containing the default special collections."
#~ msgstr "ID resursa koji sadrži podrazumijevane specijalne kolekcije."
#~ msgid ""
#~ "Id of the maildir resource containing the default special collections."
#~ msgstr ""
#~ "ID maildir resursa koji sadrži podrazumijevane specijalne kolekcije."
#~ msgid "Copy Email"
#~ msgid_plural "Copy %1 Emails"
#~ msgstr[0] "Kopiraj %1 e-mail"
#~ msgstr[1] "Kopiraj %1 e-maila"
#~ msgstr[2] "Kopiraj %1 e-maila"

View File

@ -0,0 +1,646 @@
# Translation of libakonadi-kmime5.po to Catalan
# Copyright (C) 2010-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.
#
# Josep M. Ferrer <txemaq@gmail.com>, 2010, 2012, 2013, 2014, 2015, 2017, 2020, 2021.
# Antoni Bella Pérez <antonibella5@yahoo.com>, 2013, 2014, 2015, 2016, 2020, 2021.
msgid ""
msgstr ""
"Project-Id-Version: akonadi-mime\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2021-11-06 08:42+0100\n"
"Last-Translator: Antoni Bella Pérez <antonibella5@yahoo.com>\n"
"Language-Team: Catalan <kde-i18n-ca@kde.org>\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 21.08.1\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Buida la paperera"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "Realment voleu buidar les papereres de tots els comptes?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Realment voleu marcar tots els missatges en aquesta carpeta i totes les "
"seves subcarpetes?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Marca'ls tots recursivament"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Marca-ho tot"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Assumpte"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Remitent"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Destinatari"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Data"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Mida"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(Sense assumpte)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(Sense remitent)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(Sense destinatari)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(Sense data)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "S'estan recuperant elements..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "S'estan cercant els duplicats..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "S'estan eliminant els duplicats..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "entrada"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "sortida"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "enviats"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "paperera"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "esborranys"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "plantilles"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Carpetes locals"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Afegeix una carpeta..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Afegeix una carpeta nova al compte seleccionat."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Carpeta nova"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "No s'ha pogut crear la carpeta: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Ha fallat la creació de la carpeta"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Copia la carpeta"
msgstr[1] "Copia %1 carpetes"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Copia les carpetes seleccionades al porta-retalls."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Propietats de la carpeta %1"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Suprimeix la carpeta"
msgstr[1] "Suprimeix %1 carpetes"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Suprimeix les carpetes seleccionades del compte."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] ""
"Realment voleu suprimir aquesta carpeta i totes les seves subcarpetes?"
msgstr[1] "Realment voleu suprimir %1 carpetes i totes les seves subcarpetes?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Suprimeixo la carpeta?"
msgstr[1] "Suprimeixo les carpetes?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "No s'ha pogut suprimir la carpeta: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "Ha fallat l'eliminació de la carpeta"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Actualitza la carpeta"
msgstr[1] "Actualitza les carpetes"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Actualitza el contingut de les carpetes seleccionades."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Retalla la carpeta"
msgstr[1] "Retalla %1 carpetes"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Retalla les carpetes seleccionades del compte."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Propietats de la carpeta"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr "Obre un diàleg per a editar les propietats de la carpeta seleccionada."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Copia el missatge"
msgstr[1] "Copia %1 missatges"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Copia els missatges seleccionats al porta-retalls."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Suprimeix el missatge"
msgstr[1] "Suprimeix %1 missatges"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Suprimeix els missatges seleccionats de la carpeta."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Realment voleu suprimir el missatge seleccionat?"
msgstr[1] "Realment voleu suprimir %1 missatges?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Suprimeixo el missatge?"
msgstr[1] "Suprimeixo els missatges?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "No s'ha pogut suprimir el missatge: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "Ha fallat l'eliminació del missatge"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Retalla el missatge"
msgstr[1] "Retalla %1 missatges"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Retalla els missatges seleccionats de la carpeta."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "&Afegeix un compte..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Afegeix un compte nou<p>Es presentarà un diàleg a on podreu seleccionar el "
"tipus de compte que s'ha d'afegir.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Afegeix un compte"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "No s'ha pogut crear el compte: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "Ha fallat en crear el compte"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "Su&primeix el compte"
msgstr[1] "Su&primeix %1 comptes"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Suprimeix els comptes seleccionats<p>Se suprimiran els comptes seleccionats, "
"juntament amb tots els missatges que contenen.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Realment voleu suprimir aquest compte?"
msgstr[1] "Realment voleu suprimir %1 comptes?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Suprimeixo el compte?"
msgstr[1] "Suprimeixo els comptes?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Propietats del compte..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr "Obre un diàleg per a editar les propietats del compte seleccionat."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Actualitza el compte"
msgstr[1] "Actualitza %1 comptes"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr ""
"Actualitza el contingut de totes les carpetes dels comptes seleccionats."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Actualitza aquesta carpeta i totes les seves subcarpetes"
msgstr[1] "Actualitza aquestes carpetes i totes les seves subcarpetes"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr ""
"Actualitza els continguts de les carpetes seleccionades i les seves "
"subcarpetes."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "No s'ha pogut enganxar el missatge: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Ha fallat en enganxar"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Elimina la marca d'important"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "&Marca el missatge com a important"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Elimina la marca d'element d'acció"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&Marca el missatge com un element d'acció"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "&Marca el missatge com a llegit"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Marca com a llegit"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Marca els missatges seleccionats com a llegits."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "&Marca el missatge com a no llegit"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Marca com a sense llegir"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Marca els missatges seleccionats com a no llegits."
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Marca com a important"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Marca els missatges seleccionats com a importants."
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Marca com un element d'acció"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Marca els missatges seleccionats com a elements d'acció."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "M&arca tots els missatges com a llegits"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Marca-ho tot com a llegit"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Marca tots els missatges com a llegits."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "M&arca recursivament tots els missatges com a llegits"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Marca'ls tots recursivament com a llegits"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Marca recursivament tots els missatges com a llegits."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "Marca &tots els missatges com a sense llegir"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Marca-ho tot com a sense llegir"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Marca tots els missatges com a sense llegir."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "Marca &tots els missatges com a importants"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Marca-ho tot com a important"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Marca tots els missatges com a importants."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Marca-ho tot com a element d'acció"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "Marca &tots els missatges com a elements d'acció"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Marca tots els missatges com a elements d'acció."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Mou a la &paperera"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Mou els missatges seleccionats cap a la carpeta paperera."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Mou-ho tot a la &paperera"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Mou tots els missatges a la carpeta paperera."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Elimina els missatges &duplicats"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Elimina els missatges duplicats."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Buida totes les carpetes de &paperera"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr ""
"Suprimeix permanentment tots els missatges de totes les carpetes papereres."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "Buida la &paperera"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Suprimeix permanentment tots els missatges de la carpeta paperera."

View File

@ -0,0 +1,646 @@
# Translation of libakonadi-kmime5.po to Catalan (Valencian)
# Copyright (C) 2010-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.
#
# Josep M. Ferrer <txemaq@gmail.com>, 2010, 2012, 2013, 2014, 2015, 2017, 2020, 2021.
# Antoni Bella Pérez <antonibella5@yahoo.com>, 2013, 2014, 2015, 2016, 2020, 2021.
msgid ""
msgstr ""
"Project-Id-Version: akonadi-mime\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2021-11-06 08:42+0100\n"
"Last-Translator: Antoni Bella Pérez <antonibella5@yahoo.com>\n"
"Language-Team: Catalan <kde-i18n-ca@kde.org>\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 21.08.1\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Buida la paperera"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "Segur que voleu buidar les papereres de tots els comptes?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Segur que voleu marcar tots els missatges en esta carpeta i totes les seues "
"subcarpetes?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Marca'ls tots recursivament"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Marca-ho tot"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Assumpte"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Remitent"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Destinatari"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Data"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Mida"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(Sense assumpte)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(Sense remitent)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(Sense destinatari)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(Sense data)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "S'estan recuperant elements..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "S'estan buscant els duplicats..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "S'estan eliminant els duplicats..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "entrada"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "eixida"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "enviats"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "paperera"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "esborranys"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "plantilles"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Carpetes locals"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Afig una carpeta..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Afig una carpeta nova al compte seleccionat."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Carpeta nova"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "No s'ha pogut crear la carpeta: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "No s'ha pogut crear la carpeta"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Copia la carpeta"
msgstr[1] "Copia %1 carpetes"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Copia les carpetes seleccionades al porta-retalls."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Propietats de la carpeta %1"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Suprimix la carpeta"
msgstr[1] "Suprimix %1 carpetes"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Suprimix les carpetes seleccionades del compte."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] ""
"Segur que voleu suprimir esta carpeta i totes les seues subcarpetes?"
msgstr[1] "Segur que voleu suprimir %1 carpetes i totes les seues subcarpetes?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Voleu suprimir la carpeta?"
msgstr[1] "Voleu suprimir les carpetes?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "No s'ha pogut suprimir la carpeta: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "No s'ha pogut fer l'eliminació de la carpeta"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Actualitza la carpeta"
msgstr[1] "Actualitza les carpetes"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Actualitza el contingut de les carpetes seleccionades."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Retalla la carpeta"
msgstr[1] "Retalla %1 carpetes"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Retalla les carpetes seleccionades del compte."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Propietats de la carpeta"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr "Obri un diàleg per a editar les propietats de la carpeta seleccionada."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Copia el missatge"
msgstr[1] "Copia %1 missatges"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Copia els missatges seleccionats al porta-retalls."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Suprimix el missatge"
msgstr[1] "Suprimix %1 missatges"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Suprimix els missatges seleccionats de la carpeta."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Segur que voleu suprimir el missatge seleccionat?"
msgstr[1] "Segur que voleu suprimir %1 missatges?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Voleu suprimir el missatge?"
msgstr[1] "Voleu suprimir els missatges?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "No s'ha pogut suprimir el missatge: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "No s'ha pogut fer l'eliminació del missatge"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Retalla el missatge"
msgstr[1] "Retalla %1 missatges"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Retalla els missatges seleccionats de la carpeta."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "Afi&g un compte..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Afig un compte nou<p>Es presentarà un diàleg a on podreu seleccionar el "
"tipus de compte que s'ha d'afegir.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Afig un compte"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "No s'ha pogut crear el compte: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "No s'ha pogut crear el compte"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "Sup&rimix el compte"
msgstr[1] "Sup&rimix %1 comptes"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Suprimix els comptes seleccionats<p>Se suprimiran els comptes seleccionats, "
"juntament amb tots els missatges que contenen.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Segur que voleu suprimir este compte?"
msgstr[1] "Segur que voleu suprimir %1 comptes?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Voleu suprimir el compte?"
msgstr[1] "Voleu suprimir els comptes?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Propietats del compte..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr "Obri un diàleg per a editar les propietats del compte seleccionat."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Actualitza el compte"
msgstr[1] "Actualitza %1 comptes"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr ""
"Actualitza el contingut de totes les carpetes dels comptes seleccionats."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Actualitza esta carpeta i totes les seues subcarpetes"
msgstr[1] "Actualitza estes carpetes i totes les seues subcarpetes"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr ""
"Actualitza els continguts de les carpetes seleccionades i les seues "
"subcarpetes."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "No s'ha pogut apegar el missatge: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "No s'ha pogut apegar"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Elimina la marca d'important"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "&Marca el missatge com a important"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Elimina la marca d'element d'acció"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&Marca el missatge com un element d'acció"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "&Marca el missatge com a llegit"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Marca com a llegit"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Marca els missatges seleccionats com a llegits."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "&Marca el missatge com a no llegit"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Marca com a sense llegir"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Marca els missatges seleccionats com a no llegits."
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Marca com a important"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Marca els missatges seleccionats com a importants."
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Marca com un element d'acció"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Marca els missatges seleccionats com a elements d'acció."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "M&arca tots els missatges com a llegits"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Marca-ho tot com a llegit"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Marca tots els missatges com a llegits."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "M&arca recursivament tots els missatges com a llegits"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Marca'ls tots recursivament com a llegits"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Marca recursivament tots els missatges com a llegits."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "Marca &tots els missatges com a sense llegir"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Marca-ho tot com a sense llegir"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Marca tots els missatges com a sense llegir."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "Marca &tots els missatges com a importants"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Marca-ho tot com a important"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Marca tots els missatges com a importants."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Marca-ho tot com a element d'acció"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "Marca &tots els missatges com a elements d'acció"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Marca tots els missatges com a elements d'acció."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Mou a la &paperera"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Mou els missatges seleccionats cap a la carpeta paperera."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Mou-ho tot a la &paperera"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Mou tots els missatges cap a la carpeta paperera."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Elimina els missatges &duplicats"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Elimina els missatges duplicats."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Buida totes les carpetes de &paperera"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr ""
"Suprimix permanentment tots els missatges de totes les carpetes papereres."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "Buida la &paperera"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Suprimix permanentment tots els missatges de la carpeta paperera."

View File

@ -0,0 +1,656 @@
# 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 <vit@pelcak.org>, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2020.
# Lukáš Tinkl <ltinkl@redhat.com>, 2011.
# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012.
# Vit Pelcak <vit@pelcak.org>, 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2021-11-11 10:55+0100\n"
"Last-Translator: Vit Pelcak <vpelcak@suse.cz>\n"
"Language-Team: Czech <kde-i18n-doc@kde.org>\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 21.08.3\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Vyprázdnit koš"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "Opravdu si přejete vyprázdnit složky koše všech účtů?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Opravdu si přejete označit všechny zprávy v této složce a ve všech jejích "
"podsložkách?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Označit vše rekurzivně"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Označit vše"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Předmět"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Odesílatel"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Příjemce"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Datum"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Velikost"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(Žádný předmět)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(Žádný odesílatel)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(Žádný příjemce)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(Žádné datum)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Získávání položek..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Hledám duplicity..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Odstraňuji duplicity..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "Příchozí"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "Odchozí"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "Odeslaná pošta"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "Koš"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "Koncepty"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "Šablony"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Lokální složky"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Přidat složku..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Přidat novou složku do právě vybraného účtu."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Nová složka"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "Nelze vytvořit složku: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Vytvoření složky selhalo"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Kopírovat složku"
msgstr[1] "Kopírovat %1 složky"
msgstr[2] "Kopírovat %1 složek"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Zkopírovat vybrané složky do schránky."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Vlastnosti složky %1"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Smazat složku"
msgstr[1] "Smazat %1 složky"
msgstr[2] "Smazat %1 složek"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Smazat vybrané složky z účtu."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] "Opravdu si přejete smazat tuto složku a všechny její podsložky?"
msgstr[1] "Opravdu si přejete smazat %1 složek a všechny jejich podsložky?"
msgstr[2] "Opravdu si přejete smazat %1 složky a všechny jejich podsložky?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Smazat složku?"
msgstr[1] "Smazat složky?"
msgstr[2] "Smazat složky?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "Nelze smazat složku: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "Smazání složky selhalo"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Aktualizovat složku"
msgstr[1] "Aktualizovat složky"
msgstr[2] "Aktualizovat složky"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Aktualizovat obsah vybraných složek."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Vyjmout složku"
msgstr[1] "Vyjmout %1 složky"
msgstr[2] "Vyjmout %1 složek"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Vyjmout vybrané složky z účtu."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Vlastnosti složky"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr "Otevřít dialog k úpravě vlastností vybrané složky."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Kopírovat zprávu"
msgstr[1] "Kopírovat %1 zprávy"
msgstr[2] "Kopírovat %1 zpráv"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Kopírovat vybrané zprávy do schránky."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Smazat zprávu"
msgstr[1] "Smazat %1 zprávy"
msgstr[2] "Smazat %1 zpráv"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Smazat vybrané zprávy ze složky."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Opravdu chcete smazat vybranou zprávu?"
msgstr[1] "Přejete si skutečně smazat %1 zprávy?"
msgstr[2] "Přejete si skutečně smazat %1 zpráv?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Smazat zprávu?"
msgstr[1] "Smazat zprávy?"
msgstr[2] "Smazat zprávy?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "Není možné smazat zprávu: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "Mazání zprávy selhalo"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Vyjmout %1 zprávu"
msgstr[1] "Vyjmout %1 zprávy"
msgstr[2] "Vyjmout %1 zprávy"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Vyjmout vybranou zprávu ze složky."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "Přid&at účet..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Přidat nový účet<p>Bude vám zobrazen dialog, kde můžete vybrat typ účtu, "
"který bude přidán.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Přidat účet"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "Nelze vytvořit účet: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "Vytvoření účtu selhalo"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "S&mazat účet"
msgstr[1] "S&mazat %1 účty"
msgstr[2] "S&mazat %1 účtů"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Smazat vybrané účty<p>Právě vybrané účty budou smazány spolu se všemi "
"zprávami, které obsahují.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Přejete si opravdu smazat tento účet?"
msgstr[1] "Přejete si skutečně smazat %1 účty?"
msgstr[2] "Přejete si skutečně smazat %1 účtů?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Smazat účet?"
msgstr[1] "Smazat účty?"
msgstr[2] "Smazat účty?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Vlastnosti účtu..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr "Otevře dialog k úpravě vlastností vybraného účtu."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Aktualizovat účet"
msgstr[1] "Aktualizovat %1 účty"
msgstr[2] "Aktualizovat %1 účtů"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr "Aktualizuje obsah všech složek vybraných účtů."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Aktualizovat složku a všechny její podsložky"
msgstr[1] "Aktualizovat tyto složky a všechny jejich podsložky"
msgstr[2] "Aktualizovat tyto složky a všechny jejich podsložky"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr "Aktualizovat obsah vybraných složek a všech jejich podsložek."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "Nelze vložit zprávu: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Vložení selhalo"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Zrušit značku \"důležitá\""
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "Označit zprávu jako důležitou"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Odstranit značku akční položky"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "Označit zprávu &jako akční položku"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "&Označit zprávu jako přečtenou"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Označit jako přečtené"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Označit vybrané zprávy jako přečtené."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "Označit zprávu jako nepřečtenou"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Označit jako nepřečtené"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Označit vybrané zprávy jako nepřečtené."
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Označit jako důležité"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Označit vybrané zprávy jako důležité."
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Označit jako akční položku"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Označit vybrané zprávy jako akční položky."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "Ozn&ačit všechny zprávy jako přečtené"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Označit vše jako přečtené"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Označit všechny zprávy jako přečtené."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "Ozn&ačit rekurzivně všechny zprávy jako přečtené"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Označit rekurzivně vše jako přečtené"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Ozn&ačit rekurzivně všechny zprávy jako přečtené."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "Ozn&ačit všechny zprávy jako nepřečtené"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Označit vše jako nepřečtené"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Označit všechny zprávy jako nepřečtené."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "Ozn&ačit všechny zprávy jako důležité"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Označit vše jako důležité"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Označit všechny zprávy jako důležité."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Ozn&ačit vše jako akční položku"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "Ozn&ačit všechny zprávy jako akční položku"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Označit všechny zprávy jako akční položky."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Přesunou&t do koše"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Přesunout vybrané zprávy do složky koše."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Přesunou&t vše do koše"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Přesunout všechny zprávy do složky koše."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "O&dstranit duplicitní zprávy"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Odstranit duplicitní zprávy."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Vyprázdni&t všechny složky s košem"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "Permanentně smazat všechny zprávy ze všech složek koše."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "V&yprázdnit koš"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Permanentně smazat všechny zprávy ze složky koše."

View File

@ -0,0 +1,742 @@
# Copyright (C) YEAR This_file_is_part_of_KDE
# This file is distributed under the same license as the PACKAGE package.
#
# Martin Schlander <mschlander@opensuse.org>, 2011, 2013, 2015, 2020, 2022.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2022-02-08 19:45+0100\n"
"Last-Translator: Martin Schlander <mschlander@opensuse.org>\n"
"Language-Team: Danish <kde-i18n-doc@kde.org>\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"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Tøm papirkurv"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "Vil du virkelig tømme papirkurvsmapperne for alle konti?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Vil du virkelig markere alle breve i denne mappe og alle dens undermapper?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Markér alle rekursivt"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Markér alle"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Emne"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Afsender"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Modtager"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Dato"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Størrelse"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(Intet emne)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(Ingen afsender)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(Ingen modtager)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(Ingen dato)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Henter elementer..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Søger efter gengangere..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Fjerner gengangere..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "indbakke"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "udbakke"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "Sendte e-mails"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "papirkurv"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "kladder"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "skabeloner"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Lokale mapper"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Tilføj mappe..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Føj en ny mappe til den aktuelt markerede konto."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Ny mappe"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "Kunne ikke oprette mappe: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Oprettelse af mappe mislykkedes"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Kopiér mappe"
msgstr[1] "Kopiér %1 mapper"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Kopiér de markerede mapper til udklipsholderen."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Egenskaber for mappen %1"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Slet mappe"
msgstr[1] "Slet %1 mapper"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Slet de markerede mapper fra kontoen."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] "Vil du virkelig slette denne mappe og alle dens undermapper?"
msgstr[1] "Vil du virkelig slette %1 mapper og alle deres undermapper?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Slet mappe?"
msgstr[1] "Slet mapper?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "Kunne ikke slette mappe: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "Sletning af mappe mislykkedes"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Opdatér mappe"
msgstr[1] "Opdatér mapper"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Opdatér indholdet af de markerede mapper."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Klip mappe"
msgstr[1] "Klip %1 mapper"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Klip de markerede mapper fra kontoen."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Mappeegenskaber"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr "Åbn en dialog for at redigere egenskaberne for den markerede mappe."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Kopiér brev"
msgstr[1] "Kopiér %1 breve"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Kopiér de markerede breve til udklipsholderen."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Slet brev"
msgstr[1] "Slet %1 breve"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Slet de markerede breve fra mappen."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Vil du virkelig slette det markerede brev?"
msgstr[1] "Vil du virkelig slette %1 breve?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Slet brev?"
msgstr[1] "Slet breve?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "Kunne ikke slette brev: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "Sletning af brev mislykkedes"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Klip brev"
msgstr[1] "Klip %1 breve"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Klip de markerede breve fra mappen."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "Tilføj &konto..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Tilføj en ny konto<p>Du vil blive præsenteret for en dialog hvor du kan "
"vælge hvilken type konto der skal tilføjes.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Tilføj konto"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "Kunne ikke oprette konto: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "Oprettelse af konto mislykkedes"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "&Slet konto"
msgstr[1] "&Slet %1 konti"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Slet de markerede konti<p>De aktuelt markerede konti vil blive slettet "
"sammen med alle de breve de indeholder.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Vil du virkelig slette denne konto?"
msgstr[1] "Vil du virkelig slette %1 konti?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Slet konto?"
msgstr[1] "Slet konti?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Kontoegenskaber..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr "Åbn en dialog for at redigere egenskaberne for den markerede konto."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Opdatér konto"
msgstr[1] "Opdatér %1 konti"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr "Opdaterer indholdet af alle de markerede kontis mapper."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Opdatér denne mappe og alle dens undermapper"
msgstr[1] "Opdatér disse mapper og alle deres undermapper"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr "Opdatér indholdet af de markerede mapper og alle deres undermapper."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "Kunne ikke indsætte brev: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Indsættelse mislykkedes"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Fjern markering som vigtig"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "Markér brev som vigtigt"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Fjern markering som handlingspunkt"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&Markér brev som handlingspunkt"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "&Markér brev som læst"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Markér som læst"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Markér markerede breve som læst."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "&Markér brev som ulæst"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Markér som ulæst"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Markér markerede breve som ulæst."
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Markér som vigtigt"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Markér markerede breve som vigtige"
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Markér som handlingspunkt"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Markér markerede breve som handlingspunkter."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "Markér &alle breve som læst"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Markér alle som læst"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Markér alle breve som læst."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "Markér &alle breve som læst rekursivt"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Markér alle som læst rekursivt"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Markér alle breve som læst rekursivt."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "Markér &alle breve som ulæst"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Markér alle som ulæst"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Markér alle breve som ulæst."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "Markér &alle breve som vigtige"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Markér alle som vigtige"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Markér alle breve som vigtige."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Markér alle som handlingspunkt"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "Markér &alle breve som handlingspunkt"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Markér alle breve som handlingspunkt."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Flyt til a&ffald"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Flyt de markerede breve til papirkurvsmappen."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Flyt alle til a&ffald"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Flyt alle breve til papirkurvsmappen."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Fjern &genganger-breve"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Fjern genganger-breve."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Tøm alle a&ffaldsmapper"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "Slet alle breve fra alle papirkurvsmapper permanent."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "&Tøm papirkurv"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Slet alle breve fra papirkurvsmappen permanent."
#~ msgctxt "@label"
#~ msgid ""
#~ "This model can only handle email folders. The current collection holds "
#~ "mimetypes: %1"
#~ msgstr ""
#~ "Denne model kan kun håndtere e-mail-mapper. Den aktuelle samling "
#~ "indeholder MIME-typer: %1"
#~ msgid "&Mark Mail as Important"
#~ msgstr "Markér e-mail som vigtig"
#~ msgid "&Mark Mail as Action Item"
#~ msgstr "&Markér e-mail som handlingspunkt"
#, fuzzy
#~| msgid "Cut Email"
#~| msgid_plural "Cut %1 Emails"
#~ msgctxt "EMAIL OF TRANSLATORS"
#~ msgid "Your emails"
#~ msgstr "Klip e-mail"
#~ msgid "IMAP server"
#~ msgstr "IMAP-server"
#~ msgid "Defines the port the IMAP service is running on"
#~ msgstr "Angiver den port som IMAP-tjenesten kører på"
#~ msgid "Username"
#~ msgstr "Brugernavn"
#~ msgid "Defines the encryption type to use"
#~ msgstr "Definerer den type af kryptering der skal bruges"
#~ msgid "Defines the authentication type to use"
#~ msgstr "Definerer den type af autentificering der skal bruges"
#~ msgid "Defines if the server side subscription is enabled"
#~ msgstr "Definerer om abonnement på serversiden er aktiveret"
#~ msgid "Defines if all the IMAP data should be cached locally all the time"
#~ msgstr "Definerer om alle IMAP-data skal caches lokalt hele tiden"
#~ msgid "Defines if interval checking is enabled."
#~ msgstr "Angiver om tjek med interval er aktiveret."
#~ msgid "Check interval in minutes"
#~ msgstr "Interval mellem tjek i minutter"
#~ msgid ""
#~ "Defines if the annotations, ACLs and quota information of mailboxes "
#~ "should\n"
#~ " also be retrieved when the mailboxes get listed."
#~ msgstr ""
#~ "Definerer om annotationer, ACL'er og kvoteinformation for postkasser "
#~ "også\n"
#~ " skal hentes, når postkasser oplistes."
#~ msgid ""
#~ "Defines if the expunge command is issued automatically, otherwise it "
#~ "should be\n"
#~ " triggered manually through the D-Bus interface."
#~ msgstr ""
#~ "Definerer om expunge-kommandoen udføres automatisk, ellers skal den "
#~ "blive\n"
#~ " udløst manuelt gennem D-Bus-grænsefladen."
#~ msgid "Define which folder is used for trash"
#~ msgstr "Angiv hvilken mappe der skal bruges til affald"
#~ msgid "Define if account uses the default identity"
#~ msgstr "Angiv om kontoen bruger standardidentiteten"
#~ msgid "Identity account"
#~ msgstr "Identitetskonto"
#~ msgid "RID path to the mailbox to watch for changes"
#~ msgstr "RID-sti til den postkasse der skal overvåges for ændringer"
#~ msgid "Define if server supports sieve"
#~ msgstr "Angiv om serveren understøtter sieve"
#~ msgid "Define if we reuse host and login configuration"
#~ msgstr "Angiv om vi genbruger konfiguration af vært og login"
#~ msgid "Define sieve port"
#~ msgstr "Angiv sieve-port"
#~ msgid "Define alternate URL"
#~ msgstr "Angiv alternativ URL"
#~ msgid "Define default sieve vacation filename"
#~ msgstr "Angiv standardfilnavn til sieve vacation"
#~ msgid "Id of the resource containing the default special collections."
#~ msgstr "Id på ressourcen som indeholder standard specialsamlinger."
#~ msgid ""
#~ "Id of the maildir resource containing the default special collections."
#~ msgstr ""
#~ "Id på maildir-ressourcen som indeholder standard specielle samlinger."
#~ msgid "Copy Email"
#~ msgid_plural "Copy %1 Emails"
#~ msgstr[0] "Kopiér e-mail"
#~ msgstr[1] "Kopiér %1 e-mails"

View File

@ -0,0 +1,749 @@
# Panagiotis Papadopoulos <pano_90@gmx.net>, 2010.
# Frederik Schwarzer <schwarzer@kde.org>, 2010, 2013, 2020, 2022.
# Burkhard Lück <lueck@hube-lueck.de>, 2012, 2013, 2014, 2015, 2016, 2021.
# Frank Steinmetzger <dev-kde@felsenfleischer.de>, 2022.
# Intevation GmbH, 2010.
msgid ""
msgstr ""
"Project-Id-Version: libakonadi-kmime\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2022-12-13 23:34+0100\n"
"Last-Translator: Frank Steinmetzger <dev-kde@felsenfleischer.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 22.12.0\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Papierkorb leeren"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "Sind Sie sicher, dass Sie den Papierkorb aller Konten leeren möchten?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Möchten Sie alle Nachrichten in diesem Ordner und allen seinen Unterordnern "
"wirklich markieren?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Alle rekursiv markieren"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Alle markieren"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Betreff"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Absenderadresse"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Empfänger"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Datum"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Größe"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(kein Betreff)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(kein Absender)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(kein Empfänger)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(kein Datum)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Einträge werden abgeholt ..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Es wird nach Duplikaten gesucht ..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Doppelte Nachrichten werden entfernt ..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "Posteingang"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "Postausgang"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "Versendet"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "Papierkorb"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "Entwürfe"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "Vorlagen"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Lokale Ordner"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Ordner hinzufügen ..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Einen neuen Ordner zum aktuell ausgewählten Konto hinzufügen."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Neuer Ordner"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "Ordner kann nicht erstellt werden: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Ordner kann nicht erstellt werden"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Ordner kopieren"
msgstr[1] "%1 Ordner kopieren"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Die ausgewählten Ordner in die Zwischenablage kopieren."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Eigenschaften des Ordners %1"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Ordner löschen"
msgstr[1] "%1 Ordner löschen"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Ausgewählte Ordner im Konto löschen."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] "Möchten Sie den Ordner und alle Unterordner wirklich löschen?"
msgstr[1] "Möchten Sie %1 Ordner und all deren Unterordner wirklich löschen?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Ordner löschen?"
msgstr[1] "Ordner löschen?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "Der Ordner kann nicht gelöscht werden: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "Löschen des Ordners fehlgeschlagen"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Ordner aktualisieren"
msgstr[1] "Ordner aktualisieren"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Inhalte des ausgewählten Ordners aktualisieren."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Ordner ausschneiden"
msgstr[1] "%1 Ordner ausschneiden"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Ausgewählte Ordner im Konto ausschneiden."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Ordner-Eigenschaften"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr ""
"Dialog zum Editieren der Eigenschaften des ausgewählten Ordners öffnen."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Nachricht kopieren"
msgstr[1] "%1 Nachrichten kopieren"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Ausgewählte Nachrichten in die Zwischenablage kopieren."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Nachricht löschen"
msgstr[1] "%1 Nachrichten löschen"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Ausgewählte Nachrichten im Ordner löschen."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Möchten Sie die ausgewählte Nachricht wirklich löschen?"
msgstr[1] "Möchten Sie %1 Nachrichten wirklich löschen?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Nachricht löschen?"
msgstr[1] "Nachrichten löschen?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "Die Nachricht kann nicht gelöscht werden: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "Löschen der Nachricht fehlgeschlagen"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Nachricht ausschneiden"
msgstr[1] "%1 Nachrichten ausschneiden"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Ausgewählte Nachricht im Ordner ausschneiden"
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "Konto hinzufügen"
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Neues Konto hinzufügen<p>Es wird Ihnen ein Dialog angezeigt, in dem Sie den "
"Typ des neuen Kontos auswählen können</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Konto hinzufügen"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "Konto kann nicht erstellt werden: „%1“"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "Konto-Erstellung fehlgeschlagen"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "Konto löschen"
msgstr[1] "%1 Konten löschen"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Ausgewählte Konten löschen.<p>Die ausgewählten Konten werden zusammen mit "
"allen ihren Nachrichten gelöscht.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Möchten Sie dieses Konto wirklich löschen?"
msgstr[1] "Möchten Sie die %1 Konten wirklich löschen?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Konto entfernen?"
msgstr[1] "Konten entfernen?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Konteneinstellungen ..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr "Dialog zum Editieren der Eigenschaften des ausgewählten Konto öffnen."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Konto aktualisieren"
msgstr[1] "%1 Konten aktualisieren"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr "Aktualisiert den Inhalt aller Ordner in den ausgewählten Konten."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Diesen Ordner und alle seine Unterordner aktualisieren"
msgstr[1] "Diese Ordner und alle Unterordner aktualisieren"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr "Inhalte des ausgewählten Ordners und seiner Unterordner aktualisieren."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "Nachricht kann nicht eingefügt werden: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Einfügen fehlgeschlagen"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Wichtig-Markierung entfernen"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "Nachricht als wichtig &markieren"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "„Aufgabe“-Markierung entfernen"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "Nachricht als „Aufgabe“ &markieren"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "Nachricht als gelesen &markieren"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Als gelesen markieren"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Ausgewählte Nachrichten als gelesen markieren."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "Nachricht als ungelesen &markieren"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Als ungelesen markieren"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Ausgewählte Nachrichten als ungelesen markieren."
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Als wichtig markieren"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Ausgewählte Nachrichten als wichtig markieren."
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Als „Aufgabe“ markieren"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Markiert die ausgewählten Nachrichten als „Aufgabe“."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "&Alle Nachrichten als gelesen markieren"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Alle als gelesen markieren"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Alle Nachrichten als gelesen markieren."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "&Alle Nachrichten rekursiv als gelesen markieren"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Alle rekursiv als gelesen markieren"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Alle Nachrichten rekursiv als gelesen markieren."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "&Alle Nachrichten als ungelesen markieren"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Alle als ungelesen markieren"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Alle Nachrichten als ungelesen markieren."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "Alle Nachrichten als wichtig markieren"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Als wichtig markieren"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Alle Nachrichten als wichtig markieren."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Alle als „Aufgabe“ markieren"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "&Alle Nachrichten als „Aufgabe“ markieren"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Markiert alle Nachrichten als „Aufgabe“."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "In den Papierkorb verschieben"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Verschiebt die ausgewählte Nachrichten in den Papierkorb."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Alle in den &Papierkorb verschieben"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Verschiebt alle Nachrichten in den Papierkorb."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "&Doppelte Nachrichten entfernen"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Doppelte Nachrichten entfernen."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Alle &Papierkörbe leeren"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "Löscht alle Nachrichten aus allen Papierkörben unwiderruflich."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "Papierkorb lee&ren"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Löscht alle Nachrichten aus dem Papierkorb unwiderruflich."
#~ msgctxt "@label"
#~ msgid ""
#~ "This model can only handle email folders. The current collection holds "
#~ "mimetypes: %1"
#~ msgstr ""
#~ "Dieses Modell kann nur mit Email-Ordnern umgehen. Die aktuelle "
#~ "'Collection' beinhaltet jedoch MIME-Typen: %1"
#~ msgid "&Mark Mail as Important"
#~ msgstr "Nachricht als wichtig markieren"
#~ msgid "&Mark Mail as Action Item"
#~ msgstr "Nachricht als „Aufgabe“ markieren"
#~ msgctxt "NAME OF TRANSLATORS"
#~ msgid "Your names"
#~ msgstr "Frederik Schwarzer"
#~ msgctxt "EMAIL OF TRANSLATORS"
#~ msgid "Your emails"
#~ msgstr "schwarzer@kde.org"
#~ msgid "IMAP server"
#~ msgstr "IMAP-Server"
#~ msgid "Defines the port the IMAP service is running on"
#~ msgstr "Legt den Port fest, auf dem der IMAP-Dienst läuft."
#~ msgid "Username"
#~ msgstr "Benutzername"
#~ msgid "Defines the encryption type to use"
#~ msgstr "Legt die verwendete Verschlüsselungsart fest."
#~ msgid "Defines the authentication type to use"
#~ msgstr "Legt die Authentifizierungsmethode fest."
#~ msgid "Defines if the server side subscription is enabled"
#~ msgstr "Legt fest, ob serverseitige Abonnements verwendet werden."
#~ msgid "Defines if all the IMAP data should be cached locally all the time"
#~ msgstr ""
#~ "Legt fest, ob sämtliche IMAP-Daten die ganze Zeit lokal "
#~ "zwischengespeichert werden sollen."
#~ msgid "Defines if interval checking is enabled."
#~ msgstr "Legt fest, ob der Posteingang regelmäßig geprüft wird."
#~ msgid "Check interval in minutes"
#~ msgstr "Prüfintervall in Minuten"
#~ msgid ""
#~ "Defines if the annotations, ACLs and quota information of mailboxes "
#~ "should\n"
#~ " also be retrieved when the mailboxes get listed."
#~ msgstr ""
#~ "Legt fest ob Anmerkungen, ACLs und Kontingent-Informationen der "
#~ "Postfächer auch\n"
#~ " abgerufen werden sollen, wenn das Postfach aufgelistet wird. "
#~ msgid ""
#~ "Defines if the expunge command is issued automatically, otherwise it "
#~ "should be\n"
#~ " triggered manually through the D-Bus interface."
#~ msgstr ""
#~ "Legt fest, ob der expunge-Befehl (Ordner komprimieren) automatisch "
#~ "ausgeführt werden soll.\n"
#~ "Ansonsten muss er manuell über die D-Bus-Schnittstelle aufgerufen werden."
#~ msgid "Define which folder is used for trash"
#~ msgstr "Den Ordner für den Papierkorb festlegen"
#~ msgid "Define if account uses the default identity"
#~ msgstr "Festlegen, ob das Konto die vorgegebene Identität verwendet"
#~ msgid "Identity account"
#~ msgstr "Konto der Identität"
#~ msgid "RID path to the mailbox to watch for changes"
#~ msgstr "RID-Pfad zum Postfach, um es auf Änderungen zu überwachen"
#~ msgid "Define if server supports sieve"
#~ msgstr "Festlegen, ob der Server Sieve unterstützt"
#~ msgid "Define if we reuse host and login configuration"
#~ msgstr ""
#~ "Festlegen, ob Rechner- und Anmeldeinformationen wiederverwendet werden"
#~ msgid "Define sieve port"
#~ msgstr "Sieve-Port festlegen"
#~ msgid "Define alternate URL"
#~ msgstr "Alternative Adresse festlegen"
#~ msgid "Define default sieve vacation filename"
#~ msgstr "Vorgegeben Sieve-Vacation-Dateinamen festlegen"
#~ msgid "Id of the resource containing the default special collections."
#~ msgstr "ID der Ressource, die die standard 'special collections' enthält."
#~ msgid ""
#~ "Id of the maildir resource containing the default special collections."
#~ msgstr ""
#~ "ID der Maildir-Ressource, die die standard 'special collections' enthält."
#~ msgid "Copy Email"
#~ msgid_plural "Copy %1 Emails"
#~ msgstr[0] "E-Mail kopieren"
#~ msgstr[1] "%1 E-Mails kopieren"

View File

@ -0,0 +1,761 @@
# Copyright (C) YEAR This_file_is_part_of_KDE
# This file is distributed under the same license as the PACKAGE package.
#
# Dimitrios Glentadakis <dglent@gmail.com>, 2012.
# Dimitris Kardarakos <dimkard@gmail.com>, 2014.
# Stelios <sstavra@gmail.com>, 2020, 2022.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2022-12-29 16:43+0200\n"
"Last-Translator: Stelios <sstavra@gmail.com>\n"
"Language-Team: Greek <kde-i18n-el@kde.org>\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 21.12.3\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Άδειασμα απορριμμάτων"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr ""
"Επιθυμείτε πραγματικά να αδειάσετε το φάκελο των απορριμμάτων για όλους τους "
"λογαριασμούς;"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Είστε βέβαιοι ότι θέλετε να σημειώσετε όλα τα μηνύματα σε αυτόν το φάκελο "
"και σε όλους τους υποφακέλους;"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Να σημειωθούν όλα αναδρομικά"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Σημείωση όλων"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Θέμα"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Αποστολέας"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Παραλήπτης"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Ημερομηνία"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Μέγεθος"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(Χωρίς θέμα)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(Χωρίς αποστολέα)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(Χωρίς παραλήπτη)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(Χωρίς δεδομένα)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Ανάκτηση αντικειμένων..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Αναζήτηση για αντίγραφα..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Αφαίρεση αντιγράφων..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "εισερχόμενα"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "εξερχόμενα"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "απεσταλμένα"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "απορρίμματα"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "προσχέδια"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "πρότυπα"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Τοπικοί φάκελοι"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Προσθήκη φακέλου..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Προσθήκη ενός νέου φακέλου στον επιλεγμένο λογαριασμό."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Νέος φάκελος"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "Αδύνατη η δημιουργία του φακέλου: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Η δημιουργία του φακέλου απέτυχε"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Αντιγραφή φακέλου"
msgstr[1] "Αντιγραφή %1 φακέλων"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Αντιγραφή των επιλεγμένων φακέλων στο πρόχειρο."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Ιδιότητες του φακέλου %1"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Διαγραφή φακέλου"
msgstr[1] "Διαγραφή %1 φακέλων"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Διαγραφή των επιλεγμένων φακέλων από το λογαριασμό."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] ""
"Επιθυμείτε πραγματικά τη διαγραφή του φακέλου και των υποφακέλων του;"
msgstr[1] ""
"Επιθυμείτε πραγματικά τη διαγραφή %1 φακέλων και των υποφακέλων τους;"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Διαγραφή του φακέλου;"
msgstr[1] "Διαγραφή των φακέλων;"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "Αδύνατη η διαγραφή του φακέλου: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "Η διαγραφή του φακέλου απέτυχε"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Ενημέρωση φακέλου"
msgstr[1] "Ενημέρωση φακέλων"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Ενημέρωση των περιεχομένων των επιλεγμένων φακέλων."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Αποκοπή φακέλου"
msgstr[1] "Αποκοπή %1 φακέλων"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Αποκοπή των επιλεγμένων φακέλων από το λογαριασμό."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Ιδιότητες φακέλου"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr ""
"Άνοιγμα ενός διαλόγου για την επεξεργασία των ιδιοτήτων του επιλεγμένου "
"φακέλου."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Αντιγραφή μηνύματος"
msgstr[1] "Αντιγραφή %1 μηνυμάτων"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Αντιγραφή των επιλεγμένων μηνυμάτων στο πρόχειρο."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Διαγραφή μηνύματος"
msgstr[1] "Διαγραφή %1 μηνυμάτων"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Διαγραφή των επιλεγμένων μηνυμάτων από τον φάκελο."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Επιθυμείτε πραγματικά τη διαγραφή του επιλεγμένου μηνύματος;"
msgstr[1] "Επιθυμείτε πραγματικά τη διαγραφή %1 μηνυμάτων;"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Διαγραφή μηνύματος;"
msgstr[1] "Διαγραφή των μηνυμάτων;"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "Αδυναμία διαγραφής του μηνύματος: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "Η διαγραφή του μηνύματος απέτυχε"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Αποκοπή μηνύματος"
msgstr[1] "Αποκοπή %1 μηνυμάτων"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Αποκοπή των επιλεγμένων μηνυμάτων από τον φάκελο."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "Προσ&θήκη λογαριασμού..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Προσθήκη ενός νέου λογαριασμού<p>Θα εμφανιστεί ένας διάλογος στον οποίο "
"μπορείτε να επιλέξετε τον τύπο του λογαριασμού που θα προστεθεί.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Προσθήκη λογαριασμού"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "Αδύνατη η δημιουργία του λογαριασμού: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "Η δημιουργία του λογαριασμού απέτυχε"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "Δια&γραφή λογαριασμού"
msgstr[1] "Δια&γραφή %1 λογαριασμών"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Διαγραφή των επιλεγμένων λογαριασμών<p>Οι επιλεγμένοι λογαριασμοί θα "
"διαγραφούν, μαζί με όλα μηνύματά που περιέχουν.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Επιθυμείτε πραγματικά τη διαγραφή του λογαριασμού;"
msgstr[1] "Επιθυμείτε πραγματικά τη διαγραφή %1 λογαριασμών;"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Διαγραφή του λογαριασμού;"
msgstr[1] "Διαγραφή των λογαριασμών;"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Ιδιότητες λογαριασμού..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr ""
"Άνοιγμα ενός διαλόγου για την επεξεργασία των ιδιοτήτων του επιλεγμένου "
"λογαριασμού."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Ενημέρωση λογαριασμού"
msgstr[1] "Ενημέρωση %1 λογαριασμών"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr ""
"Ενημέρωση του περιεχομένου όλων των φακέλων των επιλεγμένων λογαριασμών."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Ενημέρωση αυτού του φακέλου και όλων των υποφακέλων του"
msgstr[1] "Ενημέρωση αυτών των φακέλων και όλων των υποφακέλων τους"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr ""
"Ενημέρωση των περιεχομένων των επιλεγμένων φακέλων και όλων των υποφακέλων "
"τους."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "Αδυναμία επικόλλησης του μηνύματος: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Η επικόλληση απέτυχε"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Αφαίρεση της σημείωσης σημαντικό"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "Σημείωση μηνύματος ως &σημαντικό"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Αφαίρεση της σημείωσης για ενέργεια"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "Σημείωση μηνύματος για &ενέργεια"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "Σημείωση μηνύματος ως &αναγνωσμένο"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Σημείωση ως αναγνωσμένο"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Σημείωση των επιλεγμένων μηνυμάτων ως αναγνωσμένα."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "Σημείωση μηνύματος ως &μη αναγνωσμένο"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Σημείωση ως μη αναγνωσμένο"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Σημείωση των επιλεγμένων μηνυμάτων ως μη αναγνωσμένα"
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Σημείωση ως σημαντικό"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Σημείωση των επιλεγμένων μηνυμάτων ως σημαντικά."
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Σημείωση για ενέργεια"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Σημείωση των επιλεγμένων μηνυμάτων για ενέργεια."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "Σημείωση &όλων των μηνυμάτων ως αναγνωσμένα"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Σημείωση όλων ως αναγνωσμένα"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Σημείωση όλων των μηνυμάτων ως αναγνωσμένα."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "Να σημειωθούν όλ&α τα μηνύματα αναδρομικά ως αναγνωσμένα"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Να σημειωθούν όλα αναδρομικά ως αναγνωσμένα"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Να σημειωθούν όλα τα μηνύματα αναδρομικά ως αναγνωσμένα."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "Σημείωση &όλων των μηνυμάτων ως μη αναγνωσμένα"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Σημείωση όλων ως μη αναγνωσμένα"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Σημείωση όλων των μηνυμάτων ως μη αναγνωσμένα."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "Σημείωση όλων των μηνυμάτων ως &σημαντικά"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Σημείωση όλων ως σημαντικά"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Σημείωση όλων των μηνυμάτων ως σημαντικά."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Σημείωση όλων για ενέργεια"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "Σημείωση &όλων των μηνυμάτων για ενέργεια"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Σημείωση όλων των μηνυμάτων για ενέργεια."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Μετακίνηση στα α&πορρίμματα"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Μετακίνηση των επιλεγμένων μηνυμάτων στα απορρίμματα."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Μετακίνηση όλων στα α&πορρίμματα"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Μετακίνηση όλων των μηνυμάτων στα απορρίμματα."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Αφαίρεση &διπλών μηνυμάτων"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Αφαίρεση διπλών μηνυμάτων."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Άδειασμα όλων των φακέλων απορριμάτων"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr ""
"Μόνιμη διαγραφή όλων των μηνυμάτων από όλους τους φακέλους απορριμάτων."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "Ά&δειασμα απορριμμάτων"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Μόνιμη διαγραφή όλων των μηνυμάτων από τον φάκελο απορριμάτων."
#~ msgctxt "@label"
#~ msgid ""
#~ "This model can only handle email folders. The current collection holds "
#~ "mimetypes: %1"
#~ msgstr ""
#~ "Αυτό το μοντέλο μπορεί να διαχειριστεί μόνο φακέλους αλληλογραφίας. Η "
#~ "τρέχουσα συλλογή διατηρεί τους τύπους αρχείων: %1"
#~ msgid "&Mark Mail as Important"
#~ msgstr "Σημείωση μηνύματος ως &σημαντικό"
#~ msgid "&Mark Mail as Action Item"
#~ msgstr "Σημείωση μηνύματος για &ενέργεια"
#, fuzzy
#~| msgid "Cut Email"
#~| msgid_plural "Cut %1 Emails"
#~ msgctxt "EMAIL OF TRANSLATORS"
#~ msgid "Your emails"
#~ msgstr "Αποκοπή μηνύματος"
#~ msgid "IMAP server"
#~ msgstr "Εξυπηρετητής IMAP"
#~ msgid "Defines the port the IMAP service is running on"
#~ msgstr "Καθορίζει την θύρα που εκτελείται η υπηρεσία IMAP"
#~ msgid "Username"
#~ msgstr "Όνομα χρήστη"
#~ msgid "Defines the encryption type to use"
#~ msgstr "Καθορίζει τον τύπο κρυπτογράφησης που θα χρησιμοποιηθεί"
#~ msgid "Defines the authentication type to use"
#~ msgstr "Καθορίζει τον τύπο ταυτοποίησης που θα χρησιμοποιηθεί"
#~ msgid "Defines if the server side subscription is enabled"
#~ msgstr "Καθορίζει αν η εγγραφή είναι ενεργοποιημένη στον εξυπηρετητή"
#~ msgid "Defines if all the IMAP data should be cached locally all the time"
#~ msgstr "Καθορίζει αν όλα τα δεδομένα του IMAP θα αποθηκεύονται τοπικά"
#~ msgid "Defines if interval checking is enabled."
#~ msgstr "Καθορίζει αν ο τακτικός έλεγχος είναι ενεργοποιημένος."
#~ msgid "Check interval in minutes"
#~ msgstr "Χρονικό διάστημα ελέγχου (σε λεπτά)"
#~ msgid ""
#~ "Defines if the annotations, ACLs and quota information of mailboxes "
#~ "should\n"
#~ " also be retrieved when the mailboxes get listed."
#~ msgstr ""
#~ "Καθορίζει αν οι σημειώσεις, οι ACL και οι πληροφορίες σχετικές με τη "
#~ "χρήση\n"
#~ " χώρου των γραμματοκιβωτίων θα πρέπει να ανακτηθούν όταν\n"
#~ " εισαχθούν τα γραμματοκιβώτια."
#~ msgid ""
#~ "Defines if the expunge command is issued automatically, otherwise it "
#~ "should be\n"
#~ " triggered manually through the D-Bus interface."
#~ msgstr ""
#~ "Καθορίζει αν τα διαγραμμένα μηνύματα εξαλείφονται οριστικά. Διαφορετικά\n"
#~ "η ενέργεια αυτή θα γίνεται χειροκίνητα μέσω της διασύνδεσης D-Bus."
#~ msgid "Define which folder is used for trash"
#~ msgstr "Καθορίζει ποιος φάκελος χρησιμοποιείται για απορρίμματα"
#~ msgid "Define if account uses the default identity"
#~ msgstr "Καθορίζει αν ο λογαριασμός χρησιμοποιεί την προεπιλεγμένη ταυτότητα"
#~ msgid "Identity account"
#~ msgstr "Λογαριασμός ταυτότητας"
#~ msgid "RID path to the mailbox to watch for changes"
#~ msgstr "Διαδρομή RID στο γραμματοκιβώτιο για παρακολούθηση αλλαγών"
#~ msgid "Define if server supports sieve"
#~ msgstr "Καθορίζει αν η ο εξυπηρετητής υποστηρίζει sieve"
#~ msgid "Define if we reuse host and login configuration"
#~ msgstr ""
#~ "Καθορίζει αν επαναχρησιμοποιούμε τη διαμόρφωση υπολογιστή και στοιχείων "
#~ "εισόδου"
#~ msgid "Define sieve port"
#~ msgstr "Καθορισμός θύρας sieve"
#~ msgid "Define alternate URL"
#~ msgstr "Καθορισμός εναλλακτικού URL"
#~ msgid "Define default sieve vacation filename"
#~ msgstr "Καθορισμός προεπιλεγμένου ονόματος αρχείου διακοπών sieve"
#~ msgid "Id of the resource containing the default special collections."
#~ msgstr ""
#~ "Αναγνωριστικό του πόρου που περιέχει τις προκαθορισμένες ειδικές συλλογές."
#~ msgid ""
#~ "Id of the maildir resource containing the default special collections."
#~ msgstr ""
#~ "Αναγνωριστικό του πόρου «maildir» που περιέχει τις προκαθορισμένες "
#~ "ειδικές συλλογές."
#~ msgid "Copy Email"
#~ msgid_plural "Copy %1 Emails"
#~ msgstr[0] "Αντιγραφή μηνύματος"
#~ msgstr[1] "Αντιγραφή %1 μηνυμάτων"

View File

@ -0,0 +1,671 @@
# Copyright (C) YEAR This_file_is_part_of_KDE
# This file is distributed under the same license as the PACKAGE package.
#
# Steve Allewell <steve.allewell@gmail.com>, 2014, 2015, 2016, 2017, 2020, 2022.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2022-01-01 14:56+0000\n"
"Last-Translator: Steve Allewell <steve.allewell@gmail.com>\n"
"Language-Team: British English <kde-l10n-en_gb@kde.org>\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 21.12.0\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Empty Wastebin"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "Are you sure you want to empty the wastebin folders of all accounts?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Mark All Recursively"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Mark All"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Subject"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Sender"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Receiver"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Date"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Size"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(No subject)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(No sender)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(No receiver)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(No date)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Retrieving items..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Searching for duplicates..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Removing duplicates..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "inbox"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "outbox"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "sent-mail"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "wastebin"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "drafts"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "templates"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Local Folders"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Add Folder..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Add a new folder to the currently selected account."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "New Folder"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "Could not create folder: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Folder creation failed"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Copy Folder"
msgstr[1] "Copy %1 Folders"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Copy the selected folders to the clipboard."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Properties of Folder %1"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Delete Folder"
msgstr[1] "Delete %1 Folders"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Delete the selected folders from the account."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] "Do you really want to delete this folder and all its sub-folders?"
msgstr[1] "Do you really want to delete %1 folders and all their sub-folders?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Delete folder?"
msgstr[1] "Delete folders?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "Could not delete folder: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "Folder deletion failed"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Update Folder"
msgstr[1] "Update Folders"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Update the contents of the selected folders."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Cut Folder"
msgstr[1] "Cut %1 Folders"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Cut the selected folders from the account."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Folder Properties"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr "Open a dialogue to edit the properties of the selected folder."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Copy Message"
msgstr[1] "Copy %1 Messages"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Copy the selected messages to the clipboard."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Delete Message"
msgstr[1] "Delete %1 Messages"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Delete the selected messages from the folder."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Do you really want to delete the selected message?"
msgstr[1] "Do you really want to delete %1 messages?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Delete Message?"
msgstr[1] "Delete Messages?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "Could not delete message: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "Message deletion failed"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Cut Message"
msgstr[1] "Cut %1 Messages"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Cut the selected message from the folder."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "Add &Account..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Add a new account<p>You will be presented with a dialogue where you can "
"select the type of the account that shall be added.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Add Account"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "Could not create account: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "Account creation failed"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "&Delete Account"
msgstr[1] "&Delete %1 Accounts"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Do you really want to delete this account?"
msgstr[1] "Do you really want to delete %1 accounts?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Delete Account?"
msgstr[1] "Delete Accounts?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Account Properties..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr "Open a dialogue to edit properties of the selected account."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Update Account"
msgstr[1] "Update %1 Accounts"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr "Updates the content of all folders of the selected accounts."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Update This Folder and All Its Subfolders"
msgstr[1] "Update These Folders and All Their Subfolders"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr "Update the contents of the selected folders and all their subfolders."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "Could not paste message: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Paste failed"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Remove Important Mark"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "&Mark Message as Important"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Remove Action Item Mark"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&Mark Message as Action Item"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "&Mark Message as Read"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Mark as Read"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Mark selected messages as read."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "&Mark Message as Unread"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Mark as Unread"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Mark selected messages as unread."
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Mark as Important"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Mark selected messages as important."
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Mark as Action Item"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Mark selected messages as action items."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "Mark &All Messages as Read"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Mark All as Read"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Mark all messages as read."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "Mark &All Messages as Read Recursively"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Mark All as Read Recursively"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Mark all messages as read recursively."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "Mark &All Messages as Unread"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Mark All as Unread"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Mark all messages as unread."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "Mark &All Messages as Important"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Mark All as Important"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Mark all messages as important."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Mark All as Action Item"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "Mark &All Messages as Action Item"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Mark all messages as action items."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Move to Was&tebin"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Move selected messages to the wastebin folder."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Move All to Was&tebin"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Move all messages to the wastebin folder."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Remove &Duplicate Messages"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Remove duplicate messages."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Empty All Was&tebin Folders"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "Permanently delete all messages from all wastebin folders."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "E&mpty Wastebin"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Permanently delete all messages from the wastebin folder."
#~ msgctxt "@label"
#~ msgid ""
#~ "This model can only handle email folders. The current collection holds "
#~ "mimetypes: %1"
#~ msgstr ""
#~ "This model can only handle email folders. The current collection holds "
#~ "mimetypes: %1"
#~ msgid "&Mark Mail as Important"
#~ msgstr "&Mark Mail as Important"
#~ msgid "&Mark Mail as Action Item"
#~ msgstr "&Mark Mail as Action Item"
#~ msgctxt "NAME OF TRANSLATORS"
#~ msgid "Your names"
#~ msgstr "Steve Allewell"
#~ msgctxt "EMAIL OF TRANSLATORS"
#~ msgid "Your emails"
#~ msgstr "steve.allewell@gmail.com"
#~ msgid "An app that requests LocalFolders"
#~ msgstr "An app that requests LocalFolders"
#~ msgid "Headfetcher"
#~ msgstr "Headfetcher"
#~ msgid "header fetching application"
#~ msgstr "header fetching application"
#~ msgid "Run test on multipart data (default is singlepart)."
#~ msgstr "Run test on multipart data (default is singlepart)."

View File

@ -0,0 +1,652 @@
# Copyright (C) YEAR This_file_is_part_of_KDE
# This file is distributed under the same license as the PACKAGE package.
#
# Cristina Yenyxe González García <the.blue.valkyrie@gmail.com>, 2010.
# Javier Vinal <fjvinal@gmail.com>, 2011, 2012, 2013, 2014, 2015, 2016.
# Eloy Cuadra <ecuadra@eloihr.net>, 2020, 2021, 2022.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2022-10-23 21:26+0200\n"
"Last-Translator: Eloy Cuadra <ecuadra@eloihr.net>\n"
"Language-Team: Spanish <kde-l10n-es@kde.org>\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 22.08.2\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Vaciar la papelera"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "¿Seguro que desea vaciar las papeleras de todas las cuentas?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"¿Seguro que quiere marcar todos los mensajes de esta carpeta y de todas sus "
"subcarpetas?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Marcar todos recursivamente"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Marcar todos"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Asunto"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Remitente"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Destinatario"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Fecha"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Tamaño"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(Sin asunto)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(Sin remitente)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(Sin destinatario)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(Sin fecha)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Recuperando elementos..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Buscando duplicados..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Eliminando duplicados..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "bandeja de entrada"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "bandeja de salida"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "correo enviado"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "papelera"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "borradores"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "plantillas"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Carpetas locales"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Añadir carpeta..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Añadir una nueva carpeta a la cuenta seleccionada."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Nueva carpeta"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "No se ha podido crear la carpeta: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Ha fallado la creación de la carpeta"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Copiar carpeta"
msgstr[1] "Copiar %1 carpetas"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Copiar las carpetas seleccionadas al portapapeles."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Propiedades de la carpeta %1"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Borrar carpeta"
msgstr[1] "Borrar %1 carpetas"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Borra las carpetas seleccionadas de la cuenta."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] "¿Seguro que desea borrar esta carpeta y todas sus subcarpetas?"
msgstr[1] "¿Seguro que desea borrar estas %1 carpetas y todas sus subcarpetas?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "¿Borrar carpeta?"
msgstr[1] "¿Borrar carpetas?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "No se ha podido borrar la carpeta: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "El borrado de la carpeta ha fallado"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Actualizar carpeta"
msgstr[1] "Actualizar carpetas"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Actualizar el contenido de las carpetas seleccionadas."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Cortar carpeta"
msgstr[1] "Cortar %1 carpetas"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Cortar las carpetas seleccionadas de la cuenta."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Propiedades de la carpeta"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr ""
"Abrir un diálogo para modificar las propiedades de la carpeta seleccionada."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Copiar mensaje"
msgstr[1] "Copiar %1 mensajes"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Copiar los mensajes seleccionados al portapapeles."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Borrar mensaje"
msgstr[1] "Borrar %1 mensajes"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Borrar los mensajes seleccionados de la carpeta."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "¿Seguro que quiere borrar el mensaje seleccionado?"
msgstr[1] "¿Seguro que quiere borrar %1 mensajes?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "¿Borrar mensaje?"
msgstr[1] "¿Borrar mensajes?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "No se ha podido borrar el mensaje: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "El borrado del mensaje ha fallado"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Cortar mensaje"
msgstr[1] "Cortar %1 mensajes"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Cortar el mensaje seleccionado de la carpeta."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "&Añadir cuenta..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Añadir una cuenta nueva.<p>Se le mostrará un diálogo donde podrá seleccionar "
"el tipo de cuenta a añadir.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Añadir cuenta"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "No se ha podido crear la cuenta: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "La creación de la cuenta ha fallado"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "&Borrar cuenta"
msgstr[1] "&Borrar %1 cuentas"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Borrar las cuentas seleccionadas<p>Las cuentas seleccionadas se borrarán, "
"junto con todos los mensajes que contengan.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "¿Seguro que desea borrar esta cuenta?"
msgstr[1] "¿Seguro que desea borrar %1 cuentas?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "¿Borrar cuenta?"
msgstr[1] "¿Borrar cuentas?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Propiedades de la cuenta..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr ""
"Abrir un diálogo para modificar las propiedades de la cuenta seleccionada."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Actualizar cuenta"
msgstr[1] "Actualizar %1 cuentas"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr ""
"Actualizar el contenido de todas las carpetas de las cuentas seleccionadas."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Actualizar esta carpeta y todas sus subcarpetas"
msgstr[1] "Actualizar estas carpeta y todas sus subcarpetas"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr ""
"Actualizar el contenido de las carpetas seleccionadas y de todas sus "
"subcarpetas."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "No se ha podido pegar el mensaje: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "El pegado ha fallado"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Eliminar la marca de importante"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "&Marcar el mensaje como importante"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Eliminar la marca de elemento de acción"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&Marcar el mensaje como elemento de acción"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "&Marcar el mensaje como leído"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Marcar como leído"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Marcar los mensajes seleccionados como leídos."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "&Marcar el mensaje como no leído"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Marcar como no leído"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Marcar los mensajes seleccionados como no leídos."
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Marcar como importante"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Marcar los mensajes seleccionados como importantes."
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Marcar como elemento de acción"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Marcar los mensajes seleccionados como elementos de acción."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "Marcar &todos los mensajes como leídos"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Marcar todos como leídos"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Marcar todos los mensajes como leídos."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "Marcar &todos los mensajes como leídos recursivamente"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Marcar todos como leído recursivamente"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Marcar todos los mensajes como leídos recursivamente."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "Marcar &todos los mensajes como no leídos"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Marcar todos como no leídos"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Marcar todos los mensajes como no leídos."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "M&arcar todos los mensajes como importantes"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Marcar todos como importantes"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Marcar todos los mensajes como importantes."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Marcar todos como elementos de acción"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "Marcar &todos los mensajes como elementos de acción"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Marcar todos los mensajes como elementos de acción."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Mover a la &papelera"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Mover los mensajes seleccionados a la papelera."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Mover todos a la &papelera"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Mover todos los mensajes a la papelera."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Eliminar mensajes &duplicados"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Eliminar mensajes duplicados."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Vaciar todas las carpetas de &papelera"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "Borrar permanentemente todos los mensajes de todas las papeleras."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "&Vaciar la papelera"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Borrar permanentemente todos los mensajes de la papelera."
#~ msgctxt "@label"
#~ msgid ""
#~ "This model can only handle email folders. The current collection holds "
#~ "mimetypes: %1"
#~ msgstr ""
#~ "Este modelo solo puede manejar carpetas de correo. La colección actual "
#~ "contiene los tipos MIME: %1"

View File

@ -0,0 +1,740 @@
# Copyright (C) YEAR This_file_is_part_of_KDE
# This file is distributed under the same license as the PACKAGE package.
#
# Marek Laane <bald@smail.ee>, 2010, 2012, 2014, 2016, 2020.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2020-03-31 10:41+0300\n"
"Last-Translator: Marek Laane <qiilaq69@gmail.com>\n"
"Language-Team: Estonian <kde-et@lists.linux.ee>\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 19.12.2\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Tühjenda prügikast"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "Kas tõesti tühjendada kõigi kontode prügikastid?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Kas tõesti märkida kõik selle kausta ja kõigi selle alamkaustade kirjad?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Märgi kõik rekursiivselt"
#: markascommand.cpp:129
#, fuzzy, kde-format
#| msgid "Mark All as Read"
msgctxt "@action:button"
msgid "Mark All"
msgstr "Märgi kõik kui loetud"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Teema"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Saatja"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Saaja"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Kuupäev"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Suurus"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(Teema puudub)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(Saatja puudub)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(Saaja puudub)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(Kuupäev puudub)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Elementide tõmbamine..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Duplikaatide otsing..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Duplikaatide eemaldamine..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "sisenevad"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "väljuvad"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "saadetud"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "prügikast"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "mustandid"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "mallid"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Kohalikud kaustad"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Lisa kaust..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Uue kausta lisamine valitud kontole."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Uus kaust"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "Kausta loomine nurjus: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Kausta loomine nurjus"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Kopeeri kaust"
msgstr[1] "Kopeeri %1 kausta"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Valitud kaustade kopeerimine lõikepuhvrisse."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Kausta %1 omadused"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Kustuta kaust"
msgstr[1] "Kustuta %1 kausta"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Valitud kaustade kustutamine kontost."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] "Kas tõesti kustutada see kaust ja kõik selle alamkaustad?"
msgstr[1] "Kas tõesti kustutada %1 kausta ja kõik nende alamkaustad?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Kas kustutada kaust?"
msgstr[1] "Kas kustutada kaustad?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "Kausta kustutamine nurjus: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "Kausta kustutamine nurjus"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Uuenda kausta"
msgstr[1] "Uuenda kaustu"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Valitud kaustade sisu uuendamine."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Lõika kaust"
msgstr[1] "Lõika %1 kausta"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Valitud kaustade lõikamine kontost."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Kausta omadused"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr "Dialoogi avamine valitud kausta omaduste muutmiseks."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Kopeeri kiri"
msgstr[1] "Kopeeri %1 kirja"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Valitud kirjade kopeerimine lõikepuhvrisse."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Kustuta kiri"
msgstr[1] "Kustuta %1 kirja"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Valitud kirjade kustutamine kaustast."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Kas tõesti kustutada valitud kiri?"
msgstr[1] "Kas tõesti kustutada %1 kirja?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Kas kustutada kiri?"
msgstr[1] "Kas kustutada kirjad?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "Kirja kustutamine nurjus: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "Kirja kustutamine nurjus"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Lõika kiri"
msgstr[1] "Lõika %1 kirja"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Valitud kirja lõikamine kaustast."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "Lis&a konto..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Uue konto lisamine<p>Avatakse dialoog, kus saab valida lisatava konto tüübi."
"</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Konto lisamine"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "Konto loomine nurjus: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "Konto loomine nurjus"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "&Kustuta konto"
msgstr[1] "&Kustuta %1 kontot"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Valitud kontode kustutamine<p>Valitud kontod kustutatakse koos kõigi neis "
"leiduvate kirjadega.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Kas tõesti kustutada see konto?"
msgstr[1] "Kas tõesti kustutada %1 kontot?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Kas kustutada konto?"
msgstr[1] "Kas kustutada kontod?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Konto omadused..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr "Dialoogi avamine valitud konto omaduste muutmiseks."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Uuenda kontot"
msgstr[1] "Uuenda %1 kontot"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr "Valitud kontode kõigi kaustade sisu uuendamine."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Uuenda kausta ja selle alamkaustu"
msgstr[1] "Uuenda kaustu ja nende alamkaustu"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr "Valitud kaustade ja nende alamkaustade sisu uuendamine."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "Kirja asetamine nurjus: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Asetamine nurjus"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Eemalda tähtsa kirja märge"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "&Märgi kiri tähtsaks"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Eemalda ülesande märge"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&Märgi kiri ülesandeks"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "&Märgi kiri loetuks"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Märgi loetud kirjaks"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Valitud kirjade märkimine loetuks."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "&Märgi kiri lugemata kirjaks"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Märgi lugemata kirjaks"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Valitud kirjade märkimine lugemata kirjadeks."
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Märgi tähtsaks"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Valitud kirjade märkimine tähtsaks."
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Märgi ülesandeks"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Valitud kirjade märkimine ülesandeks."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "Mä&rgi kõik kirjad loetuks"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Märgi kõik kui loetud"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Kõigi kirjade märkimine loetuks."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "Mä&rgi kõik kirjad rekursiivselt loetuks"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Märgi kõik rekursiivselt kui loetud"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Kõigi kirjade rekursiivne märkimine loetuks."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "Märg&i kõik lugemata kirjadeks"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Märgi kõik kui lugemata"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Kõigi kirjade märkimine lugemata kirjadeks."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "Mä&rgi kõik kirjad tähtsaks"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Märgi kõik tähtsaks"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Kõigi kirjade märkimine tähtsaks."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Märgi kõik ülesandeks"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "Mä&rgi kõik kirjad ülesandeks"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Kõigi kirjade märkimine ülesandeks."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Viska &prügikasti"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Valitud kirjade viskamine prügikasti."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Viska kõik &prügikasti"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Kõigi kirjade viskamine prügikasti."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Eemal&da topeltkirjad"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Topeltkirjade eemaldamine."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Tüh&jenda kõik prügikastid"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "Kõigi kirjade jäädav kustutamine kõigist prügikastidest."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "Tühjenda &prügikast"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Kõigi kirjade jäädav kustutamine prügikastist."
#~ msgctxt "@label"
#~ msgid ""
#~ "This model can only handle email folders. The current collection holds "
#~ "mimetypes: %1"
#~ msgstr ""
#~ "See mudel suudab käidelda ainult kirjakaustu. Aktiivses kogus on "
#~ "esindatud järgmised MIME tüübid: %1"
#~ msgid "&Mark Mail as Important"
#~ msgstr "&Märgi tähtsaks kirjaks"
#~ msgid "&Mark Mail as Action Item"
#~ msgstr "&Märgi kiri ülesandeks"
#, fuzzy
#~| msgid "Cut Email"
#~| msgid_plural "Cut %1 Emails"
#~ msgctxt "EMAIL OF TRANSLATORS"
#~ msgid "Your emails"
#~ msgstr "Lõika kiri"
#~ msgid "IMAP server"
#~ msgstr "IMAP server"
#~ msgid "Defines the port the IMAP service is running on"
#~ msgstr "Pordi määramine, milles IMAP teenus töötab"
#~ msgid "Username"
#~ msgstr "Kasutajanimi"
#~ msgid "Defines the encryption type to use"
#~ msgstr "Määrab kasutatava krüptimise tüübi"
#~ msgid "Defines the authentication type to use"
#~ msgstr "Määrab kasutatava autentimise tüübi"
#~ msgid "Defines if the server side subscription is enabled"
#~ msgstr "Määrab, kas serveripoolne tellimine on lubatud"
#~ msgid "Defines if all the IMAP data should be cached locally all the time"
#~ msgstr "Määrab, kas kõik IMAP andmed tuleb alati kohapeal puhverdada"
#~ msgid "Defines if interval checking is enabled."
#~ msgstr "Määramine, kas kontrollimine kindla ajavahemiku järel on lubatud."
#~ msgid "Check interval in minutes"
#~ msgstr "Kontrollimise intervall minutites"
#~ msgid ""
#~ "Defines if the annotations, ACLs and quota information of mailboxes "
#~ "should\n"
#~ " also be retrieved when the mailboxes get listed."
#~ msgstr ""
#~ "Määrab, kas postkastide loendi koostamisel tuleb hankida ka\n"
#~ " annotatsioonid, pääsuloendid ja postkastide kvooditeave."
#~ msgid ""
#~ "Defines if the expunge command is issued automatically, otherwise it "
#~ "should be\n"
#~ " triggered manually through the D-Bus interface."
#~ msgstr ""
#~ "Määrab, kas tühjendamiskäsk antakse automaatselt; vastasel juhul\n"
#~ " tuleb see käivitada käsitsi D-Busi liidese vahendusel."
#~ msgid "Define which folder is used for trash"
#~ msgstr "Prügikastina kasutatava kausta määramine"
#~ msgid "Define if account uses the default identity"
#~ msgstr "Määramine, kas konto kasutab vaikeidentiteeti"
#~ msgid "Identity account"
#~ msgstr "Identiteedi konto"
#~ msgid "RID path to the mailbox to watch for changes"
#~ msgstr "RID postkasti asukoht muutuste jälgimiseks"
#~ msgid "Define if server supports sieve"
#~ msgstr "Määramine, kas server toetab Sievet"
#~ msgid "Define if we reuse host and login configuration"
#~ msgstr "Määramine, kas kasutada korduvalt masina- ja sisselogimisseadistust"
#~ msgid "Define sieve port"
#~ msgstr "Sieve pordi määramine"
#~ msgid "Define alternate URL"
#~ msgstr "Alternatiivse URL-i määramine"
#~ msgid "Define default sieve vacation filename"
#~ msgstr "Sieve vaikimisi puhkusefaili nime määramine"
#~ msgid "Id of the resource containing the default special collections."
#~ msgstr "Vaikimisi erikogusid sisaldava ressursi ID."
#~ msgid ""
#~ "Id of the maildir resource containing the default special collections."
#~ msgstr "Vaikimisi erikogusid sisaldava maildir-ressursi ID."
#~ msgid "Copy Email"
#~ msgid_plural "Copy %1 Emails"
#~ msgstr[0] "Kopeeri kiri"
#~ msgstr[1] "Kopeeri %1 kirja"

View File

@ -0,0 +1,644 @@
# Translation for libakonadi-kmime5.po to Euskara/Basque (eu).
# Copyright (C) 2020, This file is copyright:
# This file is distributed under the same license as the akonadi-mime package.
# KDE euskaratzeko proiektuko arduraduna <xalba@euskalnet.net>.
#
# Translators:
# Iñigo Salvador Azurmendi <xalba@ni.eus>, 2020, 2021.
msgid ""
msgstr ""
"Project-Id-Version: akonadi-mime\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2021-12-28 19:46+0100\n"
"Last-Translator: Iñigo Salvador Azurmendi <xalba@ni.eus>\n"
"Language-Team: Basque <kde-i18n-eu@kde.org>\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.12.0\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Hustu zakarrontzia"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "Ziur zaude kontu guztietako zakarrontzi karpetak hustu nahi dituzula?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Ziur zaude karpeta honetako eta bere azpi-karpeta guztietako mezu guztiak "
"markatu nahi dituzula?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Markatu guztiak errekurtsiboki"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Markatu guztiak"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Gaia"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Bidaltzailea"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Hartzailea"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Data"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Neurria"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(Gairik ez)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(Bidaltzailerik ez)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(Hartzailerik ez)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(Datarik ez)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Elementuak eskuratzen..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Bikoiztutakoen bila..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Bikoiztutakoak kentzen..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "sarrerako ontzia"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "irteerako ontzia"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "bidalitako-posta"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "zakarrontzia"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "zirriborroak"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "txantiloiak"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Karpeta lokalak"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Gehitu karpeta..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Gehitu karpeta berri bat unean hautatuta dagoen kontuan."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Karpeta berria"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "Ezin izan da karpeta sortu: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Karpeta sortzea huts egin du"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Kopiatu karpeta"
msgstr[1] "Kopiatu %1 karpeta"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Kopiatu hautatutako testua arbelera."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "%1 karpetaren propietateak"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Ezabatu karpeta"
msgstr[1] "Ezabatu %1 karpeta"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Ezabatu kontuko hautatutako karpetak."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] ""
"Benetan ezabatu nahi dituzu karpeta hau eta bere azpi-karpeta guztiak?"
msgstr[1] ""
"Benetan ezabatu nahi dituzu %1 karpeta eta haien azpi-karpeta guztiak?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "karpeta ezabatu?"
msgstr[1] "Karpetak ezabatu?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "Ezin izan da karpeta ezabatu: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "Karpeta ezabatzea huts egin du"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Eguneratu karpeta"
msgstr[1] "Eguneratu karpetak"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Eguneratu hautatutako karpeten edukia."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Ebaki karpeta"
msgstr[1] "Ebaki %1 karpeta"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Ebaki kontuko hautatutako karpetak."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Karpeten propietateak"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr ""
"Ireki hautatutako karpetaren propietateak editatzeko elkarrizketa-koadro bat."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Kopiatu mezua"
msgstr[1] "Kopiatu %1 mezu"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Kopiatu hautatutako mezuak arbelera."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Ezabatu mezua"
msgstr[1] "Ezabatu %1 mezu"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Ezabatu karpetako hautatutako mezuak."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Benetan ezabatu nahi duzu hautatutako mezua?"
msgstr[1] "Benetan ezabatu nahi dituzu %1 mezua?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Mezua ezabatu?"
msgstr[1] "Mezuak ezabatu?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "Ezin izan da mezua ezabatu: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "Mezua ezabatzea huts egin du"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Ebaki mezua"
msgstr[1] "Ebaki %1 mezu"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Ebaki karpetako hautatutako mezua."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "Gehitu &kontua..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Gehitu kontu berri bat<p>Gehitu beharko den kontu mota hautatzeko "
"elkarrizketa-koadro bat aurkeztuko zaizu.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Gehitu kontua"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "Ezin izan da kontua sortu: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "Kontua sortzea huts egin du"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "E&zabatu kontua"
msgstr[1] "E&zabatu %1 kontu"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Ezabatu hautatutako kontuak<p>Unean hautatuta dauden kontuak ezabatuko dira, "
"barruan dituzten mezu guztiekin batera.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Benetan ezabatu nahi duzu kontu hau?"
msgstr[1] "Benetan ezabatu nahi dituzu %1 kontu?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Kontua ezabatu?"
msgstr[1] "Kontuak ezabatu?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Kontuaren propietateak..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr ""
"Ireki hautatutako kontuaren propietateak editatzeko elkarrizketa-koadro bat."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Eguneratu kontua"
msgstr[1] "Eguneratu %1 kontu"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr "Hautatutako kontuetako karpeta guztietako edukia eguneratzen du."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Eguneratu karpeta hau eta bere azpi-karpeta guztiak"
msgstr[1] "Eguneratu karpeta hauek eta haien azpi-karpeta guztiak"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr "Eguneratu hautatutako karpeten edukia eta haien azpi-karpeta guztiena."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "Ezin izan da mezua itsatsi: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Itsastea huts egin du"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Kendu «Garrantzitsua» marka"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "&Markatu mezua «Garrantzitsua» gisa"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Kendu «Ekintza-elementua» marka"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&Markatu mezua «Ekintza-elementua» gisa"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "&Markatu mezua «Irakurrita» gisa"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Markatu «Irakurrita» gisa"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Markatu hautatutako mezua irakurritako gisa."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "&Markatu mezua «Irakurri gabe» gisa"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Markatu «irakurri gabe» gisa"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Markatu hautatutako mezuak irakurri gabeko gisa."
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Markatu «Garrantzitsua» gisa"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Markatu hautatutako mezuak garrantzitsu gisa."
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Markatu «Ekintza-elementua» gisa"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Markatu hautatutako mezuak ekintza-elementuen gisa."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "Markatu mezu &guztiak «Irakurrita» gisa"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Markatu guztiak «Irakurrita» gisa"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Markatu mezu guztiak irakurritako gisa."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "Markatu mezu &guztiak errekurtsiboki «Irakurrita» gisa"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Markatu guztiak errekurtsiboki «Irakurrita» gisa"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Markatu mezu guztiak errekurtsiboki irakurritako gisa."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "Markatu mezu &guztiak «Irakurri gabe» gisa"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Markatu guztiak «Irakurri gabe» gisa"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Markatu mezu guztiak irakurri gabeko gisa."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "Markatu mezu &guztiak «Garrantzitsua» gisa"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Markatu guztiak «Garrantzitsua» gisa"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Markatu mezu guztiak garrantzitsu gisa."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Markatu guztiak «Ekintza-elementu» gisa"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "Markatu mezu &guztiak «Ekintza-elementu» gisa"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Markatu mezu guztiak ekintza-elementu gisa."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Bota &zakarrontzira"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Bota hautatutako mezuak zakarrontzi karpetara."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Bota guztia &zakarrontzira"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Bota mezu guztiak zakarrontzi karpetara."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Kendu &bikoiztutako mezuak"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Kendu bikoiztutako mezuak."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Hustu &zakarrontzi karpeta guztiak"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "Betirako ezabatu zakarrontzi karpeta guztietako mezu guztiak."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "&Hustu zakarrontzia"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Betirako ezabatu zakarrontzi karpetako mezu guztiak."

View File

@ -0,0 +1,663 @@
# Copyright (C) YEAR This_file_is_part_of_KDE
# This file is distributed under the same license as the PACKAGE package.
# Tommi Nieminen <translator@legisign.org>, 2011, 2013, 2016, 2020, 2021.
# Lasse Liehu <lasse.liehu@gmail.com>, 2012, 2013, 2014, 2015.
#
# KDE Finnish translation sprint participants:
# Author: Artnay
msgid ""
msgstr ""
"Project-Id-Version: libakonadi-kmime\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2021-11-29 17:17+0200\n"
"Last-Translator: Tommi Nieminen <translator@legisign.org>\n"
"Language-Team: Finnish <kde-i18n-doc@kde.org>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-POT-Import-Date: 2012-12-01 22:25:19+0000\n"
"X-Generator: Lokalize 20.04.2\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Tyhjennä roskakori"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "Haluatko varmasti tyhjentää kaikkien tilien roskakorit?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Haluatko varmasti merkitä kaikki tämän kansion ja kaikkien sen alikansioiden "
"viestit?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Merkitse kaikki alikansioistakin"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Merkitse kaikki"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Aihe"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Lähettäjä"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Vastaanottaja"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Päiväys"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Koko"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(Ei aihetta)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(Ei lähettäjää)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(Ei vastaanottajaa)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(Ei päiväystä)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Noudetaan kohteita…"
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Etsitään kaksoiskappaleita…"
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Poistetaan kaksoiskappaleita…"
# Oletan, että inbox...templates viittaavat IMAP-kansionnimiin, joita ei ole mielekästä lokalisoida
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "inbox"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "outbox"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "sent-mail"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "trash"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "drafts"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "templates"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Paikalliset kansiot"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Lisää kansio…"
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Lisää uusi kansio valittuun tiliin."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Uusi kansio"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "Kansion luonti epäonnistui: %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "Kansion luonti epäonnistui"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Kopioi kansio"
msgstr[1] "Kopioi %1 kansiota"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Kopioi valitut kansiot leikepöydälle."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Kansion %1 ominaisuudet"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Poista kansio"
msgstr[1] "Poista %1 kansiota"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Poista valitut kansiot tililtä."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] "Haluatko varmasti poistaa tämän kansion alikansioineen?"
msgstr[1] "Haluatko varmasti poistaa %1 kansiota alikansioineen?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Poistetaanko kansio?"
msgstr[1] "Poistetaanko kansiot?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "Kansiota ei voitu poistaa: %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "Kansion poisto epäonnistui"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Päivitä kansio"
msgstr[1] "Päivitä kansiot"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Päivitä valittujen kansioiden sisältö."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Leikkaa kansio"
msgstr[1] "Leikkaa %1 kansiota"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Leikkaa valitut kansiot tililtä."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Kansion ominaisuudet"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr "Avaa valitun kansion ominaisuuksien muokkausikkuna."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Kopioi viesti"
msgstr[1] "Kopioi %1 viestiä"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Kopioi valitut viestit leikepöydälle."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Poista viesti"
msgstr[1] "Poista %1 viestiä"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Poista valitut viestit kansiosta."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Haluatko varmasti poistaa valitun viestin?"
msgstr[1] "Haluatko varmasti poistaa %1 viestiä?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Poistetaanko viesti?"
msgstr[1] "Poistetaanko viestit?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "Viestiä ei voitu poistaa: %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "Viestin poisto epäonnistui"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Leikkaa viesti"
msgstr[1] "Leikkaa %1 viestiä"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Leikkaa valitut viestit leikepöydälle."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "Lisää &tili…"
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Lisää uusi tili<p>Saat näkyviin kyselyikkunan, josta voit valita lisättävän "
"tilin tyypin.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Lisää tili"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "Tilin luonti epäonnistui: %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "Tilin luonti epäonnistui"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "P&oista tili"
msgstr[1] "P&oista %1 tiliä"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Poista valitut tilit<p>Paraikaa valitut tilit poistetaan viesteineen.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Haluatko varmasti poistaa tämän tilin?"
msgstr[1] "Haluatko varmasti poistaa %1 tiliä?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Poistetaanko tili?"
msgstr[1] "Poistetaanko tilit?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Tilin ominaisuudet…"
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr "Avaa valitun tilin ominaisuuksien muokkausikkuna."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Päivitä tili"
msgstr[1] "Päivitä %1 tiliä"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr "Päivittää valittujen tilien kaikkien kansioiden sisällön."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Päivitä tämä kansio alikansioineen"
msgstr[1] "Päivitä nämä kansiot alikansioineen"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr "Päivittää valittujen kansioiden sekä alikansioiden sisällön."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "Viestiä ei voitu liittää: %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Liittäminen epäonnistui"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Poista tärkeän viestin merkki"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "&Merkitse viesti tärkeäksi"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Poista tehtävän merkki"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&Merkitse viesti tehtäväksi"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "&Merkitse viesti luetuksi"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Merkitse luetuksi"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Merkitse valitut viestit luetuiksi."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "&Merkitse viesti lukemattomaksi"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Merkitse lukemattomaksi"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Merkitse valitut viestit lukemattomiksi."
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Merkitse tärkeäksi"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Merkitse valitut viestit tärkeiksi."
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Merkitse tehtäväksi"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Merkitse valitut viestit tehtäviksi."
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "Merkitse k&aikki viestit luetuiksi"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Merkitse kaikki luetuiksi"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Merkitse kaikki viestit luetuiksi."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "Merkitse k&aikki viestit luetuiksi alikansioistakin"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Merkitse kaikki luetuiksi alikansioistakin"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Merkitse kaikki viestit luetuiksi alikansioistakin."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "Merkitse k&aikki viestit lukemattomiksi"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Merkitse kaikki lukemattomiksi"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Merkitse kaikki viestit lukemattomiksi."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "Merkitse k&aikki viestit tärkeiksi"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Merkitse kaikki tärkeiksi"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Merkitse kaikki viestit tärkeiksi."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Merkitse kaikki tehtäviksi"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "Merkitse k&aikki viestit tehtäviksi"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Merkitse kaikki viestit tehtäviksi."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Siirrä r&oskakoriin"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Siirrä valitut viestit roskakorikansioon."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Siirrä k&aikki roskakoriin"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Siirrä kaikki viestit roskakorikansioon."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Poista &monistuneet viestit"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Poista monistuneet viestit."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Tyhjennä &kaikki roskakorit"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "Poista kaikki viestit kaikista roskakorikansioista pysyvästi."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "T&yhjennä roskakori"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Poista kaikki viestit roskakorikansiosta pysyvästi."
#~ msgctxt "@label"
#~ msgid ""
#~ "This model can only handle email folders. The current collection holds "
#~ "mimetypes: %1"
#~ msgstr ""
#~ "Tämä malli osaa käsitellä vain sähköpostikansioita. Nykyinen kokoelma "
#~ "sisältää MIME-tyyppejä: %1"
#~ msgid "&Mark Mail as Important"
#~ msgstr "&Merkitse viesti tärkeäksi"
#~ msgid "&Mark Mail as Action Item"
#~ msgstr "Merkitse viesti tehtäväksi"
#~ msgctxt "NAME OF TRANSLATORS"
#~ msgid "Your names"
#~ msgstr "Tommi Nieminen,Lasse Liehu"
#~ msgctxt "EMAIL OF TRANSLATORS"
#~ msgid "Your emails"
#~ msgstr "translator@legisign.org,lasse.liehu@gmail.com"

View File

@ -0,0 +1,770 @@
# translation of libakonadi-kmime.po to Français
# Copyright (C) YEAR This_file_is_part_of_KDE
# This file is distributed under the same license as the PACKAGE package.
# Joëlle Cornavin <jcornavin@laposte.net>, 2010, 2011.
# Ludovic Grossard <grossard@kde.org>, 2012, 2014.
# Geoffray Levasseur <geoffray.levasseurbrandin@numericable.fr>, 2013.
# xavier <xavier.besnard@neuf.fr>, 2013, 2021.
# Vincent Pinon <vpinon@kde.org>, 2017.
# Simon Depiets <sdepiets@gmail.com>, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: libakonadi-kmime\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-16 00:47+0000\n"
"PO-Revision-Date: 2021-11-06 22:29+0100\n"
"Last-Translator: Xavier Besnard <xavier.besnard@neuf.fr>\n"
"Language-Team: French <kde-francophone@kde.org>\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 21.08.1\n"
"X-Environment: kde\n"
"X-Accelerator-Marker: &\n"
"X-Text-Markup: kde4\n"
#: emptytrashcommand.cpp:46
#, kde-format
msgid "Empty Trash"
msgstr "Vider la corbeille"
#: emptytrashcommand.cpp:47
#, kde-format
msgid "Are you sure you want to empty the trash folders of all accounts?"
msgstr "Voulez-vous vraiment vider les corbeilles de tous les comptes ?"
#: markascommand.cpp:127
#, kde-format
msgid ""
"Are you sure you want to mark all messages in this folder and all its "
"subfolders?"
msgstr ""
"Voulez-vous vraiment marquer tous les messages dans ce dossier et tous ses "
"sous-dossiers ?"
#: markascommand.cpp:128
#, kde-format
msgid "Mark All Recursively"
msgstr "Tout marquer récursivement"
#: markascommand.cpp:129
#, kde-format
msgctxt "@action:button"
msgid "Mark All"
msgstr "Tout marquer"
#: messagemodel.cpp:34
msgctxt "@title:column, message (e.g. email) subject"
msgid "Subject"
msgstr "Objet"
#: messagemodel.cpp:35
msgctxt "@title:column, sender of message (e.g. email)"
msgid "Sender"
msgstr "Expéditeur"
#: messagemodel.cpp:36
msgctxt "@title:column, receiver of message (e.g. email)"
msgid "Receiver"
msgstr "Destinataire"
#: messagemodel.cpp:37
msgctxt "@title:column, message (e.g. email) timestamp"
msgid "Date"
msgstr "Date"
#: messagemodel.cpp:38
msgctxt "@title:column, message (e.g. email) size"
msgid "Size"
msgstr "Taille"
#: messagemodel.cpp:71
#, kde-format
msgctxt "@label Alternative text when email subject is missing"
msgid "(No subject)"
msgstr "(pas de sujet)"
#: messagemodel.cpp:77
#, kde-format
msgctxt "@label Alternative text when email sender is missing"
msgid "(No sender)"
msgstr "(pas d'expéditeur)"
#: messagemodel.cpp:83
#, kde-format
msgctxt "@label Alternative text when email recipient is missing"
msgid "(No receiver)"
msgstr "(pas de destinataire)"
#: messagemodel.cpp:89
#, kde-format
msgctxt "@label Alternative text when email date/time is missing"
msgid "(No date)"
msgstr "(pas de date)"
#: messagemodel.cpp:93
#, kde-format
msgctxt "@label No size available"
msgid "-"
msgstr "-"
#: removeduplicatesjob.cpp:41
#, kde-format
msgid "Retrieving items..."
msgstr "Réception des éléments..."
#: removeduplicatesjob.cpp:59
#, kde-format
msgid "Searching for duplicates..."
msgstr "Recherche de doublons..."
#: removeduplicatesjob.cpp:118
#, kde-format
msgid "Removing duplicates..."
msgstr "Suppression des doublons..."
#: specialmailcollections.cpp:130
#, kde-format
msgctxt "local mail folder"
msgid "inbox"
msgstr "boîte de réception"
#: specialmailcollections.cpp:133
#, kde-format
msgctxt "local mail folder"
msgid "outbox"
msgstr "boîte d'envoi"
#: specialmailcollections.cpp:136
#, kde-format
msgctxt "local mail folder"
msgid "sent-mail"
msgstr "messages envoyés"
#: specialmailcollections.cpp:139
#, kde-format
msgctxt "local mail folder"
msgid "trash"
msgstr "corbeille"
#: specialmailcollections.cpp:142
#, kde-format
msgctxt "local mail folder"
msgid "drafts"
msgstr "brouillons"
#: specialmailcollections.cpp:145
#, kde-format
msgctxt "local mail folder"
msgid "templates"
msgstr "modèles"
#: specialmailcollectionsrequestjob.cpp:46
#, kde-format
msgctxt "local mail folder"
msgid "Local Folders"
msgstr "Dossiers locaux"
#: standardmailactionmanager.cpp:119
#, kde-format
msgid "Add Folder..."
msgstr "Ajouter un dossier..."
#: standardmailactionmanager.cpp:120 standardmailactionmanager.cpp:121
#, kde-format
msgid "Add a new folder to the currently selected account."
msgstr "Ajoute un nouveau dossier au compte actuellement sélectionné."
#: standardmailactionmanager.cpp:123
#, kde-format
msgctxt "@title:window"
msgid "New Folder"
msgstr "Nouveau dossier"
#: standardmailactionmanager.cpp:127
#, kde-format
msgid "Could not create folder: %1"
msgstr "Impossible de créer le dossier : %1"
#: standardmailactionmanager.cpp:129
#, kde-format
msgid "Folder creation failed"
msgstr "La création du dossier a échoué"
#: standardmailactionmanager.cpp:133
#, kde-format
msgid "Copy Folder"
msgid_plural "Copy %1 Folders"
msgstr[0] "Copier un dossier"
msgstr[1] "Copier %1 dossiers"
#: standardmailactionmanager.cpp:134 standardmailactionmanager.cpp:135
#, kde-format
msgid "Copy the selected folders to the clipboard."
msgstr "Copie les dossiers sélectionnés dans le presse-papier."
#: standardmailactionmanager.cpp:138
#, kde-format
msgctxt "@title:window"
msgid "Properties of Folder %1"
msgstr "Propriétés du dossier %1"
#: standardmailactionmanager.cpp:141
#, kde-format
msgid "Delete Folder"
msgid_plural "Delete %1 Folders"
msgstr[0] "Supprimer un dossier"
msgstr[1] "Supprimer %1 dossiers"
#: standardmailactionmanager.cpp:142 standardmailactionmanager.cpp:143
#, kde-format
msgid "Delete the selected folders from the account."
msgstr "Supprimer du compte les dossiers sélectionnés."
#: standardmailactionmanager.cpp:146
#, kde-format
msgid "Do you really want to delete this folder and all its sub-folders?"
msgid_plural ""
"Do you really want to delete %1 folders and all their sub-folders?"
msgstr[0] ""
"Voulez-vous vraiment supprimer ce dossier et tous ses sous-dossiers ?"
msgstr[1] ""
"Voulez-vous vraiment supprimer %1 dossiers et tous leurs sous-dossiers ?"
#: standardmailactionmanager.cpp:151
#, kde-format
msgctxt "@title:window"
msgid "Delete folder?"
msgid_plural "Delete folders?"
msgstr[0] "Supprimer un dossier ?"
msgstr[1] "Supprimer des dossiers ?"
#: standardmailactionmanager.cpp:155
#, kde-format
msgid "Could not delete folder: %1"
msgstr "Impossible de supprimer un dossier : %1"
#: standardmailactionmanager.cpp:157
#, kde-format
msgid "Folder deletion failed"
msgstr "La suppression du dossier a échoué"
#: standardmailactionmanager.cpp:161
#, kde-format
msgid "Update Folder"
msgid_plural "Update Folders"
msgstr[0] "Mettre à jour le dossier"
msgstr[1] "Mettre à jour des dossiers"
#: standardmailactionmanager.cpp:163 standardmailactionmanager.cpp:164
#, kde-format
msgid "Update the contents of the selected folders."
msgstr "Met à jour le contenu des dossiers sélectionnés."
#: standardmailactionmanager.cpp:167
#, kde-format
msgid "Cut Folder"
msgid_plural "Cut %1 Folders"
msgstr[0] "Copier un dossier"
msgstr[1] "Copier %1 dossiers"
#: standardmailactionmanager.cpp:168 standardmailactionmanager.cpp:169
#, kde-format
msgid "Cut the selected folders from the account."
msgstr "Coupe du compte les dossiers sélectionnés."
#: standardmailactionmanager.cpp:172
#, kde-format
msgid "Folder Properties"
msgstr "Propriétés du dossier"
#: standardmailactionmanager.cpp:174 standardmailactionmanager.cpp:176
#, kde-format
msgid "Open a dialog to edit the properties of the selected folder."
msgstr ""
"Ouvrir une boîte de dialogue pour modifier les propriétés du dossier "
"sélectionné."
#: standardmailactionmanager.cpp:179
#, kde-format
msgid "Copy Message"
msgid_plural "Copy %1 Messages"
msgstr[0] "Copier le message"
msgstr[1] "Copier %1 messages"
#: standardmailactionmanager.cpp:180 standardmailactionmanager.cpp:181
#, kde-format
msgid "Copy the selected messages to the clipboard."
msgstr "Copie les messages sélectionnés dans le presse-papier."
#: standardmailactionmanager.cpp:184
#, kde-format
msgid "Delete Message"
msgid_plural "Delete %1 Messages"
msgstr[0] "Effacer un message"
msgstr[1] "Supprimer %1 messages"
#: standardmailactionmanager.cpp:185 standardmailactionmanager.cpp:186
#, kde-format
msgid "Delete the selected messages from the folder."
msgstr "Supprime du dossier les messages sélectionnés."
#: standardmailactionmanager.cpp:189
#, kde-format
msgid "Do you really want to delete the selected message?"
msgid_plural "Do you really want to delete %1 messages?"
msgstr[0] "Voulez-vous vraiment supprimer le message sélectionné ?"
msgstr[1] "Voulez-vous vraiment supprimer %1 messages ?"
#: standardmailactionmanager.cpp:193
#, kde-format
msgctxt "@title:window"
msgid "Delete Message?"
msgid_plural "Delete Messages?"
msgstr[0] "Supprimer le message ?"
msgstr[1] "Supprimer les messages ?"
#: standardmailactionmanager.cpp:195
#, kde-format
msgid "Could not delete message: %1"
msgstr "Impossible de supprimer un message : %1"
#: standardmailactionmanager.cpp:197
#, kde-format
msgid "Message deletion failed"
msgstr "La suppression du message a échoué"
#: standardmailactionmanager.cpp:200
#, kde-format
msgid "Cut Message"
msgid_plural "Cut %1 Messages"
msgstr[0] "Couper un message"
msgstr[1] "Couper %1 messages"
#: standardmailactionmanager.cpp:201 standardmailactionmanager.cpp:202
#, kde-format
msgid "Cut the selected message from the folder."
msgstr "Coupe du dossier les messages sélectionnés."
#: standardmailactionmanager.cpp:205
#, kde-format
msgid "Add &Account..."
msgstr "&Ajouter un compte..."
#: standardmailactionmanager.cpp:207
#, kde-format
msgid ""
"Add a new account<p>You will be presented with a dialog where you can select "
"the type of the account that shall be added.</p>"
msgstr ""
"Ajoute un nouveau compte<p>Une boîte de dialogue apparaît, dans laquelle "
"vous pouvez sélectionner le type du compte devant être ajouté.</p>"
#: standardmailactionmanager.cpp:210
#, kde-format
msgctxt "@title:window"
msgid "Add Account"
msgstr "Ajouter un compte"
#: standardmailactionmanager.cpp:214
#, kde-format
msgid "Could not create account: %1"
msgstr "Impossible de créer un compte : %1"
#: standardmailactionmanager.cpp:216
#, kde-format
msgid "Account creation failed"
msgstr "La création du compte a échoué"
#: standardmailactionmanager.cpp:219
#, kde-format
msgid "&Delete Account"
msgid_plural "&Delete %1 Accounts"
msgstr[0] "&Supprimer un compte"
msgstr[1] "&Supprimer %1 comptes"
#: standardmailactionmanager.cpp:221
#, kde-format
msgid ""
"Delete the selected accounts<p>The currently selected accounts will be "
"deleted, along with all the messages they contain.</p>"
msgstr ""
"Supprime les comptes sélectionnés<p>Les comptes actuellement sélectionnés "
"seront supprimés, ainsi que tous les messages qu'ils contiennent.</p>"
#: standardmailactionmanager.cpp:226
#, kde-format
msgid "Do you really want to delete this account?"
msgid_plural "Do you really want to delete %1 accounts?"
msgstr[0] "Voulez-vous vraiment supprimer ce compte ?"
msgstr[1] "Voulez-vous vraiment supprimer %1 comptes ?"
#: standardmailactionmanager.cpp:230
#, kde-format
msgctxt "@title:window"
msgid "Delete Account?"
msgid_plural "Delete Accounts?"
msgstr[0] "Supprimer le compte ?"
msgstr[1] "Supprimer les comptes ?"
#: standardmailactionmanager.cpp:233
#, kde-format
msgid "Account Properties..."
msgstr "Propriétés du compte..."
#: standardmailactionmanager.cpp:235
#, kde-format
msgid "Open a dialog to edit properties of the selected account."
msgstr ""
"Ouvre une boîte de dialogue pour modifier les propriétés du compte "
"sélectionné."
#: standardmailactionmanager.cpp:238
#, kde-format
msgid "Update Account"
msgid_plural "Update %1 Accounts"
msgstr[0] "Mettre à jour un compte"
msgstr[1] "Mettre à jour %1 comptes"
#: standardmailactionmanager.cpp:240
#, kde-format
msgid "Updates the content of all folders of the selected accounts."
msgstr "Met à jour le contenu de tous les dossiers des comptes sélectionnés."
#: standardmailactionmanager.cpp:244
#, kde-format
msgid "Update This Folder and All Its Subfolders"
msgid_plural "Update These Folders and All Their Subfolders"
msgstr[0] "Mettre à jour ce dossier et tous ses sous-dossiers"
msgstr[1] "Mettre à jour ces dossiers et tous leurs sous-dossiers"
#: standardmailactionmanager.cpp:247 standardmailactionmanager.cpp:249
#, kde-format
msgid "Update the contents of the selected folders and all their subfolders."
msgstr ""
"Met à jour le contenu des dossiers sélectionnés et tous leurs sous-dossiers."
#: standardmailactionmanager.cpp:252
#, kde-format
msgid "Could not paste message: %1"
msgstr "Impossible de coller un message : %1"
#: standardmailactionmanager.cpp:254
#, kde-format
msgid "Paste failed"
msgstr "Le collage a échoué"
#: standardmailactionmanager.cpp:320
#, kde-format
msgid "Remove Important Mark"
msgstr "Retirer la marque « Important »"
#: standardmailactionmanager.cpp:322 standardmailactionmanager.cpp:724
#, kde-format
msgid "&Mark Message as Important"
msgstr "&Marquer le message comme « Important »"
#: standardmailactionmanager.cpp:333
#, kde-format
msgid "Remove Action Item Mark"
msgstr "Retirer la marque « Action à effectuer »"
#: standardmailactionmanager.cpp:335 standardmailactionmanager.cpp:738
#, kde-format
msgid "&Mark Message as Action Item"
msgstr "&Marque le message comme « Action à effectuer »"
#: standardmailactionmanager.cpp:694
#, kde-format
msgid "&Mark Message as Read"
msgstr "&Marquer le message comme « Lu »"
#: standardmailactionmanager.cpp:695
#, kde-format
msgid "Mark as Read"
msgstr "Marquer comme « Lu »"
#: standardmailactionmanager.cpp:696 standardmailactionmanager.cpp:697
#, kde-format
msgid "Mark selected messages as read."
msgstr "Marquer les messages sélectionnés comme « Lu »."
#: standardmailactionmanager.cpp:709
#, kde-format
msgid "&Mark Message as Unread"
msgstr "&Marquer le message comme « Non lu »"
#: standardmailactionmanager.cpp:710
#, kde-format
msgid "Mark as Unread"
msgstr "Marquer comme « Non lu »"
#: standardmailactionmanager.cpp:711 standardmailactionmanager.cpp:712
#, kde-format
msgid "Mark selected messages as unread."
msgstr "Marquer les messages sélectionnés comme « Non lu »"
#: standardmailactionmanager.cpp:725
#, kde-format
msgid "Mark as Important"
msgstr "Marquer comme « Important »"
#: standardmailactionmanager.cpp:726
#, kde-format
msgid "Mark selected messages as important."
msgstr "Marquer les messages sélectionnés comme « Important »"
#: standardmailactionmanager.cpp:739
#, kde-format
msgid "Mark as Action Item"
msgstr "Marquer comme « Action à effectuer »"
#: standardmailactionmanager.cpp:740 standardmailactionmanager.cpp:741
#, kde-format
msgid "Mark selected messages as action items."
msgstr "Marquer les messages sélectionnés comme « Action à effectuer »"
#: standardmailactionmanager.cpp:752
#, kde-format
msgid "Mark &All Messages as Read"
msgstr "Marquer tous les mess&ages comme « Lu »"
#: standardmailactionmanager.cpp:753
#, kde-format
msgid "Mark All as Read"
msgstr "Tout marquer comme « Lu »"
#: standardmailactionmanager.cpp:754 standardmailactionmanager.cpp:755
#, kde-format
msgid "Mark all messages as read."
msgstr "Marquer tous les messages comme « Lu »."
#: standardmailactionmanager.cpp:766
#, kde-format
msgid "Mark &All Messages as Read Recursively"
msgstr "Marquer tous les mess&ages comme « Lu » récursivement"
#: standardmailactionmanager.cpp:767
#, kde-format
msgid "Mark All as Read Recursively"
msgstr "Tout marquer comme « Lu » récursivement"
#: standardmailactionmanager.cpp:768 standardmailactionmanager.cpp:769
#, kde-format
msgid "Mark all messages as read recursively."
msgstr "Marquer tous les messages comme « Lu » récursivement."
#: standardmailactionmanager.cpp:780
#, kde-format
msgid "Mark &All Messages as Unread"
msgstr "M&arquer tous les messages comme « Non lu »"
#: standardmailactionmanager.cpp:781
#, kde-format
msgid "Mark All as Unread"
msgstr "Tout marquer comme « Non lu »"
#: standardmailactionmanager.cpp:782 standardmailactionmanager.cpp:783
#, kde-format
msgid "Mark all messages as unread."
msgstr "Marquer tous les messages comme « Non lu »."
#: standardmailactionmanager.cpp:794
#, kde-format
msgid "Mark &All Messages as Important"
msgstr "M&arquer tous les messages comme « Important »"
#: standardmailactionmanager.cpp:795
#, kde-format
msgid "Mark All as Important"
msgstr "Tout marquer comme « Important »"
#: standardmailactionmanager.cpp:796 standardmailactionmanager.cpp:797
#, kde-format
msgid "Mark all messages as important."
msgstr "Marquer tous les messages comme « Important »."
#: standardmailactionmanager.cpp:807
#, kde-format
msgid "Mark All as Action Item"
msgstr "Tout marquer comme « Action à effectuer »"
#: standardmailactionmanager.cpp:808
#, kde-format
msgid "Mark &All Messages as Action Item"
msgstr "M&arquer tous les messages comme « Action à effectuer »"
#: standardmailactionmanager.cpp:810 standardmailactionmanager.cpp:811
#, kde-format
msgid "Mark all messages as action items."
msgstr "Marquer tous les messages comme « Action à effectuer »."
#: standardmailactionmanager.cpp:822
#, kde-format
msgid "Move to &Trash"
msgstr "Me&ttre à la corbeille"
#: standardmailactionmanager.cpp:824 standardmailactionmanager.cpp:825
#, kde-format
msgid "Move selected messages to the trash folder."
msgstr "Déplace les messages sélectionnés dans la corbeille."
#: standardmailactionmanager.cpp:835
#, kde-format
msgid "Move All to &Trash"
msgstr "Tout me&ttre à la corbeille"
#: standardmailactionmanager.cpp:836 standardmailactionmanager.cpp:837
#, kde-format
msgid "Move all messages to the trash folder."
msgstr "Déplace tous les messages dans la corbeille."
#: standardmailactionmanager.cpp:846
#, kde-format
msgid "Remove &Duplicate Messages"
msgstr "Supprimer les messages &dupliqués"
#: standardmailactionmanager.cpp:847 standardmailactionmanager.cpp:848
#, kde-format
msgid "Remove duplicate messages."
msgstr "Supprimer les messages dupliqués."
#: standardmailactionmanager.cpp:858
#, kde-format
msgid "Empty All &Trash Folders"
msgstr "Vider &toutes les corbeilles"
#: standardmailactionmanager.cpp:859 standardmailactionmanager.cpp:860
#, kde-format
msgid "Permanently delete all messages from all trash folders."
msgstr "Effacer définitivement tous les messages de toutes les corbeilles."
#: standardmailactionmanager.cpp:869
#, kde-format
msgid "E&mpty Trash"
msgstr "V&ider une corbeille"
#: standardmailactionmanager.cpp:870 standardmailactionmanager.cpp:871
#, kde-format
msgid "Permanently delete all messages from the trash folder."
msgstr "Efface définitivement tous les messages de la corbeille."
#~ msgctxt "@label"
#~ msgid ""
#~ "This model can only handle email folders. The current collection holds "
#~ "mimetypes: %1"
#~ msgstr ""
#~ "Ce modèle ne peut gérer que des dossiers de courrier électronique. La "
#~ "collection actuelle contient des types MIME : %1"
#~ msgid "&Mark Mail as Important"
#~ msgstr "&Marquer le message comme « Important »"
#~ msgid "&Mark Mail as Action Item"
#~ msgstr "&Marque le message comme « Action à effectuer »"
#, fuzzy
#~| msgid "Cut Email"
#~| msgid_plural "Cut %1 Emails"
#~ msgctxt "EMAIL OF TRANSLATORS"
#~ msgid "Your emails"
#~ msgstr "Couper un courriel"
#~ msgid "IMAP server"
#~ msgstr "Serveur IMAP"
#~ msgid "Defines the port the IMAP service is running on"
#~ msgstr "Définit le port sur lequel le service IMAP fonctionne actuellement"
#~ msgid "Username"
#~ msgstr "Nom d'utilisateur"
#~ msgid "Defines the encryption type to use"
#~ msgstr "Définit le type de chiffrement à utiliser"
#~ msgid "Defines the authentication type to use"
#~ msgstr "Définit le type d'authentification à utiliser"
#~ msgid "Defines if the server side subscription is enabled"
#~ msgstr "Définit si l'abonnement du côté du serveur est activé"
#~ msgid "Defines if all the IMAP data should be cached locally all the time"
#~ msgstr ""
#~ "Définit si toutes les données « IMAP » devront être mises en cache en "
#~ "permanence"
#~ msgid "Defines if interval checking is enabled."
#~ msgstr "Définit si la vérification régulière est activée."
#~ msgid "Check interval in minutes"
#~ msgstr "Intervalle de vérification en minutes"
#~ msgid ""
#~ "Defines if the annotations, ACLs and quota information of mailboxes "
#~ "should\n"
#~ " also be retrieved when the mailboxes get listed."
#~ msgstr ""
#~ "Définit si les annotations, les listes de contrôles d'accès (ACL) et les "
#~ "informations de quotas des boîtes aux lettres devront\n"
#~ " également être extraites lorsque les boîtes aux lettres sont "
#~ "listées."
#~ msgid ""
#~ "Defines if the expunge command is issued automatically, otherwise it "
#~ "should be\n"
#~ " triggered manually through the D-Bus interface."
#~ msgstr ""
#~ "Définit si la commande de purge est émise automatiquement, sinon elle "
#~ "devra\n"
#~ " être déclenchée manuellement par le biais de l'interface D-"
#~ "Bus."
#~ msgid "Define which folder is used for trash"
#~ msgstr "Définir quel est le dossier à utiliser pour la corbeille"
#~ msgid "Define if account uses the default identity"
#~ msgstr "Définir si le compte utilise l'identité par défaut"
#~ msgid "Identity account"
#~ msgstr "Compte d'identité"
#~ msgid "RID path to the mailbox to watch for changes"
#~ msgstr ""
#~ "Emplacement « RID » de la boîte aux lettres dont il faut surveiller les "
#~ "modifications"
#~ msgid "Define if server supports sieve"
#~ msgstr "Définir si le serveur prend en charge le protocole « Sieve »"
#~ msgid "Define if we reuse host and login configuration"
#~ msgstr ""
#~ "Définir s'il faut ré-utiliser la configuration de l'hôte et son "
#~ "identifiant de connexion"
#~ msgid "Define sieve port"
#~ msgstr "Définir le port « Sieve »"
#~ msgid "Define alternate URL"
#~ msgstr "Définir une URL secondaire"
#~ msgid "Define default sieve vacation filename"
#~ msgstr "Définir le nom de fichier d'absence « Sieve » par défaut"
#~ msgid "Id of the resource containing the default special collections."
#~ msgstr ""
#~ "Identifiant de la ressource contenant les collections spéciales par "
#~ "défaut."
#~ msgid ""
#~ "Id of the maildir resource containing the default special collections."
#~ msgstr ""
#~ "Identifiant de la ressource « maildir » contenant les collections "
#~ "spéciales par défaut."
#~ msgid "Copy Email"
#~ msgid_plural "Copy %1 Emails"
#~ msgstr[0] "Copier un courriel"
#~ msgstr[1] "Copier %1 courriels"

Some files were not shown because too many files have changed in this diff Show More