kde: rebase 37 vendored modules to declared upstream (6.10.0 -> 6.28.0)

Applies the versioning fix to the KDE stack via sync-recipe-source.sh: these
modules carry no Redox port (0 __redox__ markers, 0 or auto-appliable patches),
so each is a clean pristine-6.28.0 re-lay with --checksum + a version stamp,
dropping the stale 6.10.0 trees and the line-duplication corruption. The 6
Redox-touching modules (kf6-pty/kio/solid/kservice/kded6, kirigami) are left for
manual port rebasing; mesa and other unknown-marker trees are untouched.

Each module still needs a Redbear OS build-adaptation pass at 6.28.0 (18 versions
of upstream drift); tracked as follow-up.
This commit is contained in:
2026-07-31 20:37:27 +03:00
parent 8413b69334
commit 40bc25693d
4978 changed files with 303795 additions and 631684 deletions
Binary file not shown.
@@ -5,7 +5,10 @@ include:
- project: sysadmin/ci-utilities
file:
- /gitlab-templates/linux-qt6.yml
- /gitlab-templates/linux-qt6-next.yml
- /gitlab-templates/android-qt6.yml
- /gitlab-templates/freebsd-qt6.yml
- /gitlab-templates/windows-qt6.yml
- /gitlab-templates/alpine-qt6.yml
- /gitlab-templates/xml-lint.yml
- /gitlab-templates/yaml-lint.yml
@@ -1,8 +1,9 @@
Dependencies:
- 'on': ['@all']
'require':
- 'on': ['@all']
'require':
'frameworks/extra-cmake-modules': '@same'
Options:
test-before-installing: True
require-passing-tests-on: [ 'Linux', 'FreeBSD', 'Windows' ]
test-before-installing: True
require-passing-tests-on: ['Linux', 'FreeBSD', 'Windows']
enable-lsan: True
@@ -0,0 +1 @@
6.28.0
@@ -1,11 +1,11 @@
cmake_minimum_required(VERSION 3.16)
cmake_minimum_required(VERSION 3.29)
set(KF_VERSION "6.10.0") # handled by release scripts
set(KF_VERSION "6.28.0") # handled by release scripts
project(Attica VERSION ${KF_VERSION})
# ECM setup
include(FeatureSummary)
find_package(ECM 6.10.0 NO_MODULE)
find_package(ECM 6.28.0 NO_MODULE)
set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules")
feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
@@ -24,13 +24,10 @@ include(ECMGenerateHeaders)
include(CMakePackageConfigHelpers) # Used to create CMake config files
include(ECMQtDeclareLoggingCategory)
include(ECMDeprecationSettings)
include(ECMAddQch)
include(ECMGenerateQDoc)
set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].")
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(attica_version_header "${CMAKE_CURRENT_BINARY_DIR}/src/attica_version.h")
ecm_setup_version(PROJECT
VARIABLE_PREFIX ATTICA
@@ -39,7 +36,7 @@ ecm_setup_version(PROJECT
SOVERSION 6)
# Dependencies
set(REQUIRED_QT_VERSION 6.6.0)
set(REQUIRED_QT_VERSION 6.9.0)
# Required Qt components to build this framework
find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Core Network)
@@ -50,14 +47,14 @@ set(ATTICA_LIB_SONAME KF6Attica)
option(ATTICA_STATIC_BUILD "Build a static library" Off)
ecm_set_disabled_deprecation_versions(
QT 6.8
QT 6.11
)
add_subdirectory(src)
# Enable unit testing
if (BUILD_TESTING)
################################### add_subdirectory(autotests)
add_subdirectory(autotests)
add_subdirectory(tests)
endif ()
@@ -65,16 +62,6 @@ endif ()
set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Attica")
# Create the CMake Config files
if (BUILD_QCH)
ecm_install_qch_export(
TARGETS KF6Attica_QCH
FILE KF6AtticaQchTargets.cmake
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
COMPONENT Devel
)
set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6AtticaQchTargets.cmake\")")
endif()
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/KF6AtticaConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/KF6AtticaConfig.cmake"
@@ -6,4 +6,3 @@ find_dependency(Qt6Core @REQUIRED_QT_VERSION@)
find_dependency(Qt6Network @REQUIRED_QT_VERSION@)
include("${CMAKE_CURRENT_LIST_DIR}/KF6AtticaTargets.cmake")
@PACKAGE_INCLUDE_QCHTARGETS@
@@ -39,7 +39,7 @@ void PersonTest::testMergeType()
{
PrivateData a;
a.setMergeType(PrivateData::OverwriteLocal);
QVERIFY(a.mergeType() == PrivateData::OverwriteLocal);
QCOMPARE(a.mergeType(), PrivateData::OverwriteLocal);
}
QTEST_MAIN(PersonTest);
@@ -117,7 +117,7 @@ void ProviderTest::slotConfigResult(Attica::BaseJob *j)
}
m_eventloop->exit();
m_timer.stop();
QVERIFY(j->metadata().error() == Metadata::NoError);
QCOMPARE(j->metadata().error(), Metadata::NoError);
}
void ProviderTest::testSwitchSortOrder()
@@ -145,7 +145,7 @@ void ProviderTest::slotListResult(Attica::BaseJob *j)
qDebug() << QString(QLatin1String("Unknown Error: %1")).arg(j->metadata().message());
}
m_timer.stop();
QVERIFY(j->metadata().error() == Metadata::NoError);
QCOMPARE(j->metadata().error(), Metadata::NoError);
// Now do the actual switch
Attica::Provider provider = m_manager->providers().at(0);
@@ -171,7 +171,7 @@ void ProviderTest::slotList2Result(Attica::BaseJob *j)
}
m_eventloop->exit();
m_timer.stop();
QVERIFY(j->metadata().error() == Metadata::NoError);
QCOMPARE(j->metadata().error(), Metadata::NoError);
}
void ProviderTest::slotTimeout()
@@ -184,7 +184,7 @@ void ProviderTest::slotTimeout()
void ProviderTest::testFetchInvalidProvider()
{
initProvider(QUrl(QLatin1String("https://invalid-url.org/ocs/providers.xml")));
QVERIFY(m_manager->providers().size() == 0);
QCOMPARE(m_manager->providers().size(), 0);
QVERIFY(m_errorReceived);
}
@@ -1,7 +0,0 @@
### KApiDox Project-specific Overrides file
# define so that deprecated API is not skipped
PREDEFINED += \
"ATTICA_ENABLE_DEPRECATED_SINCE(x, y)=1" \
"ATTICA_BUILD_DEPRECATED_SINCE(x, y)=1" \
"ATTICA_DEPRECATED_VERSION(x, y, t)="
@@ -12,8 +12,8 @@ portingAid: false
deprecated: false
release: true
libraries:
- cmake: "KF6::Attica"
license: LGPL-2.1-only OR LGPL-3.0-only
- cmake: "KF6::Attica"
license: LGPL-2.1-only OR LGPL-3.0-only
cmakename: KF6Attica
public_lib: true
@@ -197,31 +197,7 @@ ecm_qt_install_logging_categories(
DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
)
if(BUILD_QCH)
ecm_add_qch(
KF6Attica_QCH
NAME Attica
BASE_NAME KF6Attica
VERSION ${KF_VERSION}
ORG_DOMAIN org.kde
SOURCES # using only public headers, to cover only public API
${Attica_HEADERS}
MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
LINK_QCHS
Qt6Core_QCH
Qt6Network_QCH
INCLUDE_DIRS
${CMAKE_CURRENT_BINARY_DIR}
BLANK_MACROS
ATTICA_EXPORT
ATTICA_DEPRECATED
ATTICA_DEPRECATED_EXPORT
"ATTICA_DEPRECATED_VERSION(x, y, t)"
TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
COMPONENT Devel
)
endif()
ecm_generate_qdoc(KF6Attica attica.qdocconf)
# Install package config file
if(NOT WIN32)
@@ -14,61 +14,54 @@
namespace Attica
{
/**
* @class AccountBalance accountbalance.h <Attica/AccountBalance>
/*!
* \class Attica::AccountBalance
* \inheaderfile Attica/AccountBalance
* \inmodule Attica
*
* Represents the money in the account of the user
* \brief Represents the money in the account of the user.
*/
class ATTICA_EXPORT AccountBalance
{
public:
/*!
*
*/
typedef QList<AccountBalance> List;
class Parser;
/**
/*!
* Creates an empty AccountBalance
*/
AccountBalance();
/**
* Copy constructor.
* @param other the AccountBalance to copy from
*/
AccountBalance(const AccountBalance &other);
/**
* Assignment operator.
* @param other the AccountBalance to assign from
* @return pointer to this AccountBalance
*/
AccountBalance &operator=(const AccountBalance &other);
/**
* Destructor.
*/
~AccountBalance();
/**
/*!
* Sets the currency in use.
* @param currency the new currency (Euro, US Dollar)
*
* \a currency the new currency (Euro, US Dollar)
*/
void setCurrency(const QString &currency);
/**
* Gets the currency.
* @return the currency
/*!
* Returns the currency.
*/
QString currency() const;
/**
/*!
* Sets the balance.
* @param balance
*
* \a balance
*/
void setBalance(const QString &name);
/**
* Gets the balance.
* @return the amount of money in the account
/*!
* Returns the amount of money in the account
*/
QString balance() const;
@@ -19,82 +19,227 @@
namespace Attica
{
/**
* @class Achievement achievement.h <Attica/Achievement>
/*!
* \class Attica::Achievement
* \inheaderfile Attica/Achievement
* \inmodule Attica
*
* Represents an achievement.
* \brief Represents an achievement.
*/
class ATTICA_EXPORT Achievement
{
public:
/*!
*
*/
typedef QList<Achievement> List;
class Parser;
/*!
* \value FlowingAchievement
* \value SteppedAchievement
* \value NamedstepsAchievement
* \value SetAchievement
*/
enum Type {
FlowingAchievement,
SteppedAchievement,
NamedstepsAchievement,
SetAchievement,
};
/*!
*
*/
static Achievement::Type stringToAchievementType(const QString &achievementTypeString);
/*!
*
*/
static QString achievementTypeToString(const Achievement::Type type);
/*!
* \value VisibleAchievement
* \value DependentsAchievement
* \value SecretAchievement
*/
enum Visibility {
VisibleAchievement,
DependentsAchievement,
SecretAchievement,
};
/*!
*
*/
static Achievement::Visibility stringToAchievementVisibility(const QString &achievementVisibilityString);
/*!
*
*/
static QString achievementVisibilityToString(const Achievement::Visibility visibility);
/*!
*
*/
Achievement();
Achievement(const Achievement &other);
Achievement &operator=(const Achievement &other);
~Achievement();
/*!
*
*/
void setId(const QString &id);
/*!
*
*/
QString id() const;
/*!
*
*/
void setContentId(const QString &contentId);
/*!
*
*/
QString contentId() const;
/*!
*
*/
void setName(const QString &name);
/*!
*
*/
QString name() const;
/*!
*
*/
void setDescription(const QString &description);
/*!
*
*/
QString description() const;
/*!
*
*/
void setExplanation(const QString &explanation);
/*!
*
*/
QString explanation() const;
/*!
*
*/
void setPoints(const int points);
/*!
*
*/
int points() const;
/*!
*
*/
void setImage(const QUrl &image);
/*!
*
*/
QUrl image() const;
/*!
*
*/
void setDependencies(const QStringList &dependencies);
/*!
*
*/
void addDependency(const QString &dependency);
/*!
*
*/
void removeDependency(const QString &dependency);
/*!
*
*/
QStringList dependencies() const;
/*!
*
*/
void setVisibility(Achievement::Visibility visibility);
/*!
*
*/
Achievement::Visibility visibility() const;
/*!
*
*/
void setType(Achievement::Type type);
/*!
*
*/
Achievement::Type type() const;
/*!
*
*/
void setOptions(const QStringList &options);
/*!
*
*/
void addOption(const QString &option);
/*!
*
*/
void removeOption(const QString &option);
/*!
*
*/
QStringList options() const;
/*!
*
*/
void setSteps(const int steps);
/*!
*
*/
int steps() const;
/*!
*
*/
void setProgress(const QVariant &progress);
/*!
*
*/
QVariant progress() const;
/*!
*
*/
bool isValid() const;
private:
@@ -19,105 +19,102 @@ class QDateTime;
namespace Attica
{
/**
* @class Activity activity.h <Attica/Activity>
/*!
* \class Attica::Activity
* \inheaderfile Attica/Activity
* \inmodule Attica
*
* Represents a single news item (also known as activity)
* \brief Represents a single news item (also known as activity).
*/
class ATTICA_EXPORT Activity
{
public:
/*!
*
*/
typedef QList<Activity> List;
class Parser;
/**
/*!
* Creates an empty Activity
*/
Activity();
/**
* Copy constructor.
* @param other the Activity to copy from
*/
Activity(const Activity &other);
/**
* Assignment operator.
* @param other the Activity to assign from
* @return pointer to this Activity
*/
Activity &operator=(const Activity &other);
/**
* Destructor.
*/
~Activity();
/**
/*!
* Sets the id of the Activity.
*
* The id uniquely identifies an Activity with the OCS API.
* @param id the new id
*
* \a id the new id
*/
void setId(const QString &id);
/**
/*!
* Gets the id of the Activity.
*
* The id uniquely identifies an Activity with the OCS API.
* @return the id
*
* Returns the id
*/
QString id() const;
/**
/*!
* Sets the user bound to the Activity.
* @param id the new user
*
* \a id the new user
*/
void setAssociatedPerson(const Person &associatedPerson);
/**
* Gets the user bound to the Activity.
* @return the user
/*!
* Returns the user bound to the Activity.
*/
Person associatedPerson() const;
/**
/*!
* Sets the timestamp the Activity has been published.
* @param timestamp the new timestamp
*
* \a timestamp the new timestamp
*/
void setTimestamp(const QDateTime &timestamp);
/**
* Gets the timestamp the Activity has been published.
* @return the timestamp
/*!
* Returns the timestamp the Activity has been published.
*/
QDateTime timestamp() const;
/**
/*!
* Sets the message of the Activity.
* @param message the new message
*
* \a message the new message
*/
void setMessage(const QString &message);
/**
* Gets the message of the Activity.
* @return the message
/*!
* Returns the message of the Activity.
*/
QString message() const;
/**
/*!
* Sets the link to further information about this Activity.
* @param link the new link
*
* \a link the new link
*/
void setLink(const QUrl &link);
/**
* Gets the link to further information about this Activity.
* @return the link
/*!
* Returns the link to further information about this Activity.
*/
QUrl link() const;
/**
/*!
* Checks whether this Activity has an id
* @return @c true if an id has been set, @c false otherwise
* Returns \c true if an id has been set, \c false otherwise
*/
bool isValid() const;
@@ -25,10 +25,12 @@ namespace Attica
{
class PlatformDependent;
/**
* @class BaseJob atticabasejob.h
/*!
* \class Attica::BaseJob
* \inheaderfile attica/atticabasejob.h
* \inmodule Attica
*
* The baseclass for all job classes.
* \brief The baseclass for all job classes.
*/
class ATTICA_EXPORT BaseJob : public QObject
{
@@ -37,38 +39,73 @@ class ATTICA_EXPORT BaseJob : public QObject
public:
~BaseJob() override;
/*!
*
*/
Metadata metadata() const;
/*!
* \brief UserAttribute
* \brief PasswordAttribute
*/
enum NetworkRequestCustomAttributes {
UserAttribute = QNetworkRequest::User + 1,
PasswordAttribute,
};
/**
* @returns whether abort() has been called on the job
/*!
* Returns whether abort() has been called on the job
*
* @since 5.87
* \since 5.87
*/
bool isAborted() const;
public Q_SLOTS:
/*!
*
*/
void start();
/*!
*
*/
void abort();
Q_SIGNALS:
void finished(Attica::BaseJob *job);
protected Q_SLOTS:
/*!
*
*/
void dataFinished();
protected:
BaseJob(PlatformDependent *internals);
/*!
*
*/
void setMetadata(const Metadata &data) const;
/*!
*
*/
virtual QNetworkReply *executeRequest() = 0;
/*!
*
*/
virtual void parse(const QString &xml) = 0;
/*!
*
*/
PlatformDependent *internals();
/*!
*
*/
void setError(int errorCode);
private Q_SLOTS:
@@ -20,44 +20,92 @@
namespace Attica
{
/**
* @class Target buildservice.h <Attica/BuildService>
/*!
* \class Attica::Target
* \inheaderfile Attica/BuildService
* \inmodule Attica
*
* The target in a build service.
* \brief The target in a build service.
*/
struct Target {
/*!
* \variable Attica::Target::id
*/
QString id;
/*!
* \variable Attica::Target::name
*/
QString name;
};
/**
* @class BuildService buildservice.h <Attica/BuildService>
/*!
* \class Attica::BuildService
* \inheaderfile Attica/BuildService
* \inmodule Attica
*
* Represents a build service.
* \brief Represents a build service.
*/
class ATTICA_EXPORT BuildService
{
public:
/*!
*
*/
typedef QList<BuildService> List;
class Parser;
/*!
*
*/
BuildService();
BuildService(const BuildService &other);
BuildService &operator=(const BuildService &other);
~BuildService();
/*!
*
*/
void setId(const QString &);
/*!
*
*/
QString id() const;
/*!
*
*/
void setName(const QString &);
/*!
*
*/
QString name() const;
/*!
*
*/
void setUrl(const QString &);
/*!
*
*/
QString url() const;
/*!
*
*/
void addTarget(const Target &);
/*!
*
*/
QList<Target> targets() const;
/*!
*
*/
bool isValid() const;
private:
@@ -20,51 +20,133 @@
namespace Attica
{
/**
* @class BuildServiceJob buildservicejob.h <Attica/BuildServiceJob>
/*!
* \class Attica::BuildServiceJob
* \inheaderfile Attica/BuildServiceJob
* \inmodule Attica
*
* Represents a build service job.
* \brief Represents a build service job.
*/
class ATTICA_EXPORT BuildServiceJob
{
public:
/*!
*
*/
typedef QList<BuildServiceJob> List;
class Parser;
/*!
*
*/
BuildServiceJob();
BuildServiceJob(const BuildServiceJob &other);
BuildServiceJob &operator=(const BuildServiceJob &other);
~BuildServiceJob();
/*!
*
*/
void setId(const QString &);
/*!
*
*/
QString id() const;
/*!
*
*/
void setName(const QString &);
/*!
*
*/
QString name() const;
/*!
*
*/
void setUrl(const QString &);
/*!
*
*/
QString url() const;
/*!
*
*/
void setProjectId(const QString &);
/*!
*
*/
QString projectId() const;
/*!
*
*/
void setBuildServiceId(const QString &);
/*!
*
*/
QString buildServiceId() const;
/*!
*
*/
void setMessage(const QString &);
/*!
*
*/
QString message() const;
/*!
*
*/
void setTarget(const QString &);
/*!
*
*/
QString target() const;
/*!
*
*/
void setProgress(const qreal);
/*!
*
*/
qreal progress() const;
/*!
*
*/
void setStatus(const int);
/*!
*
*/
bool isRunning() const;
/*!
*
*/
bool isCompleted() const;
/*!
*
*/
bool isFailed() const;
/*!
*
*/
bool isValid() const;
private:
@@ -17,29 +17,58 @@
namespace Attica
{
/**
* @class BuildServiceJobOutput buildservicejoboutput.h <Attica/BuildServiceJobOutput>
/*!
* \class Attica::BuildServiceJobOutput
* \inmodule Attica/BuildServiceJobOutput
* \inmodule Attica
*
* Represents the ouput of a build service job.
* \brief Represents the ouput of a build service job.
*/
class ATTICA_EXPORT BuildServiceJobOutput
{
public:
/*!
*
*/
typedef QList<BuildServiceJobOutput> List;
class Parser;
/*!
*
*/
BuildServiceJobOutput();
BuildServiceJobOutput(const BuildServiceJobOutput &other);
BuildServiceJobOutput &operator=(const BuildServiceJobOutput &other);
~BuildServiceJobOutput();
/*!
*
*/
void setOutput(const QString &output);
/*!
*
*/
QString output() const;
/*!
*
*/
bool isRunning() const;
/*!
*
*/
bool isCompleted() const;
/*!
*
*/
bool isFailed() const;
/*!
*
*/
bool isValid() const;
private:
@@ -15,87 +15,84 @@
namespace Attica
{
/**
* @class Category category.h <Attica/Category>
/*!
* \class Attica::Category
* \inheaderfile Attica/Category
* \inmodule Attica
*
* Represents a single content category
* \brief Represents a single content category.
*/
class ATTICA_EXPORT Category
{
public:
/*!
*
*/
typedef QList<Category> List;
class Parser;
/**
/*!
* Creates an empty Category
*/
Category();
/**
* Copy constructor.
* @param other the Category to copy from
*/
Category(const Category &other);
/**
* Assignment operator.
* @param other the Category to assign from
* @return pointer to this Category
*/
Category &operator=(const Category &other);
/**
* Destructor.
*/
~Category();
/**
/*!
* Sets the id of the Category.
*
* The id uniquely identifies a Category with the OCS API.
* @param id the new id
*
* \a id the new id
*/
void setId(const QString &);
/**
* Gets the id of the Category.
/*!
* Returns the id of the Category.
*
* The id uniquely identifies a Category with the OCS API.
* @return the id
*/
QString id() const;
/**
/*!
* Sets the name of the Category.
* @param name the new name
*
* \a name the new name
*/
void setName(const QString &name);
/**
* Gets the name of the Category.
* @return the name
/*!
* Returns the name of the Category.
*/
QString name() const;
/**
* Checks whether this Category has an id
* @return @c true if an id has been set, @c false otherwise
/*!
* Returns whether this Category has an id
*/
bool isValid() const;
/**
/*!
* Sets the display name of the Category.
*
* This name is guaranteed to be user friendly, while name may be
* internal for the server
* @param name the new name
* @since 5.31
*
* \a name the new name
* \since 5.31
*/
void setDisplayName(const QString &name);
/**
* Gets the display name of the Category.
/*!
* Returns the display name of the Category.
*
* This name is guaranteed to be user friendly, while name may be
* internal for the server
* @return the name
* @since 5.31
*
* \since 5.31
*/
QString displayName() const;
+41 -84
View File
@@ -18,170 +18,127 @@
namespace Attica
{
/**
* @class Cloud cloud.h <Attica/Cloud>
/*!
* \class Attica::Cloud
* \inheaderfile Attica/Cloud
* \inmodule Attica
*
* Represents a cloud service.
* \brief Represents a cloud service.
*/
class ATTICA_EXPORT Cloud
{
public:
/*!
*
*/
typedef QList<Cloud> List;
class Parser;
/**
/*!
* Creates an empty Cloud
*/
Cloud();
/**
* Copy constructor.
* @param other the Cloud to copy from
*/
Cloud(const Cloud &other);
/**
* Assignment operator.
* @param other the Cloud to assign from
* @return pointer to this Activity
*/
Cloud &operator=(const Cloud &other);
/**
* Destructor.
*/
~Cloud();
/**
/*!
* Sets the name of the Cloud service
*
* @param name the new name
* \a name the new name
*/
void setName(const QString &name);
/**
* Gets the name of the Cloud service.
*
* @return the name
/*!
* Returns the name of the Cloud service.
*/
QString name() const;
/**
/*!
* Sets the url of the Cloud service
*
* @param url the new url
* \a url the new url
*/
void setUrl(const QString &url);
/**
* Gets the url of the Cloud service.
*
* @return the url
/*!
* Returns the url of the Cloud service.
*/
QString url() const;
/**
/*!
* Sets the icon of the Cloud service
*
* @param icon the new icon
* \a icon the new icon
*/
void setIcon(const QUrl &icon);
/**
* Gets the icon of the Cloud service.
*
* @return the icon
/*!
* Returns the icon of the Cloud service.
*/
QUrl icon() const;
/**
/*!
* Sets the quota of the Cloud service
*
* @param quota the new quota
* \a quota the new quota
*/
void setQuota(qulonglong quota);
/**
* Gets the quota of the Cloud service.
*
* @return the quota
/*!
* Returns the quota of the Cloud service.
*/
qulonglong quota() const;
/**
/*!
* Sets the free amount of the Cloud service
*
* @param free the new free amount
* \a free the new free amount
*/
void setFree(qulonglong free);
/**
* Gets the free amount of the Cloud service.
*
* @return the free amount
/*!
* Returns the free amount of the Cloud service.
*/
qulonglong free() const;
/**
/*!
* Sets the used amount of the Cloud service
*
* @param used the new used amount
* \a used the new used amount
*/
void setUsed(qulonglong used);
/**
* Gets the used amount of the Cloud service.
*
* @return the used amount
/*!
* Returns the used amount of the Cloud service.
*/
qulonglong used() const;
/**
/*!
* Sets the relative of the Cloud service
*
* @param relative the new relative
* \a relative the new relative
*/
void setRelative(float relative);
/**
* Gets the relative of the Cloud service.
*
* @return the relative
/*!
* Returns the relative of the Cloud service.
*/
float relative() const;
/**
/*!
* Sets the private key of the Cloud service
*
* @param privateKey the new privateKey
* \a privateKey the new privateKey
*/
void setKey(const QString &privateKey);
/**
* Gets the private key of the Cloud service.
*
* @return the private key
/*!
* Returns the private key of the Cloud service.
*/
QString key() const;
private:
@@ -20,62 +20,134 @@
namespace Attica
{
/**
* @class Comment comment.h <Attica/Comment>
/*!
* \class Attica::Comment
* \inheaderfile Attica/Comment
* \inmodule Attica
*
* Represents a comment.
* \brief Represents a comment.
*/
class ATTICA_EXPORT Comment
{
public:
/*!
*
*/
typedef QList<Comment> List;
class Parser;
/*!
* \value ContentComment
* \value ForumComment
* \value KnowledgeBaseComment
* \value EventComment
*/
enum Type {
ContentComment,
ForumComment,
KnowledgeBaseComment,
EventComment,
};
/*!
*
*/
static QString commentTypeToString(const Comment::Type type);
/*!
*
*/
Comment();
Comment(const Comment &other);
Comment &operator=(const Comment &other);
~Comment();
/*!
*
*/
void setId(const QString &id);
/*!
*
*/
QString id() const;
/*!
*
*/
void setSubject(const QString &subject);
/*!
*
*/
QString subject() const;
/*!
*
*/
void setText(const QString &text);
/*!
*
*/
QString text() const;
/*!
*
*/
void setChildCount(const int childCount);
/*!
*
*/
int childCount() const;
/*!
*
*/
void setUser(const QString &user);
/*!
*
*/
QString user() const;
/*!
*
*/
void setDate(const QDateTime &date);
/*!
*
*/
QDateTime date() const;
/**
This is for internal usage, @see Provider::setCommentScore to set scores in comments.
@param score average comment score in scale from 0 to 100
/*!
This is for internal usage, see Provider::setCommentScore to set scores in comments.
\a score average comment score in scale from 0 to 100
*/
void setScore(const int score);
/**
/*!
Returns score of this comment.
@param score average comment score in scale from 0 to 100
\a score average comment score in scale from 0 to 100
*/
int score() const;
/*!
*
*/
void setChildren(QList<Comment> comments);
/*!
*
*/
QList<Comment> children() const;
/*!
*
*/
bool isValid() const;
private:
@@ -15,55 +15,85 @@
namespace Attica
{
/**
* @class Config config.h <Attica/Config>
/*!
* \class Attica::Config
* \inheaderfile Attica/Config
* \inmodule Attica
*
* Represents a server config
* \brief Represents a server config.
*/
class ATTICA_EXPORT Config
{
public:
/*!
*
*/
typedef QList<Config> List;
class Parser;
/**
/*!
* Creates an empty Config
*/
Config();
/**
* Copy constructor.
* @param other the Config to copy from
*/
Config(const Config &other);
/**
* Assignment operator.
* @param other the Config to assign from
* @return pointer to this Config
*/
Config &operator=(const Config &other);
/**
* Destructor.
*/
~Config();
/*!
*
*/
QString contact() const;
/*!
*
*/
QString host() const;
/*!
*
*/
QString version() const;
/*!
*
*/
bool ssl() const;
/*!
*
*/
QString website() const;
/*!
*
*/
void setContact(const QString &contact);
/*!
*
*/
void setHost(const QString &host);
/*!
*
*/
void setSsl(bool ssl);
/*!
*
*/
void setVersion(const QString &version);
/*!
*
*/
void setWebsite(const QString &website);
/**
* Checks whether this config is valid
* @return @c true if config is valid, @c false otherwise
/*!
* Returns whether this config is valid
*/
bool isValid() const;
+111 -80
View File
@@ -24,237 +24,268 @@ class QDateTime;
namespace Attica
{
/**
* @class Content content.h <Attica/Content>
/*!
* \class Attica::Content
* \inheaderfile Attica/Content
* \inmodule Attica
*
* Represents a single content
* \brief Represents a single content.
*/
class ATTICA_EXPORT Content
{
public:
/*!
*
*/
typedef QList<Content> List;
class Parser;
/**
/*!
* Creates an empty Content
*/
Content();
/**
* Copy constructor.
* @param other the Content to copy from
*/
Content(const Content &other);
/**
* Assignment operator.
* @param other the Content to assign from
* @return pointer to this Content
*/
Content &operator=(const Content &other);
/**
* Destructor.
*/
~Content();
/**
/*!
* Sets the id of the Content.
*
* The id uniquely identifies a Content with the OCS API.
* @param id the new id
*
* \a id the new id
*/
void setId(const QString &id);
/**
* Gets the id of the Content.
/*!
* Returns the id of the Content.
*
* The id uniquely identifies a Content with the OCS API.
* @return the id
*/
QString id() const;
/**
/*!
* Sets the name of the Content.
* @param name the new name
*
* \a name the new name
*/
void setName(const QString &name);
/**
* Gets the name of the Content.
* @return the name
/*!
* Returns the name of the Content.
*/
QString name() const;
/**
/*!
* Sets the rating of the Content.
* @param rating the new rating, has to be in the range 0-100
*
* \a rating the new rating, has to be in the range 0-100
*/
void setRating(int rating);
/**
* Gets the rating of the Content.
* @return the rating in the range 0-100
/*!
* Returns the rating of the Content, in the range 0-100
*/
int rating() const;
/**
/*!
* Sets the number of downloads for the Content.
* @param downloads the new number of downloads
*
* \a downloads the new number of downloads
*/
void setDownloads(int downloads);
/**
* Gets the number of downloads for the Content (how often this has been downloaded from the server).
* @return the number of downloads
/*!
* Returns the number of downloads for the Content (how often this has been downloaded from the server).
*/
int downloads() const;
/**
/*!
* Sets the number of comments for the Content.
* @param numComments the new number of downloads
*
* \a numComments the new number of downloads
*/
void setNumberOfComments(int numComments);
/**
* Gets the number of comments for the Content.
* @return the number of comments
/*!
* Returns the number of comments for the Content.
*/
int numberOfComments() const;
/**
/*!
* Sets the date and time the Content has been created.
* @param created the new creation date and time
*
* \a created the new creation date and time
*/
void setCreated(const QDateTime &created);
/**
* Gets the date and time the Content has been created.
* @return the date and time of the last update
/*!
* Returns the date and time the Content has been created.
*/
QDateTime created() const;
/**
/*!
* Sets the time the Content has been last updated.
* @param updated the new date and time of the last update
*
* \a updated the new date and time of the last update
*/
void setUpdated(const QDateTime &updated);
/**
* Gets the date and time the Content has been last updated.
* @return the date and time of the last update
/*!
* Returns the date and time the Content has been last updated.
*/
QDateTime updated() const;
/**
/*!
* A summary description of this content.
*/
QString summary() const;
/**
/*!
* A description of this content.
*/
QString description() const;
/**
/*!
* A webpage with the detailed description of this content.
*/
QUrl detailpage() const;
/*!
*
*/
QString changelog() const;
/*!
*
*/
QString version() const;
/*!
*
*/
QString depend() const;
/**
/*!
Get the details about a download (a content can have multiple links, eg for different distros).
This is not very helpful if we don't know the allowed numbers.
*/
DownloadDescription downloadUrlDescription(int number) const;
/**
/*!
Get all possible downloads.
This is slow searching through lots of strings, so beware and don't call it too often.
*/
QList<DownloadDescription> downloadUrlDescriptions() const;
/**
/*!
Get the details about a home page (a content can have multiple home pages, blog, bugs, ...).
This is not very helpful if we don't know the allowed numbers.
*/
HomePageEntry homePageEntry(int number) const;
/**
/*!
Get all home pages for this content.
This is slow searching through lots of strings, so beware and don't call it too often.
*/
QList<HomePageEntry> homePageEntries();
/*!
*
*/
QString previewPicture(const QString &number = QStringLiteral("1")) const;
/*!
*
*/
QString smallPreviewPicture(const QString &number = QStringLiteral("1")) const;
/*!
*
*/
QString license() const;
/*!
*
*/
QString licenseName() const;
/*!
*
*/
QString author() const;
/**
/*!
Get all icons for this content.
*/
QList<Icon> icons();
/**
/*!
Get all icons for this content.
*/
QList<Icon> icons() const;
/**
/*!
* Set list of icons.
* @param icons list of icons for this content
*
* \a icons list of icons for this content
*/
void setIcons(QList<Icon> icons);
/**
/*!
Get all videos for this content.
*/
QList<QUrl> videos();
/**
/*!
* Set list of videos.
* @param videos list of videos for this content
*
* \a videos list of videos for this content
*/
void setVideos(QList<QUrl> videos);
/**
/*!
* Get all the tags for this content
* @since 5.50
* \since 5.50
*/
QStringList tags() const;
/**
/*!
* Set the list of tags
* @param tags list of tags for this content
* @since 5.50
*
* \a tags list of tags for this content
* \since 5.50
*/
void setTags(const QStringList &tags);
/**
/*!
* Add an attribute that is not included in the basis set of attributes exposed by the Content class.
* If the attribute already exists it gets overwritten.
* @param key the key of the attribute
* @param value the value of the attribute
*
* \a key the key of the attribute
*
* \a value the value of the attribute
*/
void addAttribute(const QString &key, const QString &value);
/**
/*!
* Get an attribute that is not included in the basis set of attributes exposed by the Content class.
* @param key the key of the attribute
* @return the value of the attribute with the specified key, or an empty string, if the key has not been found
*
* \a key the key of the attribute
*
* Returns the value of the attribute with the specified key, or an empty string, if the key has not been found
*/
QString attribute(const QString &key) const;
/**
/*!
* Get all attributes that are not included in the basis set of attributes exposed by the Content class.
* @return the attribute mappings
*/
QMap<QString, QString> attributes() const;
/**
/*!
* Checks whether this Content has an id
* @return @c true if an id has been set, @c false otherwise
* Returns \c true if an id has been set, \c false otherwise
*/
bool isValid() const;
@@ -17,10 +17,12 @@
namespace Attica
{
/**
* @class DeleteJob deletejob.h <Attica/DeleteJob>
/*!
* \class Attica::DeleteJob
* \inheaderfile Attica/DeleteJob
* \inmodule Attica
*
* Represents a delete job.
* \brief Represents a delete job.
*/
class ATTICA_EXPORT DeleteJob : public Attica::BaseJob
{
@@ -17,39 +17,33 @@
namespace Attica
{
/**
@class Distribution distribution.h <Attica/Distribution>
/*!
\class Attica::Distribution
\inheaderfile Attica/Distribution
\inmodule Attica
\brief The Distribution class contains information about one distribution that the server offers.
The Distribution class contains information about one distribution that the server offers.
It consists of an integer id and a distribution name.
*/
class ATTICA_EXPORT Distribution
{
public:
/*!
*
*/
typedef QList<Distribution> List;
class Parser;
/**
/*!
* Creates an empty Distribution
*/
Distribution();
/**
* Copy constructor.
* @param other the Distribution to copy from
*/
Distribution(const Distribution &other);
/**
* Assignment operator.
* @param other the Distribution to assign from
* @return pointer to this Distribution
*/
Distribution &operator=(const Distribution &other);
/**
* Destructor.
*/
~Distribution();
/*
@@ -57,10 +51,24 @@ public:
<name>Ark</name>
*/
/*!
*
*/
uint id() const;
/*!
*
*/
void setId(uint id);
/*!
*
*/
QString name() const;
/*!
*
*/
void setName(const QString &name);
private:
@@ -17,79 +17,197 @@
namespace Attica
{
/**
* @class DownloadDescription downloaddescription.h <Attica/DownloadDescription>
/*!
* \class Attica::DownloadDescription
* \inheaderfile Attica/DownloadDescription
* \inmodule Attica
*
* Represents a download description.
* \brief Represents a download description.
*/
class ATTICA_EXPORT DownloadDescription
{
public:
/*!
* \value FileDownload
* \value LinkDownload
* \value PackageDownload
*/
enum Type {
FileDownload = 0,
LinkDownload,
PackageDownload,
};
/*!
*
*/
DownloadDescription();
DownloadDescription(const DownloadDescription &other);
DownloadDescription &operator=(const DownloadDescription &other);
~DownloadDescription();
/**
/*!
The id of the description - as one Content can have multiple download descriptions associated.
This will simply be 1, 2, ...
*/
int id() const;
/*!
*
*/
Attica::DownloadDescription::Type type() const;
/*!
*
*/
bool hasPrice() const;
/*!
*
*/
QString category() const;
/*!
*
*/
QString name() const;
/*!
*
*/
QString link() const;
/*!
*
*/
QString distributionType() const;
/*!
*
*/
QString priceReason() const;
/*!
*
*/
QString priceAmount() const;
/*!
*
*/
uint size() const;
/*!
*
*/
QString gpgFingerprint() const;
/*!
*
*/
QString gpgSignature() const;
/*!
*
*/
QString packageName() const;
/*!
*
*/
QString repository() const;
/**
/*!
* Get the list of tags for this download description
* @since 5.50
* \since 5.50
*/
QStringList tags() const;
/*!
*
*/
void setId(int id);
/*!
*
*/
void setType(Attica::DownloadDescription::Type type);
/*!
*
*/
void setHasPrice(bool hasPrice);
/*!
*
*/
void setCategory(const QString &category);
/*!
*
*/
void setName(const QString &name);
/*!
*
*/
void setLink(const QString &link);
/*!
*
*/
void setDistributionType(const QString &distributionType);
/*!
*
*/
void setPriceReason(const QString &priceReason);
/*!
*
*/
void setPriceAmount(const QString &priceAmount);
/*!
*
*/
void setSize(uint size);
/*!
*
*/
void setGpgFingerprint(const QString &fingerprint);
/*!
*
*/
void setGpgSignature(const QString &signature);
/*!
*
*/
void setPackageName(const QString &packageName);
/*!
*
*/
void setRepository(const QString &repository);
/**
/*!
* Set the list of tags for this download description
* @since 5.50
* \since 5.50
*/
void setTags(const QStringList &tags);
/**
/*!
* The download version as set on the remote. May be QString() when not set.
* @since 6.5
* \since 6.5
*/
[[nodiscard]] QString version() const;
/**
* @since 6.5
/*!
* \since 6.5
*/
void setVersion(const QString &version);
@@ -18,53 +18,101 @@
namespace Attica
{
/**
* @class DownloadItem downloaditem.h <Attica/DownloadItem>
/*!
* \class Attica::DownloadItem
* \inheaderfile Attica/DownloadItem
* \inmodule Attica
*
* Represents a download item.
* \brief Represents a download item.
*/
class ATTICA_EXPORT DownloadItem
{
public:
/*!
*
*/
typedef QList<DownloadItem> List;
class Parser;
/**
/*!
* Creates an empty DownloadItem
*/
DownloadItem();
/**
* Copy constructor.
* @param other the DownloadItem to copy from
*/
DownloadItem(const DownloadItem &other);
/**
* Assignment operator.
* @param other the DownloadItem to assign from
* @return pointer to this DownloadItem
*/
DownloadItem &operator=(const DownloadItem &other);
/**
* Destructor.
*/
~DownloadItem();
/*!
*
*/
void setUrl(const QUrl &url);
/*!
*
*/
QUrl url() const;
/*!
*
*/
void setMimeType(const QString &mimeType);
/*!
*
*/
QString mimeType() const;
/*!
*
*/
void setPackageName(const QString &packageName);
/*!
*
*/
QString packageName() const;
/*!
*
*/
void setPackageRepository(const QString &packageRepository);
/*!
*
*/
QString packageRepository() const;
/*!
*
*/
void setGpgFingerprint(const QString &gpgFingerprint);
/*!
*
*/
QString gpgFingerprint() const;
/*!
*
*/
void setGpgSignature(const QString &gpgSignature);
/*!
*
*/
QString gpgSignature() const;
/*!
*
*/
void setType(Attica::DownloadDescription::Type type);
/*!
*
*/
Attica::DownloadDescription::Type type();
private:
+75 -81
View File
@@ -19,198 +19,192 @@
namespace Attica
{
/**
* @class Event event.h <Attica/Event>
/*!
* \class Attica::Event
* \inheaderfile Attica/Event
* \inmodule Attica
*
* Represents a single event
* \brief Represents a single event.
*/
class ATTICA_EXPORT Event
{
public:
/*!
*
*/
typedef QList<Event> List;
class Parser;
/**
/*!
* Creates an empty Event
*/
Event();
/**
* Copy constructor.
* @param other the Event to copy from
*/
Event(const Event &other);
/**
* Assignment operator.
* @param other the Event to assign from
* @return pointer to this Event
*/
Event &operator=(const Event &other);
/**
* Destructor.
*/
~Event();
/**
/*!
* Sets the id of the Event.
*
* The id uniquely identifies a Event with the OCS API.
* @param id the new id
*
* \a id the new id
*/
void setId(const QString &id);
/**
* Gets the id of the Event.
/*!
* Returns the id of the Event.
*
* The id uniquely identifies a Event with the OCS API.
* @return the id
*/
QString id() const;
/**
/*!
* Sets the name of the Event.
* @param name the new name
*
* \a name the new name
*/
void setName(const QString &name);
/**
* Gets the name of the Event.
* @return the name
/*!
* Returns the name of the Event.
*/
QString name() const;
/**
/*!
* Sets the description of the Event.
* @param description the new description
*
* \a description the new description
*/
void setDescription(const QString &description);
/**
* Gets the description of the Event.
* @return the description
/*!
* Returns the description of the Event.
*/
QString description() const;
/**
/*!
* Sets the id of the user bound to the Event.
* @param user the new user id
*
* \a user the new user id
*/
void setUser(const QString &user);
/**
* Gets the id of the user bound to the Event.
* @return the user id
/*!
* Returns the id of the user bound to the Event.
*/
QString user() const;
/**
/*!
* Sets the start date of the Event.
* @param startDate the start date
*
* \a startDate the start date
*/
void setStartDate(const QDate &startDate);
/**
* Gets the start date of the Event.
* @return the start date
/*!
* Returns the start date of the Event.
*/
QDate startDate() const;
/**
/*!
* Sets the end date of the Event.
* @param endDate the end date
*
* \a endDate the end date
*/
void setEndDate(const QDate &endDate);
/**
* Gets the start date of the Event.
* @return the end date
/*!
* Returns the start date of the Event.
*/
QDate endDate() const;
/**
/*!
* Sets the latitude of the position the Event takes place.
* @param latitude the new latitude
*/
void setLatitude(qreal latitude);
/**
* Gets the latitude of the position the Event takes place.
* @return the latitude
/*!
* Returns the latitude of the position the Event takes place.
*/
qreal latitude() const;
/**
/*!
* Sets the longitude of the position the Event takes place.
* @param longitude the new latitude
*/
void setLongitude(qreal longitude);
/**
* Gets the longitude of the position the Event takes place.
* @return the latitude
/*!
* Returns the longitude of the position the Event takes place.
*/
qreal longitude() const;
/**
/*!
* Sets the homepage of the Event.
* @param homepage the new homepage
*
* \a homepage the new homepage
*/
void setHomepage(const QUrl &homepage);
/**
* Gets the homepage of the Event.
* @return the homepage
/*!
* Returns the homepage of the Event.
*/
QUrl homepage() const;
/**
/*!
* Sets the country where the Event takes place.
* @param country the new country
*
* \a country the new country
*/
void setCountry(const QString &country);
/**
* Gets the country where the Event takes place.
* @return the country
/*!
* Returns the country where the Event takes place.
*/
QString country() const;
/**
/*!
* Sets the city where the Event takes place.
* @param city the new city
*
* \a city the new city
*/
void setCity(const QString &city);
/**
* Gets the city where the Event takes place.
* @return the city
/*!
* Returns the city where the Event takes place.
*/
QString city() const;
/**
/*!
* Add an attribute that is not included in the basis set of attributes exposed by the Event class.
*
* If the attribute already exists it gets overwritten.
* @param key the key of the attribute
* @param value the value of the attribute
*
* \a key the key of the attribute
*
* \a value the value of the attribute
*/
void addExtendedAttribute(const QString &key, const QString &value);
/**
/*!
* Get an attribute that is not included in the basis set of attributes exposed by the Event class.
* @param key the key of the attribute
* @return the value of the attribute with the specified key, or an empty string, if the key has not been found
*
* \a key the key of the attribute
*
* Returns the value of the attribute with the specified key, or an empty string, if the key has not been found
*/
QString extendedAttribute(const QString &key) const;
/**
/*!
* Get all attributes that are not included in the basis set of attributes exposed by the Event class.
* @return the attribute mappings
*/
QMap<QString, QString> extendedAttributes() const;
/**
/*!
* Checks whether this Event has an id
* @return @c true if an id has been set, @c false otherwise
*/
bool isValid() const;
@@ -16,93 +16,87 @@
namespace Attica
{
/**
* @class Folder folder.h <Attica/Folder>
/*!
* \class Attica::Folder
* \inheaderfile Attica/Folder
* \inmodule Attica
*
* Represents a single mail folder
* \brief Represents a single mail folder.
*/
class ATTICA_EXPORT Folder
{
public:
/*!
*
*/
typedef QList<Folder> List;
class Parser;
/**
/*!
* Creates an empty Folder
*/
Folder();
/**
* Copy constructor.
* @param other the Folder to copy from
*/
Folder(const Folder &other);
/**
* Assignment operator.
* @param other the Folder to assign from
* @return pointer to this Folder
*/
Folder &operator=(const Folder &other);
/**
* Destructor.
*/
~Folder();
/**
/*!
* Sets the id of the Folder.
*
* The id uniquely identifies a Folder with the OCS API.
* @param id the new id
*
* \a id the new id
*/
void setId(const QString &id);
/**
* Gets the id of the Folder.
/*!
* Returns the id of the Folder.
*
* The id uniquely identifies a Folder with the OCS API.
* @return the id
*/
QString id() const;
/**
/*!
* Sets the name of the Folder.
* @param name the new name
*
* \a name the new name
*/
void setName(const QString &name);
/**
* Gets the name of the Folder.
* @return the name
/*!
* Returns the name of the Folder.
*/
QString name() const;
/**
/*!
* Sets the number of messages in the Folder.
* @param messageCount the new number of messages
*
* \a messageCount the new number of messages
*/
void setMessageCount(int messageCount);
/**
* Gets the number of messages in the Folder.
* @return the number of messages
/*!
* Returns the number of messages in the Folder.
*/
int messageCount() const;
/**
/*!
* Sets the type of the folder
* @param type the new type
*
* \a type the new type
*/
void setType(const QString &type);
/**
* Gets the type of the Folder.
* @return the type
/*!
* Returns the type of the Folder.
*/
QString type() const;
/**
/*!
* Checks whether this Folder has an id
* @return @c true if an id has been set, @c false otherwise
*/
bool isValid() const;
@@ -20,46 +20,113 @@
namespace Attica
{
/**
* @class Forum forum.h <Attica/Forum>
/*!
* \class Attica::Forum
* \inheaderfile Attica/Forum
* \inmodule Attica
*
* Represents a forum.
* \brief Represents a forum.
*/
class ATTICA_EXPORT Forum
{
public:
/*!
*
*/
typedef QList<Forum> List;
class Parser;
/*!
*
*/
Forum();
Forum(const Forum &other);
Forum &operator=(const Forum &other);
~Forum();
/*!
*
*/
void setId(const QString &id);
/*!
*
*/
QString id() const;
/*!
*
*/
void setName(const QString &name);
/*!
*
*/
QString name() const;
/*!
*
*/
void setDescription(const QString &description);
/*!
*
*/
QString description() const;
/*!
*
*/
void setDate(const QDateTime &date);
/*!
*
*/
QDateTime date() const;
/*!
*
*/
void setIcon(const QUrl &icon);
/*!
*
*/
QUrl icon() const;
/*!
*
*/
void setChildCount(const int childCount);
/*!
*
*/
int childCount() const;
/*!
*
*/
void setTopics(const int topics);
/*!
*
*/
int topics() const;
/*!
*
*/
void setChildren(QList<Forum> comments);
/*!
*
*/
QList<Forum> children() const;
/*!
*
*/
bool isValid() const;
private:
@@ -17,10 +17,12 @@
namespace Attica
{
/**
* @class GetJob getjob.h <Attica/GetJob>
/*!
* \class Attica::GetJob
* \inheaderfile Attica/GetJob
* \inmodule Attica
*
* Represents a get job.
* \brief Represents a get job.
*/
class ATTICA_EXPORT GetJob : public Attica::BaseJob
{
@@ -17,44 +17,52 @@
namespace Attica
{
/**
@class HomePageEntry homepageentry.h <Attica/HomePageEntry>
/*!
\class Attica::HomePageEntry
\inheaderfile Attica/HomePageEntry
\inmodule Attica
\brief The HomePageEntry class contains information about one home page entry.
The HomePageEntry class contains information about one home page entry.
It consists of a type and a home page url.
*/
class ATTICA_EXPORT HomePageEntry
{
public:
/*!
*
*/
typedef QList<HomePageEntry> List;
/**
/*!
* Creates an empty HomePageEntry
*/
HomePageEntry();
/**
* Copy constructor.
* @param other the HomePageEntry to copy from
*/
HomePageEntry(const HomePageEntry &other);
/**
* Assignment operator.
* @param other the HomePageEntry to assign from
* @return pointer to this HomePageEntry
*/
HomePageEntry &operator=(const HomePageEntry &other);
/**
* Destructor.
*/
~HomePageEntry();
/*!
*
*/
QString type() const;
/*!
*
*/
void setType(const QString &type);
/*!
*
*/
QUrl url() const;
/*!
*
*/
void setUrl(const QUrl &url);
private:
@@ -17,39 +17,33 @@
namespace Attica
{
/**
@class HomePageType homepagetype.h <Attica/HomePageType>
/*!
\class Attica::HomePageType
\inheaderfile Attica/HomePageType
\inmodule Attica
\brief The HomePageType class contains information about one home page type.
The HomePageType class contains information about one home page type.
It consists of an integer id and a home page type name.
*/
class ATTICA_EXPORT HomePageType
{
public:
/*!
*
*/
typedef QList<HomePageType> List;
class Parser;
/**
/*!
* Creates an empty HomePageType
*/
HomePageType();
/**
* Copy constructor.
* @param other the HomePageType to copy from
*/
HomePageType(const HomePageType &other);
/**
* Assignment operator.
* @param other the HomePageType to assign from
* @return pointer to this HomePageType
*/
HomePageType &operator=(const HomePageType &other);
/**
* Destructor.
*/
~HomePageType();
/*
@@ -57,10 +51,24 @@ public:
<name>Blog</name>
*/
/*!
*
*/
uint id() const;
/*!
*
*/
void setId(uint id);
/*!
*
*/
QString name() const;
/*!
*
*/
void setName(const QString &name);
private:
+31 -16
View File
@@ -17,47 +17,62 @@
namespace Attica
{
/**
@class Icon icon.h <Attica/Icon>
/*!
\class Attica::Icon
\inheaderfile Attica/Icon
\inmodule Attica
\brief The Icon class contains information about an icon.
The Icon class contains information about an icon.
It consists of a Url and icon size information.
*/
class ATTICA_EXPORT Icon
{
public:
/*!
*
*/
typedef QList<Icon> List;
/**
/*!
* Creates an empty Icon
*/
Icon();
/**
* Copy constructor.
* @param other the Icon to copy from
*/
Icon(const Icon &other);
/**
* Assignment operator.
* @param other the Icon to assign from
* @return pointer to this Icon
*/
Icon &operator=(const Icon &other);
/**
* Destructor.
*/
~Icon();
/*!
*
*/
QUrl url() const;
/*!
*
*/
void setUrl(const QUrl &url);
/*!
*
*/
uint width() const;
/*!
*
*/
void setWidth(uint width);
/*!
*
*/
uint height() const;
/*!
*
*/
void setHeight(uint height);
private:
@@ -20,15 +20,20 @@ namespace Attica
{
class Provider;
/**
* @class ItemJob itemjob.h <Attica/ItemJob>
/*!
* \class Attica::ItemJob
* \inheaderfile Attica/ItemJob
* \inmodule Attica
*
* Represents an item get job.
* \brief Represents an item get job.
*/
template<class T>
class ATTICA_EXPORT ItemJob : public GetJob
{
public:
/*!
*
*/
T result() const;
private:
@@ -38,15 +43,20 @@ private:
friend class Attica::Provider;
};
/**
* @class ItemDeleteJob itemjob.h <Attica/ItemJob>
/*!
* \class Attica::ItemDeleteJob
* \inheaderfile Attica/ItemJob
* \inmodule Attica
*
* Represents an item delete job.
* \brief Represents an item delete job.
*/
template<class T>
class ATTICA_EXPORT ItemDeleteJob : public DeleteJob
{
public:
/*!
*
*/
T result() const;
private:
@@ -56,15 +66,20 @@ private:
friend class Attica::Provider;
};
/**
* @class ItemPostJob itemjob.h <Attica/ItemJob>
/*!
* \class Attica::ItemPostJob
* \inheaderfile Attica/ItemJob
* \inmodule Attica
*
* Represents an item post job.
* \brief Represents an item post job.
*/
template<class T>
class ATTICA_EXPORT ItemPostJob : public PostJob
{
public:
/*!
*
*/
T result() const;
private:
@@ -76,15 +91,20 @@ private:
friend class Attica::Provider;
};
/**
* @class ItemPutJob itemjob.h <Attica/ItemJob>
/*!
* \class Attica::ItemPutJob
* \inheaderfile Attica/ItemJob
* \inmodule Attica
*
* Represents an item put job.
* \brief Represents an item put job.
*/
template<class T>
class ATTICA_EXPORT ItemPutJob : public PutJob
{
public:
/*!
*
*/
T result() const;
private:
@@ -20,57 +20,148 @@
namespace Attica
{
/**
* @class KnowledgeBaseEntry knowledgebaseentry.h <Attica/KnowledgeBaseEntry>
/*!
* \class Attica::KnowledgeBaseEntry
* \inheaderfile Attica/KnowledgeBaseEntry
* \inmodule Attica
*
* Represents a knowledge base entry.
* \brief Represents a knowledge base entry.
*/
class ATTICA_EXPORT KnowledgeBaseEntry
{
public:
/*!
*
*/
typedef QList<KnowledgeBaseEntry> List;
class Parser;
/*!
*
*/
KnowledgeBaseEntry();
KnowledgeBaseEntry(const KnowledgeBaseEntry &other);
KnowledgeBaseEntry &operator=(const KnowledgeBaseEntry &other);
~KnowledgeBaseEntry();
/*!
*
*/
void setId(QString id);
/*!
*
*/
QString id() const;
/*!
*
*/
void setContentId(int id);
/*!
*
*/
int contentId() const;
/*!
*
*/
void setUser(const QString &user);
/*!
*
*/
QString user() const;
/*!
*
*/
void setStatus(const QString &status);
/*!
*
*/
QString status() const;
/*!
*
*/
void setChanged(const QDateTime &changed);
/*!
*
*/
QDateTime changed() const;
/*!
*
*/
void setName(const QString &name);
/*!
*
*/
QString name() const;
/*!
*
*/
void setDescription(const QString &description);
/*!
*
*/
QString description() const;
/*!
*
*/
void setAnswer(const QString &answer);
/*!
*
*/
QString answer() const;
/*!
*
*/
void setComments(int comments);
/*!
*
*/
int comments() const;
/*!
*
*/
void setDetailPage(const QUrl &detailPage);
/*!
*
*/
QUrl detailPage() const;
/*!
*
*/
void addExtendedAttribute(const QString &key, const QString &value);
/*!
*
*/
QString extendedAttribute(const QString &key) const;
/*!
*
*/
QMap<QString, QString> extendedAttributes() const;
/*!
*
*/
bool isValid() const;
private:
@@ -14,39 +14,33 @@
namespace Attica
{
/**
@class License license.h <Attica/License>
/*!
\class Attica::License
\inheaderfile Attica/License
\inmodule Attica
\brief The License class contains information about one license that the server offers.
The License class contains information about one license that the server offers.
It consists of an integer id, a name and a link to a webpage describing the license.
*/
class ATTICA_EXPORT License
{
public:
/*!
*
*/
typedef QList<License> List;
class Parser;
/**
/*!
* Creates an empty License
*/
License();
/**
* Copy constructor.
* @param other the License to copy from
*/
License(const License &other);
/**
* Assignment operator.
* @param other the License to assign from
* @return pointer to this License
*/
License &operator=(const License &other);
/**
* Destructor.
*/
~License();
/*
@@ -55,13 +49,34 @@ public:
<link>http://dev.perl.org/perl6/rfc/346.html</link>
*/
/*!
*
*/
uint id() const;
/*!
*
*/
void setId(uint id);
/*!
*
*/
QString name() const;
/*!
*
*/
void setName(const QString &name);
/*!
*
*/
QUrl url() const;
/*!
*
*/
void setUrl(const QUrl &url);
private:
@@ -18,15 +18,20 @@ namespace Attica
{
class Provider;
/**
* @class ListJob listjob.h <Attica/ListJob>
/*!
* \class Attica::ListJob
* \inheaderfile Attica/ListJob
* \inmodule Attica
*
* Represents a list job.
* \brief Represents a list job.
*/
template<class T>
class ATTICA_EXPORT ListJob : public GetJob
{
public:
/*!
*
*/
typename T::List itemList() const;
protected:
@@ -18,49 +18,114 @@
namespace Attica
{
/**
* @class Message message.h <Attica/Message>
/*!
* \class Attica::Message
* \inheaderfile Attica/Message
* \inmodule Attica
*
* Represents a message.
* \brief Represents a message.
*/
class ATTICA_EXPORT Message
{
public:
/*!
*
*/
typedef QList<Message> List;
class Parser;
/*!
* \value Unread
* \value Read
* \value Answered
*/
enum Status {
Unread = 0,
Read = 1,
Answered = 2,
};
/*!
*
*/
Message();
Message(const Message &other);
Message &operator=(const Message &other);
~Message();
/*!
*
*/
void setId(const QString &);
/*!
*
*/
QString id() const;
/*!
*
*/
void setFrom(const QString &);
/*!
*
*/
QString from() const;
/*!
*
*/
void setTo(const QString &);
/*!
*
*/
QString to() const;
/*!
*
*/
void setSent(const QDateTime &);
/*!
*
*/
QDateTime sent() const;
/*!
*
*/
void setStatus(Status);
/*!
*
*/
Status status() const;
/*!
*
*/
void setSubject(const QString &);
/*!
*
*/
QString subject() const;
/*!
*
*/
void setBody(const QString &);
/*!
*
*/
QString body() const;
/*!
*
*/
bool isValid() const;
private:
@@ -20,76 +20,128 @@ namespace Attica
{
class BaseJob;
/**
* @class Metadata metadata.h <Attica/Metadata>
/*!
* \class Attica::Metadata
* \inheaderfile Attica/Metadata
* \inmodule Attica
*
* Status messages from the server
* \brief Status messages from the server.
*/
class ATTICA_EXPORT Metadata
{
public:
/*!
*
*/
Metadata();
Metadata(const Metadata &other);
~Metadata();
Metadata &operator=(const Metadata &other);
/*!
* \value NoError
* \value NetworkError
* \value OcsError
*/
enum Error {
NoError = 0,
NetworkError,
OcsError,
};
/**
/*!
* Check if the job was successful.
* @return the error state enum returns the type of error (network or ocs)
*
* Returns the error state enum returns the type of error (network or ocs)
*/
Error error() const;
/*!
*
*/
void setError(Error error);
/**
/*!
* The status as integer.
*
* If the error is an OCS error, refer to http://www.freedesktop.org/wiki/Specifications/open-collaboration-services
* in any other case it is the network return code.
*/
int statusCode() const;
/*!
*
*/
void setStatusCode(int code);
/**
/*!
* The status of the job, for example "Ok"
*/
QString statusString() const;
/*!
*
*/
void setStatusString(const QString &status);
/// An optional additional message from the server
/*!
* An optional additional message from the server
*/
QString message();
/*!
*
*/
void setMessage(const QString &message);
/// The number of items returned by this job (only relevant for list jobs)
/*!
* The number of items returned by this job (only relevant for list jobs)
*/
int totalItems();
/*!
*
*/
void setTotalItems(int items);
/// The number of items per page the server was asked for
/*!
* The number of items per page the server was asked for
*/
int itemsPerPage();
/*!
*
*/
void setItemsPerPage(int itemsPerPage);
/// The resulting ID when a PostJob created a new item.
/*!
* The resulting ID when a PostJob created a new item.
*/
QString resultingId();
/*!
*
*/
void setResultingId(const QString &id);
/**
/*!
* The http headers for the most recent network action in the case of a network error
*
* Use this to further inspect the error condition if the OCS status code and string is
* not enough to work out precisely what has happened (for example in case of a HTTP
* 503 status, which would suggest the service is down for maintenance for an expected
* duration which might be read from the Retry-After header).
* @return The list of raw headers (equivalent to a QNetworkReply::rawHeaderPairs call)
* @since 5.83
*
* Returns the list of raw headers (equivalent to a QNetworkReply::rawHeaderPairs call)
* \since 5.83
*/
QList<QNetworkReply::RawHeaderPair> headers() const;
/**
/*!
* Sets the http headers read by headers()
* @param headers The new list of raw headers
* @since 5.83
*
* \a headers The new list of raw headers
* \since 5.83
*/
void setHeaders(const QList<QNetworkReply::RawHeaderPair> &headers);
@@ -20,57 +20,148 @@
namespace Attica
{
/**
* @class Person person.h <Attica/Person>
/*!
* \class Attica::Person
* \inheaderfile Attica/Person
* \inmodule Attica
*
* Represents a person.
* \brief Represents a person.
*/
class ATTICA_EXPORT Person
{
public:
/*!
*
*/
typedef QList<Person> List;
class Parser;
/*!
*
*/
Person();
Person(const Person &other);
Person &operator=(const Person &other);
~Person();
/*!
*
*/
void setId(const QString &);
/*!
*
*/
QString id() const;
/*!
*
*/
void setFirstName(const QString &);
/*!
*
*/
QString firstName() const;
/*!
*
*/
void setLastName(const QString &);
/*!
*
*/
QString lastName() const;
/*!
*
*/
void setBirthday(const QDate &);
/*!
*
*/
QDate birthday() const;
/*!
*
*/
void setCountry(const QString &);
/*!
*
*/
QString country() const;
/*!
*
*/
void setLatitude(qreal);
/*!
*
*/
qreal latitude() const;
/*!
*
*/
void setLongitude(qreal);
/*!
*
*/
qreal longitude() const;
/*!
*
*/
void setAvatarUrl(const QUrl &);
/*!
*
*/
QUrl avatarUrl() const;
/*!
*
*/
void setHomepage(const QString &);
/*!
*
*/
QString homepage() const;
/*!
*
*/
void setCity(const QString &);
/*!
*
*/
QString city() const;
/*!
*
*/
void addExtendedAttribute(const QString &key, const QString &value);
/*!
*
*/
QString extendedAttribute(const QString &key) const;
/*!
*
*/
QMap<QString, QString> extendedAttributes() const;
/*!
*
*/
bool isValid() const;
private:
@@ -33,24 +33,24 @@ public:
virtual void addDefaultProviderFile(const QUrl &url) = 0;
virtual void removeDefaultProviderFile(const QUrl &url) = 0;
/**
/*!
* Providers are enabled by default. Use this call to disable or enable them later.
*/
virtual void enableProvider(const QUrl &baseUrl, bool enabled) const = 0;
virtual bool isEnabled(const QUrl &baseUrl) const = 0;
/**
/*!
* Asks the PlatformDependent plugin if it have a credentials for baseUrl
*/
virtual bool hasCredentials(const QUrl &baseUrl) const = 0;
/**
/*!
* Asks the PlatformDependent plugin to load credentials from storage,
* and save it in user, password.
*/
virtual bool loadCredentials(const QUrl &baseUrl, QString &user, QString &password) = 0;
/**
/*!
* Asks the PlatformDependent plugin to ask user to login and expects it to be stored in
* user and password.
* TODO KF6: Remove, askForCredentials and loadCredentials is essentially same, loadCredentials
@@ -58,7 +58,7 @@ public:
*/
virtual bool askForCredentials(const QUrl &baseUrl, QString &user, QString &password) = 0;
/**
/*!
* Method to be called by attica to store the user and password in storage used by PlatformDependent
* plugin.
* TODO KF6: Remove, if you let platform plugin ask for credentials, you don't want to save credentials
@@ -4,3 +4,5 @@
#include "platformdependent_v3.h"
Attica::PlatformDependentV3::~PlatformDependentV3() = default;
#include "moc_platformdependent_v3.cpp"
@@ -11,12 +11,14 @@
namespace Attica
{
/**
* @brief Platform integration plugin v3
/*!
* Platform integration plugin v3
*
* Version 3 introduces an async ready state where dependents need to mark themselves ready for requests before
* Attica dispatches them. This in particular allows dependents to carry out async initializations such as loading
* credentials.
*
* \internal
*/
class ATTICA_EXPORT PlatformDependentV3 : public QObject, public PlatformDependentV2
{
@@ -27,14 +29,14 @@ public:
~PlatformDependentV3() override;
Q_DISABLE_COPY_MOVE(PlatformDependentV3)
/**
/*!
* Whether the dependent is ready for use (e.g. has loaded credentials).
* No requests are dispatched to this dependent until the ready change has been reached!
*/
[[nodiscard]] virtual bool isReady() = 0;
Q_SIGNALS:
/**
/*!
* Emit this when the ready state changes. Please note that reverting to not ready results in undefined behavior.
*/
void readyChanged();
@@ -22,7 +22,7 @@ class PostFileDataPrivate;
class PostFileData
{
public:
/**
/*!
* Prepare a QNetworkRequest and QByteArray for sending a HTTP POST.
* Parameters and files can be added with addArgument() and addFile()
* Do not add anything after calling request or data for the first time.
@@ -21,10 +21,12 @@ namespace Attica
{
class Provider;
/**
* @class PostJob postjob.h <Attica/PostJob>
/*!
* \class Attica::PostJob
* \inheaderfile Attica/PostJob
* \inmodule Attica
*
* Represents a post job.
* \brief Represents a post job.
*/
class ATTICA_EXPORT PostJob : public BaseJob
{
@@ -21,44 +21,52 @@
namespace Attica
{
/**
* @class PrivateData privatedata.h <Attica/PrivateData>
/*!
* \class Attica::PrivateData
* \inheaderfile Attica/PrivateData
* \inmodule Attica
*
* Represents private data.
* \brief Represents private data.
*/
class ATTICA_EXPORT PrivateData
{
public:
class Parser;
/*!
*
*/
typedef QList<PrivateData> List; // nonsense
/*!
*
*/
PrivateData();
PrivateData(const PrivateData &other);
PrivateData &operator=(const PrivateData &other);
~PrivateData();
/**
* Sets an attribute referenced by \key to \value.
/*!
* Sets an attribute referenced by \a key to \a value.
*/
void setAttribute(const QString &key, const QString &value);
/**
* Returns an attribute referenced by \key.
/*!
* Returns an attribute referenced by \a key.
*/
QString attribute(const QString &key) const;
/**
/*!
* Sets when an attribute last was changed (mostly for internal use).
*/
void setTimestamp(const QString &key, const QDateTime &when);
/**
/*!
* Returns the date and time an attribute last was changed.
*/
QDateTime timestamp(const QString &key) const;
/**
/*!
* Returns a list of fetched keys.
*/
QStringList keys() const;
@@ -21,57 +21,148 @@
namespace Attica
{
/**
* @class Project project.h <Attica/Project>
/*!
* \class Attica::Project
* \inheaderfile Attica/Project
* \inmodule Attica
*
* Represents a project.
* \brief Represents a project.
*/
class ATTICA_EXPORT Project
{
public:
/*!
*
*/
typedef QList<Project> List;
class Parser;
/*!
*
*/
Project();
Project(const Project &other);
Project &operator=(const Project &other);
~Project();
/*!
*
*/
void setId(const QString &);
/*!
*
*/
QString id() const;
/*!
*
*/
void setName(const QString &);
/*!
*
*/
QString name() const;
/*!
*
*/
void setVersion(const QString &);
/*!
*
*/
QString version() const;
/*!
*
*/
void setUrl(const QString &);
/*!
*
*/
QString url() const;
/*!
*
*/
void setLicense(const QString &);
/*!
*
*/
QString license() const;
/*!
*
*/
void setSummary(const QString &);
/*!
*
*/
QString summary() const;
/*!
*
*/
void setDescription(const QString &);
/*!
*
*/
QString description() const;
/*!
*
*/
void setDevelopers(const QStringList &);
/*!
*
*/
QStringList developers() const;
/*!
*
*/
void setRequirements(const QString &);
/*!
*
*/
QString requirements() const;
/*!
*
*/
void setSpecFile(const QString &);
/*!
*
*/
QString specFile() const;
/*!
*
*/
void addExtendedAttribute(const QString &key, const QString &value);
/*!
*
*/
QString extendedAttribute(const QString &key) const;
/*!
*
*/
QMap<QString, QString> extendedAttributes() const;
/*!
*
*/
bool isValid() const;
private:
File diff suppressed because it is too large Load Diff
@@ -47,6 +47,10 @@ public:
~Private()
{
// do not delete m_internals: it is the root component of a plugin!
// except when it's the fallback implementation, that is not loaded from a plugin
if (dynamic_cast<QtPlatformDependent *>(m_internals)) {
delete m_internals;
}
}
};
@@ -16,25 +16,29 @@
#include "attica_export.h"
#include "provider.h"
/**
* The Attica namespace,
/*!
* \namespace Attica
* \inmodule Attica
* \brief The Attica namespace.
*/
namespace Attica
{
/**
* @class ProviderManager providermanager.h <Attica/ProviderManager>
/*!
* \class Attica::ProviderManager
* \inmodule Attica
* \inheaderfile Attica/ProviderManager
*
* Attica ProviderManager
* \brief Attica ProviderManager.
*
* This class is the primary access to Attica's functions.
* Use the ProviderManager to load Open Collaboration Service providers,
* either the default system ones, or from XML or custom locations.
*
* \section providerfiles Provider Files
* \section1 Provider Files
* Provider files are defined here:
* http://www.freedesktop.org/wiki/Specifications/open-collaboration-services
*
* \section basicuse Basic Use
* \section1 Basic Use
*
* See addProviderFileToDefaultProviders(const QUrl &url) for an example of
* what the provider file sohuld look like. You can add providers to the
@@ -61,31 +65,37 @@ class ATTICA_EXPORT ProviderManager : public QObject
Q_OBJECT
public:
/*!
* \value NoFlags
* \value DisablePlugins
*/
enum ProviderFlag {
NoFlags = 0x0,
DisablePlugins = 0x1,
};
Q_DECLARE_FLAGS(ProviderFlags, ProviderFlag)
/*!
*
*/
ProviderManager(const ProviderFlags &flags = NoFlags);
~ProviderManager() override;
/**
/*!
* Load available providers from configuration
*/
void loadDefaultProviders();
/**
/*!
* The list of provider files that get loaded by loadDefaultProviders.
* Each of these files can contain multiple providers.
* @return list of provider file urls
*/
QList<QUrl> defaultProviderFiles();
/**
* Add a provider file to the default providers (xml that contains provider descriptions).
Provider files contain information about each provider:
<pre>
/*!
Add a provider file to the default providers (xml that contains provider descriptions).
Provider files contain information about each provider:
\badcode
<providers>
<provider>
<id>opendesktop</id>
@@ -106,54 +116,81 @@ public:
</services>
</provider>
</providers>
</pre>
* @param url the url of the provider file
\endcode
\a url the url of the provider file
*/
void addProviderFileToDefaultProviders(const QUrl &url);
/*!
*
*/
void removeProviderFileFromDefaultProviders(const QUrl &url);
/**
/*!
* Suppresses the authentication, so that the application can take care of authenticating itself
*/
void setAuthenticationSuppressed(bool suppressed);
/**
/*!
* Remove all providers and provider files that have been loaded
*/
void clear();
/**
/*!
* Parse a xml file containing a provider description
*/
void addProviderFromXml(const QString &providerXml);
/*!
*
*/
void addProviderFile(const QUrl &file);
/*!
*
*/
QList<QUrl> providerFiles() const;
/**
* @returns all loaded providers
/*!
* Returns all loaded providers
*/
QList<Provider> providers() const;
/**
* @returns whether there's a provider with base url @p provider
/*!
* Returns whether there's a provider with base url \a provider
*/
bool contains(const QUrl &provider) const;
/**
* @returns the provider with @p url base url.
/*!
* Returns the provider with \a url base url.
*/
Provider providerByUrl(const QUrl &url) const;
/**
* @returns the provider for a given provider @p url.
/*!
* Returns the provider for a given provider \a url.
*/
Provider providerFor(const QUrl &url) const;
Q_SIGNALS:
/*!
*
*/
void providerAdded(const Attica::Provider &provider);
/*!
*
*/
void defaultProvidersLoaded();
/*!
*
*/
void authenticationCredentialsMissing(const Provider &provider);
/*!
*
*/
void failedToLoad(const QUrl &provider, QNetworkReply::NetworkError error);
private Q_SLOTS:
@@ -22,50 +22,117 @@
namespace Attica
{
/**
* @class Field publisher.h <Attica/Publisher>
/*!
* \class Attica::Field
* \inheaderfile Attica/Publisher
* \inmodule Attica
*
* Field as set for the class Publisher.
* \brief Field as set for the class Publisher.
*/
struct Field {
/*!
* \variable Attica::Field::type
*/
QString type;
/*!
* \variable Attica::Field::name
*/
QString name;
/*!
* \variable Attica::Field::fieldsize
*/
int fieldsize;
/*!
* \variable Attica::Field::required
*/
bool required;
/*!
* \variable Attica::Field::options
*/
QStringList options;
};
/**
* @class Publisher publisher.h <Attica/Publisher>
/*!
* \class Attica::Publisher
* \inheaderfile Attica/Publisher
* \inmodule Attica
*
* Represents a publisher.
* \brief Represents a publisher.
*/
class ATTICA_EXPORT Publisher
{
public:
/*!
*
*/
typedef QList<Publisher> List;
class Parser;
/*!
*
*/
Publisher();
Publisher(const Publisher &other);
Publisher &operator=(const Publisher &other);
~Publisher();
/*!
*
*/
void setId(const QString &);
/*!
*
*/
QString id() const;
/*!
*
*/
void setName(const QString &);
/*!
*
*/
QString name() const;
/*!
*
*/
void setUrl(const QString &);
/*!
*
*/
QString url() const;
/*!
*
*/
void addField(const Field &);
/*!
*
*/
QList<Field> fields() const;
/*!
*
*/
void addTarget(const Target &);
/*!
*
*/
QList<Target> targets() const;
/*!
*
*/
bool isValid() const;
private:
@@ -15,31 +15,63 @@
namespace Attica
{
/**
* @class PublisherField publisherfield.h <Attica/PublisherField>
/*!
* \class Attica::PublisherField
* \inheaderfile Attica/PublisherField
* \inmodule Attica
*
* Represents a publisher field.
* \brief Represents a publisher field.
*/
class ATTICA_EXPORT PublisherField
{
public:
/*!
*
*/
typedef QList<PublisherField> List;
class Parser;
/*!
*
*/
PublisherField();
PublisherField(const PublisherField &other);
PublisherField &operator=(const PublisherField &other);
~PublisherField();
/*!
*
*/
void setName(const QString &value);
/*!
*
*/
QString name() const;
/*!
*
*/
void setType(const QString &value);
/*!
*
*/
QString type() const;
/*!
*
*/
void setData(const QString &value);
/*!
*
*/
QString data() const;
/*!
*
*/
bool isValid() const;
private:
@@ -21,10 +21,12 @@ namespace Attica
{
class Provider;
/**
* @class PutJob putjob.h <Attica/PutJob>
/*!
* \class Attica::PutJob
* \inheaderfile Attica/PutJob
* \inmodule Attica
*
* Represents a put job.
* \brief Represents a put job.
*/
class ATTICA_EXPORT PutJob : public BaseJob
{
@@ -18,63 +18,17 @@ using namespace Attica;
QtPlatformDependent::QtPlatformDependent()
{
m_threadNamHash[QThread::currentThread()] = new QNetworkAccessManager();
m_ourNamSet.insert(QThread::currentThread());
QMetaObject::invokeMethod(this, &QtPlatformDependent::readyChanged, Qt::QueuedConnection);
}
QtPlatformDependent::~QtPlatformDependent()
{
QThread *currThread = QThread::currentThread();
if (m_threadNamHash.contains(currThread)) {
if (m_ourNamSet.contains(currThread)) {
delete m_threadNamHash[currThread];
}
m_threadNamHash.remove(currThread);
m_ourNamSet.remove(currThread);
}
}
void QtPlatformDependent::setNam(QNetworkAccessManager *nam)
{
if (!nam) {
return;
}
QMutexLocker l(&m_accessMutex);
QThread *currThread = QThread::currentThread();
QNetworkAccessManager *oldNam = nullptr;
if (m_threadNamHash.contains(currThread) && m_ourNamSet.contains(currThread)) {
oldNam = m_threadNamHash[currThread];
}
if (oldNam == nam) {
// If we're being passed back our own NAM, assume they want to
// ensure that we don't delete it out from under them
m_ourNamSet.remove(currThread);
return;
}
m_threadNamHash[currThread] = nam;
m_ourNamSet.remove(currThread);
if (oldNam) {
delete oldNam;
}
}
QNetworkAccessManager *QtPlatformDependent::nam()
{
QMutexLocker l(&m_accessMutex);
QThread *currThread = QThread::currentThread();
if (!m_threadNamHash.contains(currThread)) {
QNetworkAccessManager *newNam = new QNetworkAccessManager();
m_threadNamHash[currThread] = newNam;
m_ourNamSet.insert(currThread);
return newNam;
}
return m_threadNamHash[currThread];
static thread_local QNetworkAccessManager threadLocalManager;
return &threadLocalManager;
}
// TODO actually save and restore providers!
@@ -27,7 +27,6 @@ public:
QtPlatformDependent();
~QtPlatformDependent() override;
void setNam(QNetworkAccessManager *nam) override;
QNetworkAccessManager *nam() override;
QList<QUrl> getDefaultProviderFiles() const override;
@@ -50,8 +49,6 @@ public:
private:
QMutex m_accessMutex;
QHash<QThread *, QNetworkAccessManager *> m_threadNamHash;
QSet<QThread *> m_ourNamSet;
QHash<QString, QPair<QString, QString>> m_passwords;
};
@@ -21,40 +21,93 @@
namespace Attica
{
/**
* @class RemoteAccount remoteaccount.h <Attica/RemoteAccount>
/*!
* \class Attica::RemoteAccount
* \inheaderfile Attica/RemoteAccount
* \inmodule Attica
*
* Represents a remote account.
* \brief Represents a remote account.
*/
class ATTICA_EXPORT RemoteAccount
{
public:
/*!
*
*/
typedef QList<RemoteAccount> List;
class Parser;
/*!
*
*/
RemoteAccount();
RemoteAccount(const RemoteAccount &other);
RemoteAccount &operator=(const RemoteAccount &other);
~RemoteAccount();
/*!
*
*/
void setId(const QString &);
/*!
*
*/
QString id() const;
/*!
*
*/
void setType(const QString &);
/*!
*
*/
QString type() const;
/*!
*
*/
void setRemoteServiceId(const QString &);
/*!
*
*/
QString remoteServiceId() const;
/*!
*
*/
void setData(const QString &);
/*!
*
*/
QString data() const;
/*!
*
*/
void setLogin(const QString &);
/*!
*
*/
QString login() const;
/*!
*
*/
void setPassword(const QString &);
/*!
*
*/
QString password() const;
/*!
*
*/
bool isValid() const;
private:
@@ -17,43 +17,103 @@
namespace Attica
{
/**
* @class Topic topic.h <Attica/Topic>
/*!
* \class Attica::Topic
* \inheaderfile Attica/Topic
* \inmodule Attica::Topic
*
* Represents a topic.
* \brief Represents a topic.
*/
class ATTICA_EXPORT Topic
{
public:
/*!
*
*/
typedef QList<Topic> List;
class Parser;
/*!
*
*/
Topic();
Topic(const Topic &other);
Topic &operator=(const Topic &other);
~Topic();
/*!
*
*/
void setId(const QString &id);
/*!
*
*/
QString id() const;
/*!
*
*/
void setForumId(const QString &forumId);
/*!
*
*/
QString forumId() const;
/*!
*
*/
void setUser(const QString &user);
/*!
*
*/
QString user() const;
/*!
*
*/
void setDate(const QDateTime &date);
/*!
*
*/
QDateTime date() const;
/*!
*
*/
void setSubject(const QString &subject);
/*!
*
*/
QString subject() const;
/*!
*
*/
void setContent(const QString &content);
/*!
*
*/
QString content() const;
/*!
*
*/
void setComments(const int comments);
/*!
*
*/
int comments() const;
/*!
*
*/
bool isValid() const;
private:
@@ -22,7 +22,7 @@
/// @brief The Attica release version number at compile time
#define LIBATTICA_VERSION_RELEASE ${ATTICA_VERSION_PATCH}
/**
/*!
* \brief Create a unique number from the major, minor and release number of a %Attica version
*
* This function can be used for preprocessing. For version information at runtime
@@ -30,7 +30,7 @@
*/
#define LIBATTICA_MAKE_VERSION( a,b,c ) (((a) << 16) | ((b) << 8) | (c))
/**
/*!
* \brief %Attica Version as a unique number at compile time
*
* This macro calculates the %Attica version into a number. It is mainly used
@@ -40,7 +40,7 @@
#define LIBATTICA_VERSION \
LIBATTICA_MAKE_VERSION(LIBATTICA_VERSION_MAJOR,LIBATTICA_VERSION_MINOR,LIBATTICA_VERSION_RELEASE)
/**
/*!
* \brief Check if the %Attica version matches a certain version or is higher
*
* This macro is typically used to compile conditionally a part of code:
@@ -59,28 +59,28 @@
namespace Attica {
/**
/*!
* @brief Returns the major number of Attica's version, e.g.
* 1 for %Attica 1.0.2.
* @return the major version number at runtime.
*/
ATTICA_EXPORT unsigned int versionMajor();
/**
/*!
* @brief Returns the minor number of Attica's version, e.g.
* 0 for %Attica 1.0.2.
* @return the minor version number at runtime.
*/
ATTICA_EXPORT unsigned int versionMinor();
/**
/*!
* @brief Returns the release of Attica's version, e.g.
* 2 for %Attica 1.0.2.
* @return the release number at runtime.
*/
ATTICA_EXPORT unsigned int versionRelease();
/**
/*!
* @brief Returns the %Attica version as string, e.g. "1.0.2".
*
* On contrary to the macro LIBATTICA_VERSION_STRING this function returns
Binary file not shown.
@@ -5,8 +5,12 @@ include:
- project: sysadmin/ci-utilities
file:
- /gitlab-templates/linux-qt6.yml
- /gitlab-templates/linux-qt6-next.yml
- /gitlab-templates/linux-qt6-static.yml
- /gitlab-templates/android-qt6.yml
- /gitlab-templates/freebsd-qt6.yml
- /gitlab-templates/windows-qt6.yml
- /gitlab-templates/alpine-qt6.yml
- /gitlab-templates/xml-lint.yml
- /gitlab-templates/yaml-lint.yml
- /gitlab-templates/oss-fuzz.yml
@@ -1,8 +1,9 @@
Dependencies:
- 'on': ['@all']
'require':
- 'on': ['@all']
'require':
'frameworks/extra-cmake-modules': '@same'
Options:
test-before-installing: True
require-passing-tests-on: [ 'Linux', 'FreeBSD', 'Windows' ]
test-before-installing: True
require-passing-tests-on: ['Linux', 'FreeBSD', 'Windows']
enable-lsan: True
@@ -0,0 +1 @@
6.28.0
@@ -1,17 +1,20 @@
cmake_minimum_required(VERSION 3.16)
cmake_minimum_required(VERSION 3.29)
set(KF_VERSION "6.10.0") # handled by release scripts
set(KF_VERSION "6.28.0") # handled by release scripts
project(KArchive VERSION ${KF_VERSION})
include(FeatureSummary)
find_package(ECM 6.10.0 NO_MODULE)
find_package(ECM 6.28.0 NO_MODULE)
set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules")
feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES)
option(WITH_BZIP2 "Make bzip2 required" ON)
option(WITH_LIBLZMA "Make liblzma required" ON)
option(WITH_OPENSSL "Make openssl required" ON)
option(WITH_LIBZSTD "Make libzstd required" ON)
option(BUILD_FUZZERS "Build KArchive fuzzers" OFF)
set(PKGCONFIG_REQUIRED_TYPE "")
if(WITH_BZIP2)
@@ -26,6 +29,12 @@ else()
set(LIBLZMA_PACKAGE_TYPE "RECOMMENDED")
endif()
if(WITH_OPENSSL)
set(OPENSSL_PACKAGE_TYPE "REQUIRED")
else()
set(OPENSSL_PACKAGE_TYPE "RECOMMENDED")
endif()
if(WITH_LIBZSTD)
set(PKGCONFIG_REQUIRED_TYPE "REQUIRED")
set(LIBZSTD_REQUIRED_TYPE "REQUIRED")
@@ -33,16 +42,18 @@ else()
set(LIBZSTD_REQUIRED_TYPE "")
endif()
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
list(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
include(KDEInstallDirs)
include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
include(KDECMakeSettings)
include(KDEGitCommitHooks)
include(ECMGenerateQDoc)
include(ECMGenerateExportHeader)
include(ECMGeneratePkgConfigFile)
set(REQUIRED_QT_VERSION 6.6.0)
set(REQUIRED_QT_VERSION 6.9.0)
find_package(Qt6Core ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
find_package(ZLIB)
@@ -69,6 +80,14 @@ set_package_properties(LibLZMA PROPERTIES
PURPOSE "Support for xz compressed files and data streams"
)
find_package(OpenSSL)
set_package_properties(OpenSSL PROPERTIES
URL "https://www.openssl.org/"
DESCRIPTION "Support for encrypted archives"
TYPE ${OPENSSL_PACKAGE_TYPE}
PURPOSE "Support for encrypted archives"
)
find_package(PkgConfig ${PKGCONFIG_REQUIRED_TYPE})
if (PkgConfig_FOUND)
@@ -81,15 +100,11 @@ add_feature_info(LibZstd LibZstd_FOUND
include(ECMSetupVersion)
include(ECMGenerateHeaders)
include(ECMQtDeclareLoggingCategory)
include(ECMAddQch)
include(ECMDeprecationSettings)
include(ECMPoQmTools)
set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].")
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(karchive_version_header "${CMAKE_CURRENT_BINARY_DIR}/src/karchive_version.h")
ecm_setup_version(PROJECT
VARIABLE_PREFIX KARCHIVE
@@ -98,7 +113,7 @@ ecm_setup_version(PROJECT
SOVERSION 6)
ecm_set_disabled_deprecation_versions(
QT 6.8
QT 6.11
)
@@ -108,21 +123,15 @@ if (BUILD_TESTING)
add_subdirectory(tests)
endif()
#ecm_install_po_files_as_qm(poqm)
if (BUILD_FUZZERS)
add_subdirectory(autotests/ossfuzz)
endif()
ecm_install_po_files_as_qm(poqm)
# create a Config.cmake and a ConfigVersion.cmake file and install them
set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Archive")
if (BUILD_QCH)
ecm_install_qch_export(
TARGETS KF6Archive_QCH
FILE KF6ArchiveQchTargets.cmake
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
COMPONENT Devel
)
set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6ArchiveQchTargets.cmake\")")
endif()
include(CMakePackageConfigHelpers)
configure_package_config_file(
@@ -146,6 +155,12 @@ install(EXPORT KF6ArchiveTargets
FILE KF6ArchiveTargets.cmake
NAMESPACE KF6::)
ecm_generate_pkgconfig_file(BASE_NAME KF6Archive
INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR}/KF6/KArchive/
DEPS Qt6Core
INSTALL
)
include(ECMFeatureSummary)
ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
@@ -4,10 +4,11 @@ include(CMakeFindDependencyMacro)
find_dependency(Qt6Core @REQUIRED_QT_VERSION@)
set(KArchive_HAVE_ZLIB "@ZLIB_FOUND@")
set(KArchive_HAVE_BZIP2 "@BZIP2_FOUND@")
set(KArchive_HAVE_LZMA "@LIBLZMA_FOUND@")
set(KArchive_HAVE_ZSTD "@LibZstd_FOUND@")
set(KArchive_HAVE_ZLIB "@ZLIB_FOUND@")
set(KArchive_HAVE_BZIP2 "@BZIP2_FOUND@")
set(KArchive_HAVE_LZMA "@LIBLZMA_FOUND@")
set(KArchive_HAVE_OPENSSL "@OpenSSL_FOUND@")
set(KArchive_HAVE_ZSTD "@LibZstd_FOUND@")
if (NOT @BUILD_SHARED_LIBS@)
if (@ZLIB_FOUND@)
@@ -22,6 +23,10 @@ if (NOT @BUILD_SHARED_LIBS@)
find_dependency(LibLZMA)
endif()
if (@OpenSSL_FOUND@)
find_dependency(OpenSSL)
endif()
if (@LibZstd_FOUND@)
find_package(PkgConfig)
pkg_check_modules(LibZstd IMPORTED_TARGET "libzstd")
@@ -29,4 +34,3 @@ if (NOT @BUILD_SHARED_LIBS@)
endif()
include("${CMAKE_CURRENT_LIST_DIR}/KF6ArchiveTargets.cmake")
@PACKAGE_INCLUDE_QCHTARGETS@
@@ -1,5 +1,4 @@
remove_definitions(-DQT_NO_CAST_FROM_ASCII)
include(ECMAddTests)
find_package(Qt6Test ${REQUIRED_QT_VERSION} CONFIG QUIET)
@@ -22,14 +21,38 @@ target_link_libraries(kfiltertest ZLIB::ZLIB)
ecm_add_test(
klimitediodevicetest.cpp
../src/klimitediodevice.cpp
../src/klimitediodevice.cpp
TEST_NAME klimitediodevicetest
LINK_LIBRARIES Qt6::Test
LINK_LIBRARIES Qt6::Test
)
target_include_directories(klimitediodevicetest
PRIVATE $<TARGET_PROPERTY:KF6Archive,INTERFACE_INCLUDE_DIRECTORIES>)
PRIVATE $<TARGET_PROPERTY:KF6Archive,INTERFACE_INCLUDE_DIRECTORIES>)
target_compile_definitions(klimitediodevicetest PRIVATE TEST_MODE)
########## kcompressiondevicetest ##############
function(check_and_create_tar help_option program_name compression_option extension)
# cmake doesn't support creating zstd/lzip files so run tar directly
# which is a bit annoying since not all tars support zstd/lzip either
# so we first check that the installed tar has the --zstd/--lzip
# option and then we check that the zstd/lzip binary is available
execute_process(COMMAND tar --help OUTPUT_VARIABLE TAR_OUTPUT)
if (TAR_OUTPUT MATCHES ${help_option})
find_program(${program_name}_PROGRAM_FOUND ${program_name})
if (${program_name}_PROGRAM_FOUND)
add_custom_command(TARGET kcompressiondevicetest POST_BUILD
COMMAND tar ${compression_option} -cf
${testDir}/kcompressiondevice_test.tar.${extension} examples
WORKING_DIRECTORY ${topdir})
string(TOUPPER ${program_name} program_name_upper)
target_compile_definitions(kcompressiondevicetest PRIVATE HAVE_${program_name_upper}_SUPPORT_FILE)
endif()
endif()
endfunction()
if (Qt6Network_FOUND)
ecm_add_test(
kcompressiondevicetest.cpp
@@ -53,25 +76,11 @@ if (Qt6Network_FOUND)
COMMAND ${CMAKE_COMMAND} -E tar cJf
${testDir}/kcompressiondevice_test.tar.xz examples
WORKING_DIRECTORY ${topdir})
check_and_create_tar(".*--lzip.*" "lzip" "--lzip" "lz")
endif()
if (LibZstd_FOUND)
# cmake doesn't support creating zstd files so run tar directly
# which is a bit annoying since not all tars support zstd either
# so we first check that the installed tar has the --zstd
# option and then we check that the zstd binary is available
execute_process(COMMAND tar --help OUTPUT_VARIABLE TAR_OUTPUT)
if (TAR_OUTPUT MATCHES ".*--zstd.*")
find_program(ZSTD_FOUND zstd)
if (ZSTD_FOUND)
add_custom_command(TARGET kcompressiondevicetest POST_BUILD
COMMAND tar --zstd -cf
${testDir}/kcompressiondevice_test.tar.zst examples
WORKING_DIRECTORY ${topdir})
target_compile_definitions(kcompressiondevicetest PRIVATE HAVE_ZSTD_SUPPORT_FILE)
endif()
endif()
check_and_create_tar(".*--zstd.*" "zstd" "--zstd" "zst")
endif()
endif()
@@ -6,12 +6,16 @@
*/
#include "karchivetest.h"
#include "ossfuzz/karchive_fuzzer_common.h"
#include <k7zip.h>
#include <kar.h>
#include <krcc.h>
#include <ktar.h>
#include <kzip.h>
#include <QBuffer>
#include <QDebug>
#include <QFileInfo>
#include <QRegularExpression>
@@ -38,9 +42,9 @@ QTEST_MAIN(KArchiveTest)
static const int SIZE1 = 100;
/**
/*!
* Writes test fileset specified archive
* @param archive archive
* \a archive archive
*/
static void writeTestFilesToArchive(KArchive *archive)
{
@@ -159,9 +163,9 @@ static QStringList recursiveListEntries(const KArchiveDirectory *dir, const QStr
return ret;
}
/**
/*!
* Verifies contents of specified archive against test fileset
* @param archive archive
* \a archive archive
*/
static void testFileData(KArchive *archive)
{
@@ -328,7 +332,7 @@ static void testCopyTo(KArchive *archive)
QVERIFY(QFileInfo(dirName + "executableAll").permissions() & (QFileDevice::ExeOwner | QFileDevice::ExeGroup | QFileDevice::ExeOther));
}
/**
/*!
* Prepares dataset for archive filter tests
*/
void KArchiveTest::setupData()
@@ -345,6 +349,8 @@ void KArchiveTest::setupData()
#if HAVE_XZ_SUPPORT
QTest::newRow(".tar.lzma") << "karchivetest.tar.lzma"
<< "application/x-lzma";
QTest::newRow(".tar.lz") << "karchivetest.tar.lz"
<< "application/x-lzip";
QTest::newRow(".tar.xz") << "karchivetest.tar.xz"
<< "application/x-xz";
#endif
@@ -354,8 +360,8 @@ void KArchiveTest::setupData()
#endif
}
/**
* @see QTest::initTestCase()
/*!
* \sa QTest::initTestCase()
*/
void KArchiveTest::initTestCase()
{
@@ -401,7 +407,7 @@ void KArchiveTest::testCreateTar_data()
QTest::newRow(".tar") << "karchivetest.tar";
}
/**
/*!
* @dataProvider testCreateTar_data
*/
void KArchiveTest::testCreateTar()
@@ -430,7 +436,7 @@ void KArchiveTest::testCreateTar()
// QFile::remove(fileName);
}
/**
/*!
* @dataProvider setupData
*/
void KArchiveTest::testCreateTarXXX()
@@ -472,7 +478,7 @@ void KArchiveTest::testCreateTarXXX()
QVERIFY(dt.secsTo(expectedDateTime) <= 2); \
}
/**
/*!
* @dataProvider setupData
*/
void KArchiveTest::testReadTar() // testCreateTarGz must have been run first.
@@ -544,7 +550,7 @@ void KArchiveTest::testReadTar() // testCreateTarGz must have been run first.
}
}
/**
/*!
* This tests the decompression using kfilterdev, basically.
* To debug KTarPrivate::fillTempFile().
*
@@ -576,7 +582,7 @@ void KArchiveTest::testUncompress()
QVERIFY(totalSize > 26000); // 27648 here when using gunzip
}
/**
/*!
* @dataProvider setupData
*/
void KArchiveTest::testTarFileData()
@@ -592,7 +598,7 @@ void KArchiveTest::testTarFileData()
QVERIFY(tar.close());
}
/**
/*!
* @dataProvider setupData
*/
void KArchiveTest::testTarCopyTo()
@@ -608,21 +614,35 @@ void KArchiveTest::testTarCopyTo()
QVERIFY(tar.close());
}
/**
/*!
* @dataProvider setupData
*/
void KArchiveTest::testTarReadWrite()
{
QFETCH(QString, fileName);
QFETCH(QString, mimeType);
// testCreateTar must have been run first.
KTar tar(fileName);
QVERIFY(tar.open(QIODevice::ReadWrite));
{
KTar tar(fileName);
QVERIFY(tar.open(QIODevice::ReadWrite));
testReadWrite(&tar);
testFileData(&tar);
testReadWrite(&tar);
testFileData(&tar);
QVERIFY(tar.close());
QVERIFY(tar.close());
}
{
// Now test with KCompressionDevice
KCompressionDevice kd(std::make_unique<QFile>(fileName), KCompressionDevice::compressionTypeForMimeType(mimeType));
KTar tar(&kd);
QVERIFY(tar.open(QIODevice::ReadOnly));
testFileData(&tar);
QVERIFY(tar.close());
}
// Reopen it and check it
{
@@ -646,7 +666,7 @@ void KArchiveTest::testTarMaxLength_data()
QTest::newRow("maxlength.tar.gz") << "karchivetest-maxlength.tar.gz";
}
/**
/*!
* @dataProvider testTarMaxLength_data
*/
void KArchiveTest::testTarMaxLength()
@@ -698,8 +718,11 @@ void KArchiveTest::testTarMaxLength()
void KArchiveTest::testTarGlobalHeader()
{
KTar tar(QFINDTESTDATA(QLatin1String("global_header_test.tar.gz")));
QVERIFY2(tar.open(QIODevice::ReadOnly), "global_header_test.tar.gz");
const QString fileName = QFINDTESTDATA("data/global_header_test.tar.gz");
QVERIFY(!fileName.isEmpty());
KTar tar(fileName);
QVERIFY2(tar.open(QIODevice::ReadOnly), "data/global_header_test.tar.gz");
const KArchiveDirectory *dir = tar.directory();
QVERIFY(dir != nullptr);
@@ -716,8 +739,11 @@ void KArchiveTest::testTarGlobalHeader()
void KArchiveTest::testTarPrefix()
{
KTar tar(QFINDTESTDATA(QLatin1String("tar_prefix_test.tar.gz")));
QVERIFY2(tar.open(QIODevice::ReadOnly), "tar_prefix_test.tar.gz");
const QString fileName = QFINDTESTDATA("data/tar_prefix_test.tar.gz");
QVERIFY(!fileName.isEmpty());
KTar tar(fileName);
QVERIFY2(tar.open(QIODevice::ReadOnly), "data/tar_prefix_test.tar.gz");
const KArchiveDirectory *dir = tar.directory();
QVERIFY(dir != nullptr);
@@ -748,8 +774,11 @@ void KArchiveTest::testTarPrefix()
void KArchiveTest::testTarDirectoryForgotten()
{
KTar tar(QFINDTESTDATA(QLatin1String("tar_directory_forgotten.tar.gz")));
QVERIFY2(tar.open(QIODevice::ReadOnly), "tar_directory_forgotten.tar.gz");
const QString fileName = QFINDTESTDATA("data/tar_directory_forgotten.tar.gz");
QVERIFY(!fileName.isEmpty());
KTar tar(fileName);
QVERIFY2(tar.open(QIODevice::ReadOnly), "data/tar_directory_forgotten.tar.gz");
const KArchiveDirectory *dir = tar.directory();
QVERIFY(dir != nullptr);
@@ -766,7 +795,10 @@ void KArchiveTest::testTarDirectoryForgotten()
void KArchiveTest::testTarEmptyFileMissingDir()
{
KTar tar(QFINDTESTDATA(QLatin1String("tar_emptyfile_missingdir.tar.gz")));
const QString fileName = QFINDTESTDATA("data/tar_emptyfile_missingdir.tar.gz");
QVERIFY(!fileName.isEmpty());
KTar tar(fileName);
QVERIFY(tar.open(QIODevice::ReadOnly));
const KArchiveDirectory *dir = tar.directory();
@@ -784,7 +816,10 @@ void KArchiveTest::testTarEmptyFileMissingDir()
void KArchiveTest::testTarRootDir() // bug 309463
{
KTar tar(QFINDTESTDATA(QLatin1String("tar_rootdir.tar.gz")));
const QString fileName = QFINDTESTDATA("data/tar_rootdir.tar.gz");
QVERIFY(!fileName.isEmpty());
KTar tar(fileName);
QVERIFY2(tar.open(QIODevice::ReadOnly), qPrintable(tar.fileName()));
const KArchiveDirectory *dir = tar.directory();
@@ -839,8 +874,10 @@ void KArchiveTest::testTarShortNonASCIINames() // bug 266141
#ifdef Q_OS_WIN
QSKIP("tar test file encoding not windows compatible");
#endif
const QString fileName = QFINDTESTDATA("data/tar_non_ascii_file_name.tar.gz");
QVERIFY(!fileName.isEmpty());
KTar tar(QFINDTESTDATA(QString("tar_non_ascii_file_name.tar.gz")));
KTar tar(fileName);
QVERIFY(tar.open(QIODevice::ReadOnly));
const KArchiveDirectory *dir = tar.directory();
@@ -857,7 +894,10 @@ void KArchiveTest::testTarShortNonASCIINames() // bug 266141
void KArchiveTest::testTarDirectoryTwice() // bug 206994
{
KTar tar(QFINDTESTDATA(QLatin1String("tar_directory_twice.tar.gz")));
const QString fileName = QFINDTESTDATA("data/tar_directory_twice.tar.gz");
QVERIFY(!fileName.isEmpty());
KTar tar(fileName);
QVERIFY(tar.open(QIODevice::ReadOnly));
const KArchiveDirectory *dir = tar.directory();
@@ -873,6 +913,15 @@ void KArchiveTest::testTarDirectoryTwice() // bug 206994
QCOMPARE(listing.count(), 3);
}
void KArchiveTest::testTarGzHugeMemoryUsage()
{
const QString filePath = QFINDTESTDATA("data/ossfuzz_testcase_6581632288227328.tar.gz");
QVERIFY(!filePath.isEmpty());
KTar tar(filePath);
QVERIFY(!tar.open(QIODevice::ReadOnly));
}
void KArchiveTest::testTarIgnoreRelativePathOutsideArchive()
{
#if HAVE_BZIP2_SUPPORT
@@ -880,7 +929,10 @@ void KArchiveTest::testTarIgnoreRelativePathOutsideArchive()
// outside of the archive directory. For security reasons extractions should only
// be allowed within the extracted directory as long as not specifically asked.
KTar tar(QFINDTESTDATA(QLatin1String("tar_relative_path_outside_archive.tar.bz2")));
const QString fileName = QFINDTESTDATA("data/tar_relative_path_outside_archive.tar.bz2");
QVERIFY(!fileName.isEmpty());
KTar tar(fileName);
QVERIFY(tar.open(QIODevice::ReadOnly));
const KArchiveDirectory *dir = tar.directory();
@@ -895,6 +947,36 @@ void KArchiveTest::testTarIgnoreRelativePathOutsideArchive()
QSKIP("Test data is in bz2 format and karchive is built without bzip2 format");
#endif
}
void KArchiveTest::testTarDeepDirHierarchy()
{
#if HAVE_XZ_SUPPORT
const QString fileName = QFINDTESTDATA("data/tar_deep_hierarchy.tar.xz");
QVERIFY(!fileName.isEmpty());
KTar tar(fileName);
QVERIFY(tar.open(QIODevice::ReadOnly));
traverseArchive(tar.directory());
#else
QSKIP("Test data is in xz format and karchive is built without xz format");
#endif
}
void KArchiveTest::benchmarkTarDeepDirHierarchy()
{
#if HAVE_XZ_SUPPORT
const QString fileName = QFINDTESTDATA("data/tar_deep_hierarchy.tar.xz");
QVERIFY(!fileName.isEmpty());
QBENCHMARK {
KTar tar(fileName);
QVERIFY(tar.open(QIODevice::ReadOnly));
}
#else
QSKIP("Test data is in xz format and karchive is built without xz format");
#endif
}
///
static const char s_zipFileName[] = "karchivetest.zip";
@@ -1192,7 +1274,7 @@ void KArchiveTest::testZipReadRedundantDataDescriptor_data()
QTest::newRow("withSignature") << "data/redundantDataDescriptorsWithSignature.zip";
}
/**
/*!
* @dataProvider testZipReadRedundantDataDescriptor_data
*/
void KArchiveTest::testZipReadRedundantDataDescriptor()
@@ -1226,7 +1308,7 @@ void KArchiveTest::testZipReadRedundantDataDescriptor()
void KArchiveTest::testZipDirectoryPermissions()
{
QString fileName = QFINDTESTDATA("data/dirpermissions.zip");
const QString fileName = QFINDTESTDATA("data/dirpermissions.zip");
QVERIFY(!fileName.isEmpty());
KZip zip(fileName);
@@ -1239,7 +1321,7 @@ void KArchiveTest::testZipDirectoryPermissions()
void KArchiveTest::testZipWithinZip()
{
QString fileName = QFINDTESTDATA("data/zip_within_zip.zip");
const QString fileName = QFINDTESTDATA("data/zip_within_zip.zip");
QVERIFY(!fileName.isEmpty());
KZip zip(fileName);
@@ -1252,9 +1334,34 @@ void KArchiveTest::testZipWithinZip()
QCOMPARE(listing[1], QString::fromUtf8("mode=100644 path=test.epub type=file size=525154"));
}
void KArchiveTest::testZipPrependedData()
{
const QString fileName = QFINDTESTDATA("data/zip64_datadescriptor.zip");
QVERIFY(!fileName.isEmpty());
QFile origFile(fileName);
QVERIFY2(origFile.open(QIODevice::ReadOnly), qPrintable(origFile.errorString()));
auto zipData = origFile.readAll();
QVERIFY(zipData.startsWith("PK"));
zipData.insert(0, QByteArrayLiteral("PrependedPK\x01\x02Garbage"));
QBuffer zipBuffer(&zipData);
KZip zip(&zipBuffer);
QVERIFY2(zip.open(QIODevice::ReadOnly), qPrintable(zip.errorString()));
QCOMPARE(zip.directory()->entries().size(), 1);
QCOMPARE(zip.directory()->entries(), QList{QStringLiteral("-")});
auto entry = zip.directory()->file(QStringLiteral("-"));
QVERIFY(entry);
QCOMPARE(entry->size(), 4);
QCOMPARE(entry->data(), "abcd");
}
void KArchiveTest::testZipUnusualButValid()
{
QString fileName = QFINDTESTDATA("data/unusual_but_valid_364071.zip");
const QString fileName = QFINDTESTDATA("data/unusual_but_valid_364071.zip");
QVERIFY(!fileName.isEmpty());
KZip zip(fileName);
@@ -1267,7 +1374,7 @@ void KArchiveTest::testZipUnusualButValid()
void KArchiveTest::testZipDuplicateNames()
{
QString fileName = QFINDTESTDATA("data/out.epub");
const QString fileName = QFINDTESTDATA("data/zip_duplicate_names.zip");
QVERIFY(!fileName.isEmpty());
KZip zip(fileName);
@@ -1286,7 +1393,7 @@ void KArchiveTest::testZipDuplicateNames()
void KArchiveTest::testZip64()
{
QString fileName = QFINDTESTDATA("data/zip64.pkpass");
const QString fileName = QFINDTESTDATA("data/zip64.pkpass");
QVERIFY(!fileName.isEmpty());
KZip zip(fileName);
@@ -1306,9 +1413,233 @@ void KArchiveTest::testZip64()
QCOMPARE(entry->position(), 8943);
}
void KArchiveTest::testZipReopenWithoutDoubleDeletion()
{
// testCreateZip must have been run first.
KZip zip(s_zipFileName);
QVERIFY(zip.open(QIODevice::ReadOnly));
QVERIFY(zip.close());
QVERIFY(zip.open(QIODevice::WriteOnly));
QVERIFY(zip.close()); // should not crash
}
void KArchiveTest::testZip64NestedStored()
{
const QString fileName = QFINDTESTDATA("data/dirpermissions.zip");
QVERIFY(!fileName.isEmpty());
QFile nested(fileName);
QVERIFY(nested.open(QIODevice::ReadOnly));
auto nestedData = nested.readAll();
QBuffer archive;
KZip writer(&archive);
QVERIFY(writer.open(QIODevice::WriteOnly));
// Write nested zip file
writer.setCompression(KZip::NoCompression);
QVERIFY(writer.prepareWriting(QStringLiteral("nested.zip"), {}, {}, nestedData.size()));
QVERIFY(writer.writeData(nestedData));
QVERIFY(writer.finishWriting(nestedData.size()));
QVERIFY(writer.close());
KZip reader(&archive);
QVERIFY(reader.open(QIODevice::ReadOnly));
QCOMPARE(reader.directory()->entries().size(), 1);
QCOMPARE(reader.directory()->entries(), QList{QStringLiteral("nested.zip")});
auto entry = reader.directory()->file(QStringLiteral("nested.zip"));
QVERIFY(entry);
QCOMPARE(entry->size(), 430);
QCOMPARE(entry->size(), nestedData.size());
QVERIFY(reader.close());
}
void KArchiveTest::testZip64NestedStoredStreamed()
{
const QString fileName = QFINDTESTDATA("data/zip64_nested_stored_streamed.zip");
QVERIFY(!fileName.isEmpty());
KZip zip(fileName);
QVERIFY2(zip.open(QIODevice::ReadOnly), qPrintable(zip.errorString()));
QCOMPARE(zip.directory()->entries().size(), 2);
auto entry = zip.directory()->file(QStringLiteral("zip64_datadescriptor.zip"));
QVERIFY(entry);
QCOMPARE(entry->size(), 150);
entry = zip.directory()->file(QStringLiteral("zip64_end_of_central_directory.zip"));
QVERIFY(entry);
QCOMPARE(entry->size(), 200);
QVERIFY(zip.close());
}
void KArchiveTest::testZip64EndOfCentralDirectory()
{
const QString fileName = QFINDTESTDATA("data/zip64_end_of_central_directory.zip");
QVERIFY(!fileName.isEmpty());
KZip zip(fileName);
QVERIFY2(zip.open(QIODevice::ReadOnly), qPrintable(zip.errorString()));
QCOMPARE(zip.directory()->entries().size(), 1);
QCOMPARE(zip.directory()->entries(), QList{QStringLiteral("-")});
auto entry = zip.directory()->file(QStringLiteral("-"));
QVERIFY(entry);
QCOMPARE(entry->size(), 4);
QVERIFY(zip.close());
}
void KArchiveTest::testZip64DataDescriptor()
{
const QString fileName = QFINDTESTDATA("data/zip64_datadescriptor.zip");
QVERIFY(!fileName.isEmpty());
KZip zip(fileName);
QVERIFY2(zip.open(QIODevice::ReadOnly), qPrintable(zip.errorString()));
QCOMPARE(zip.directory()->entries().size(), 1);
QCOMPARE(zip.directory()->entries(), QList{QStringLiteral("-")});
auto entry = zip.directory()->file(QStringLiteral("-"));
QVERIFY(entry);
QCOMPARE(entry->size(), 4);
QCOMPARE(entry->data(), "abcd");
QVERIFY(zip.close());
}
void KArchiveTest::testZip64ExtraZip64Size()
{
const QString fileName = QFINDTESTDATA("data/zip64_extra_zip64_size.zip.gz");
QVERIFY(!fileName.isEmpty());
KCompressionDevice gzfilter(fileName);
QVERIFY2(gzfilter.open(QIODevice::ReadOnly), qPrintable(gzfilter.errorString()));
// Get the actual test data, which is compressed so the repository does
// not have to store 4 MByte of binary data
auto zipData = gzfilter.read(5 * 1000 * 1000);
QVERIFY(zipData.startsWith("PK"));
QBuffer zipBuffer(&zipData);
KZip zip(&zipBuffer);
QVERIFY2(zip.open(QIODevice::ReadOnly), qPrintable(zip.errorString()));
QCOMPARE(zip.directory()->entries().size(), 1);
QCOMPARE(zip.directory()->entries(), QList{QStringLiteral("-")});
auto entry = zip.directory()->file(QStringLiteral("-"));
QVERIFY(entry);
QCOMPARE(entry->size(), 4404019208);
auto readDev = std::unique_ptr<QIODevice>(entry->createDevice());
auto head = readDev->read(8);
QCOMPARE(head, QByteArrayLiteral("abcd\0\0\0\0"));
readDev->seek(entry->size() - 8);
auto tail = readDev->read(8);
QCOMPARE(tail, QByteArrayLiteral("\0\0\0\0ABCD"));
QVERIFY(zip.close());
}
void KArchiveTest::testZip64ExtraZip64SizeFirst()
{
const QString fileName = QFINDTESTDATA("data/zip64_extra_zip64_size_first.zip.gz");
QVERIFY(!fileName.isEmpty());
KCompressionDevice gzfilter(fileName);
QVERIFY2(gzfilter.open(QIODevice::ReadOnly), qPrintable(gzfilter.errorString()));
// Get the actual test data, which is compressed so the repository does
// not have to store 4 MByte of binary data
auto zipData = gzfilter.read(5 * 1000 * 1000);
QVERIFY(zipData.startsWith("PK"));
QBuffer zipBuffer(&zipData);
KZip zip(&zipBuffer);
QEXPECT_FAIL("", "Zip64 extra at front incorrectly parsed", Abort);
QVERIFY2(zip.open(QIODevice::ReadOnly), qPrintable(zip.errorString()));
QCOMPARE(zip.directory()->entries().size(), 2);
QCOMPARE(zip.directory()->entries(), (QList{QStringLiteral("4200M.bin"), QStringLiteral("4.bin")}));
auto entry = zip.directory()->file(QStringLiteral("4200M.bin"));
QVERIFY(entry);
QCOMPARE(entry->size(), 4404019208);
auto readDev = std::unique_ptr<QIODevice>(entry->createDevice());
auto head = readDev->read(8);
QCOMPARE(head, QByteArrayLiteral("abcd\0\0\0\0"));
readDev->seek(entry->size() - 8);
auto tail = readDev->read(8);
QCOMPARE(tail, QByteArrayLiteral("\0\0\0\0ABCD"));
QVERIFY(zip.close());
}
void KArchiveTest::testZip64ExtraZip64Offset()
{
const QString fileName = QFINDTESTDATA("data/zip64_extra_zip64_localheader.oxps");
QVERIFY(!fileName.isEmpty());
KZip zip(fileName);
QVERIFY2(zip.open(QIODevice::ReadOnly), qPrintable(zip.errorString()));
QCOMPARE(zip.directory()->entries().size(), 6);
auto entry = zip.directory()->file(QStringLiteral("_rels/.rels"));
QVERIFY(entry);
QCOMPARE(entry->size(), 576);
const auto data = entry->data();
QCOMPARE(data.sliced(0, 6), "<?xml ");
QVERIFY(zip.close());
}
void KArchiveTest::testZipOssFuzzIssue433303801()
{
const QString fileName = QFINDTESTDATA("data/ossfuzz_issue_433303801.zip");
QVERIFY(!fileName.isEmpty());
KZip zip(fileName);
QVERIFY(zip.open(QIODevice::ReadOnly));
traverseArchive(zip.directory());
}
void KArchiveTest::testZipDeepDirHierarchy()
{
const QString fileName = QFINDTESTDATA("data/zip_deep_hierarchy.zip");
QVERIFY(!fileName.isEmpty());
KZip zip(fileName);
QVERIFY(zip.open(QIODevice::ReadOnly));
traverseArchive(zip.directory());
}
void KArchiveTest::benchmarkZipDeepDirHierarchy()
{
const QString fileName = QFINDTESTDATA("data/zip_deep_hierarchy.zip");
QVERIFY(!fileName.isEmpty());
QBENCHMARK {
KZip zip(fileName);
QVERIFY(zip.open(QIODevice::ReadOnly));
}
}
void KArchiveTest::testRcc()
{
const QString rccFile = QFINDTESTDATA("runtime_resource.rcc"); // was copied from qtbase/tests/auto/corelib/io/qresourceengine
const QString rccFile = QFINDTESTDATA("data/runtime_resource.rcc"); // was copied from qtbase/tests/auto/corelib/io/qresourceengine
QVERIFY(!rccFile.isEmpty());
KRcc rcc(rccFile);
QVERIFY(rcc.open(QIODevice::ReadOnly));
@@ -1358,8 +1689,8 @@ void KArchiveTest::testAr()
QVERIFY(ar.close());
}
/**
* @see QTest::cleanupTestCase()
/*!
* \sa QTest::cleanupTestCase()
*/
void KArchiveTest::cleanupTestCase()
{
@@ -1375,8 +1706,8 @@ void KArchiveTest::cleanupTestCase()
#if HAVE_XZ_SUPPORT
/**
* Prepares dataset for archive filter tests
/*
* Prepares dataset for 7zip tests
*/
void KArchiveTest::setup7ZipData()
{
@@ -1384,7 +1715,7 @@ void KArchiveTest::setup7ZipData()
QTest::newRow(".7z") << "karchivetest.7z";
}
/**
/*
* @dataProvider testCreate7Zip_data
*/
void KArchiveTest::testCreate7Zip()
@@ -1407,7 +1738,7 @@ void KArchiveTest::testCreate7Zip()
}
}
/**
/*!
* @dataProvider setupData
*/
void KArchiveTest::testRead7Zip() // testCreate7Zip must have been run first.
@@ -1456,7 +1787,7 @@ void KArchiveTest::testRead7Zip() // testCreate7Zip must have been run first.
}
}
/**
/*!
* @dataProvider setupData
*/
void KArchiveTest::test7ZipFileData()
@@ -1472,7 +1803,7 @@ void KArchiveTest::test7ZipFileData()
QVERIFY(k7zip.close());
}
/**
/*!
* @dataProvider setupData
*/
void KArchiveTest::test7ZipCopyTo()
@@ -1488,7 +1819,7 @@ void KArchiveTest::test7ZipCopyTo()
QVERIFY(k7zip.close());
}
/**
/*!
* @dataProvider setupData
*/
void KArchiveTest::test7ZipReadWrite()
@@ -1496,13 +1827,15 @@ void KArchiveTest::test7ZipReadWrite()
QFETCH(QString, fileName);
// testCreate7zip must have been run first.
K7Zip k7zip(fileName);
QVERIFY(k7zip.open(QIODevice::ReadWrite));
{
K7Zip k7zip(fileName);
QVERIFY(k7zip.open(QIODevice::ReadWrite));
testReadWrite(&k7zip);
testFileData(&k7zip);
testReadWrite(&k7zip);
testFileData(&k7zip);
QVERIFY(k7zip.close());
QVERIFY(k7zip.close());
}
// Reopen it and check it
{
@@ -1520,7 +1853,7 @@ void KArchiveTest::test7ZipReadWrite()
QFile::remove(fileName);
}
/**
/*!
* @dataProvider test7ZipMaxLength_data
*/
void KArchiveTest::test7ZipMaxLength()
@@ -1564,6 +1897,203 @@ void KArchiveTest::test7ZipMaxLength()
// NOTE Cleanup here
QFile::remove(fileName);
}
void KArchiveTest::test7ZipNamelessFile()
{
QBuffer archive;
K7Zip writer(&archive);
QVERIFY(writer.open(QIODevice::WriteOnly));
QVERIFY(writer.writeFile(QString(), "Hello from a nameless file.", 0100644, "azhar", "users"));
QVERIFY(writer.close());
K7Zip reader(&archive);
QVERIFY(reader.open(QIODevice::ReadOnly));
const KArchiveDirectory *dir = reader.directory();
QVERIFY(dir != nullptr);
const QStringList listing = recursiveListEntries(dir, QLatin1String(""), 0);
QCOMPARE(listing.count(), 1);
QCOMPARE(listing[0], "mode=100644 path=contents type=file size=27");
QVERIFY(reader.close());
}
void KArchiveTest::test7ZipMultipleNamelessFiles()
{
const QString fileName = QFINDTESTDATA("data/multiple_nameless_files.7z");
QVERIFY(!fileName.isEmpty());
K7Zip k7zip(fileName);
QVERIFY2(k7zip.open(QIODevice::ReadOnly), "data/multiple_nameless_files.7z");
const KArchiveDirectory *dir = k7zip.directory();
QVERIFY(dir != nullptr);
const QStringList listing = recursiveListEntries(dir, QLatin1String(""), 0);
QCOMPARE(listing.count(), 2);
QCOMPARE(listing[0], QString("mode=10600 path=multiple_nameless_files_1 type=file size=27"));
QCOMPARE(listing[1], QString("mode=10600 path=multiple_nameless_files_2 type=file size=33"));
QVERIFY(k7zip.close());
}
// This test was added to verify K7ZipPrivate::readNumber() boundary check.
// See: https://invent.kde.org/frameworks/karchive/-/merge_requests/105
void KArchiveTest::test7ZipReadNumber()
{
const QString fileName = QFINDTESTDATA("data/readnumber_check.7z");
QVERIFY(!fileName.isEmpty());
K7Zip k7zip(fileName);
QVERIFY2(k7zip.open(QIODevice::ReadOnly), "data/readnumber_check.7z");
const KArchiveDirectory *dir = k7zip.directory();
QVERIFY(dir != nullptr);
const QStringList listing = recursiveListEntries(dir, QLatin1String(""), 0);
QCOMPARE(listing.count(), 1);
QCOMPARE(listing[0], QString("mode=644 path=file.txt type=file size=5"));
QVERIFY(k7zip.close());
}
void KArchiveTest::test7ZipFileNameEndsInSlash()
{
const QString fileName = QFINDTESTDATA("data/filename_ends_in_slash.7z");
QVERIFY(!fileName.isEmpty());
K7Zip k7zip(fileName);
QVERIFY(!k7zip.open(QIODevice::ReadOnly));
}
void KArchiveTest::test7ZipOssFuzzIssues_data()
{
QTest::addColumn<QString>("fileName");
QTest::newRow("issue_440829292") << "data/ossfuzz_issue_440829292.7z";
QTest::newRow("issue_441906077") << "data/ossfuzz_issue_441906077.7z";
QTest::newRow("testcase_4566647131406336") << "data/ossfuzz_testcase_4566647131406336.7z";
QTest::newRow("testcase_4784793343819776") << "data/ossfuzz_testcase_4784793343819776.7z";
QTest::newRow("testcase_5082404562993152") << "data/ossfuzz_testcase_5082404562993152.7z";
QTest::newRow("testcase_5125023070486528") << "data/ossfuzz_testcase_5125023070486528.7z";
QTest::newRow("testcase_5132547098214400") << "data/ossfuzz_testcase_5132547098214400.7z";
QTest::newRow("testcase_5141245598171136") << "data/ossfuzz_testcase_5141245598171136.7z";
QTest::newRow("testcase_5158171118469120") << "data/ossfuzz_testcase_5158171118469120.7z";
QTest::newRow("testcase_5161502865948672") << "data/ossfuzz_testcase_5161502865948672.7z";
QTest::newRow("testcase_5497856632094720") << "data/ossfuzz_testcase_5497856632094720.7z";
QTest::newRow("testcase_5503074996387840") << "data/ossfuzz_testcase_5503074996387840.7z";
QTest::newRow("testcase_5560695602348032") << "data/ossfuzz_testcase_5560695602348032.7z";
QTest::newRow("testcase_5581009572921344") << "data/ossfuzz_testcase_5581009572921344.7z";
QTest::newRow("testcase_5821682553257984") << "data/ossfuzz_testcase_5821682553257984.7z";
QTest::newRow("testcase_5991129817612288") << "data/ossfuzz_testcase_5991129817612288.7z";
QTest::newRow("testcase_6077171694370816") << "data/ossfuzz_testcase_6077171694370816.7z";
QTest::newRow("testcase_6096742417498112") << "data/ossfuzz_testcase_6096742417498112.7z";
QTest::newRow("testcase_6213340184772608") << "data/ossfuzz_testcase_6213340184772608.7z";
QTest::newRow("testcase_6248361801089024") << "data/ossfuzz_testcase_6248361801089024.7z";
QTest::newRow("testcase_6366650283917312") << "data/ossfuzz_testcase_6366650283917312.7z";
QTest::newRow("testcase_6532014901886976") << "data/ossfuzz_testcase_6532014901886976.7z";
QTest::newRow("testcase_6593198198947840") << "data/ossfuzz_testcase_6593198198947840.7z";
QTest::newRow("testcase_6597581431177216") << "data/ossfuzz_testcase_6597581431177216.7z";
QTest::newRow("testcase_6649925879529472") << "data/ossfuzz_testcase_6649925879529472.7z";
QTest::newRow("testcase_6653406484955136") << "data/ossfuzz_testcase_6653406484955136.7z";
QTest::newRow("testcase_6740459604213760") << "data/ossfuzz_testcase_6740459604213760.7z";
}
void KArchiveTest::test7ZipOssFuzzIssues()
{
QFETCH(QString, fileName);
const QString filePath = QFINDTESTDATA(fileName);
QVERIFY(!filePath.isEmpty());
K7Zip k7zip(filePath);
if (k7zip.open(QIODevice::ReadOnly)) {
k7zip.close();
}
}
#if HAVE_OPENSSL_SUPPORT
void KArchiveTest::test7ZipPasswordProtected()
{
const QString fileName = QFINDTESTDATA("data/password_protected.7z");
QVERIFY(!fileName.isEmpty());
K7Zip k7zip(fileName);
QVERIFY(!k7zip.open(QIODevice::ReadOnly)); // Should fail without a password
QVERIFY(k7zip.passwordNeeded());
k7zip.setPassword("youshallnotpass");
QVERIFY2(k7zip.open(QIODevice::ReadOnly), "data/password_protected.7z");
const KArchiveDirectory *dir = k7zip.directory();
QVERIFY(dir != nullptr);
const KArchiveEntry *entry = dir->entry("file.txt");
QVERIFY(entry != nullptr);
QVERIFY(entry->name() == "file.txt");
QVERIFY(entry->isFile());
const QByteArray fileData = QByteArray("Hello from an encrypted file in a 7z archive!\n");
const KArchiveFile *file = static_cast<const KArchiveFile *>(entry);
QCOMPARE(file->data(), fileData);
QVERIFY(k7zip.close());
}
#endif
void KArchiveTest::test7ZipReadCoder_data()
{
QTest::addColumn<QString>("fileName");
QTest::newRow("copy") << "data/7z_coder_test_copy.7z";
QTest::newRow("lzma") << "data/7z_coder_test_lzma.7z";
QTest::newRow("lzma2") << "data/7z_coder_test_lzma2.7z";
QTest::newRow("deflate") << "data/7z_coder_test_deflate.7z";
QTest::newRow("bcj") << "data/7z_coder_test_bcj.7z";
QTest::newRow("bcj2") << "data/7z_coder_test_bcj2.7z";
QTest::newRow("bzip2") << "data/7z_coder_test_bzip2.7z";
QTest::newRow("zstd") << "data/7z_coder_test_zstd.7z";
}
/*!
* @dataProvider test7ZipReadCoder_data
*/
void KArchiveTest::test7ZipReadCoder()
{
QFETCH(QString, fileName);
const QString filePath = QFINDTESTDATA(fileName);
QVERIFY(!filePath.isEmpty());
K7Zip k7zip(filePath);
QVERIFY(k7zip.open(QIODevice::ReadOnly));
const KArchiveDirectory *dir = k7zip.directory();
QVERIFY(dir != nullptr);
const KArchiveEntry *entry = dir->entry("hello.txt");
QVERIFY(entry != nullptr);
QVERIFY(entry->isFile());
const QByteArray fileData = QByteArray("Hello, World!\n");
const KArchiveFile *file = static_cast<const KArchiveFile *>(entry);
if (fileName.contains("bcj2")) {
QEXPECT_FAIL("", "bcj2 decoding fails, see https://bugs.kde.org/show_bug.cgi?id=509201", Continue);
}
QCOMPARE(file->data(), fileData);
QVERIFY(k7zip.close());
}
#endif
#include "moc_karchivetest.cpp"
@@ -67,6 +67,9 @@ private Q_SLOTS:
void testTarIgnoreRelativePathOutsideArchive();
void testTarLongNonASCIINames();
void testTarShortNonASCIINames();
void testTarGzHugeMemoryUsage();
void testTarDeepDirHierarchy();
void benchmarkTarDeepDirHierarchy();
void testCreateZip();
void testCreateZipError();
@@ -84,7 +87,19 @@ private Q_SLOTS:
void testZipUnusualButValid();
void testZipDuplicateNames();
void testZipWithinZip();
void testZipPrependedData();
void testZip64();
void testZipReopenWithoutDoubleDeletion();
void testZip64NestedStored();
void testZip64NestedStoredStreamed();
void testZip64EndOfCentralDirectory();
void testZip64DataDescriptor();
void testZip64ExtraZip64Size();
void testZip64ExtraZip64SizeFirst();
void testZip64ExtraZip64Offset();
void testZipOssFuzzIssue433303801();
void testZipDeepDirHierarchy();
void benchmarkZipDeepDirHierarchy();
void testRcc();
@@ -121,6 +136,17 @@ private Q_SLOTS:
setup7ZipData();
}
void test7ZipMaxLength();
void test7ZipNamelessFile();
void test7ZipMultipleNamelessFiles();
void test7ZipReadNumber();
void test7ZipFileNameEndsInSlash();
void test7ZipOssFuzzIssues_data();
void test7ZipOssFuzzIssues();
#if HAVE_OPENSSL_SUPPORT
void test7ZipPasswordProtected();
#endif
void test7ZipReadCoder_data();
void test7ZipReadCoder();
#endif
void cleanupTestCase();
@@ -44,6 +44,8 @@ QString KCompressionDeviceTest::formatExtension(KCompressionDevice::CompressionT
return "tar.gz";
case KCompressionDevice::BZip2:
return "tar.bz2";
case KCompressionDevice::Lz:
return "tar.lz";
case KCompressionDevice::Xz:
return "tar.xz";
case KCompressionDevice::Zstd:
@@ -133,6 +135,15 @@ void KCompressionDeviceTest::testBZip2BufferedDevice()
#endif
}
void KCompressionDeviceTest::testLzBufferedDevice()
{
#ifdef HAVE_LZIP_SUPPORT_FILE
testBufferedDevice(KCompressionDevice::Lz);
#else
QSKIP("This test needs lzip support");
#endif
}
void KCompressionDeviceTest::testXzBufferedDevice()
{
#if HAVE_XZ_SUPPORT
@@ -154,7 +165,7 @@ void KCompressionDeviceTest::testZstdBufferedDevice()
void KCompressionDeviceTest::testWriteErrorOnOpen()
{
// GIVEN
QString fileName("/I/dont/exist/kcompressiondevicetest-write.gz");
QString fileName("/I/do/not/exist/kcompressiondevicetest-write.gz");
KCompressionDevice dev(fileName, KCompressionDevice::GZip);
// WHEN
QVERIFY(!dev.open(QIODevice::WriteOnly));
@@ -37,6 +37,7 @@ private Q_SLOTS:
void regularKTarUsage();
void testGZipBufferedDevice();
void testBZip2BufferedDevice();
void testLzBufferedDevice();
void testXzBufferedDevice();
void testZstdBufferedDevice();
@@ -34,6 +34,7 @@ void KFilterTest::initTestCase()
const QString currentdir = QDir::currentPath();
pathgz = currentdir + "/test.gz";
pathbz2 = currentdir + "/test.bz2";
pathlz = currentdir + "/test.lz";
pathxz = currentdir + "/test.xz";
pathnone = currentdir + "/test.txt";
pathzstd = currentdir + "/test.zst";
@@ -74,6 +75,10 @@ void KFilterTest::test_block_write()
#endif
#if HAVE_XZ_SUPPORT
qDebug() << " -- test_block_write lzip -- ";
test_block_write(pathlz, testData, 50);
QCOMPARE(QFileInfo(pathlz).size(), 54LL); // size of test.lzip
qDebug() << " -- test_block_write xz -- ";
test_block_write(pathxz, testData, 50);
QCOMPARE(QFileInfo(pathxz).size(), 84LL); // size of test.lzma
@@ -102,6 +107,10 @@ void KFilterTest::test_block_write()
#endif
#if HAVE_XZ_SUPPORT
qDebug() << " -- test_block_write lzip -- ";
test_block_write(pathlz, testData);
QCOMPARE(QFileInfo(pathlz).size(), 48LL); // size of test.lzip
qDebug() << " -- test_block_write xz -- ";
test_block_write(pathxz, testData);
QCOMPARE(QFileInfo(pathxz).size(), 64LL); // size of test.lzma
@@ -188,6 +197,8 @@ void KFilterTest::test_block_read()
test_block_read(pathbz2);
#endif
#if HAVE_XZ_SUPPORT
qDebug() << " -- test_block_read lzip -- ";
test_block_read(pathlz);
qDebug() << " -- test_block_read lzma -- ";
test_block_read(pathxz);
#endif
@@ -223,6 +234,8 @@ void KFilterTest::test_getch()
test_getch(pathbz2);
#endif
#if HAVE_XZ_SUPPORT
qDebug() << " -- test_getch lzip -- ";
test_getch(pathlz);
qDebug() << " -- test_getch lzma -- ";
test_getch(pathxz);
#endif
@@ -256,6 +269,8 @@ void KFilterTest::test_textstream()
test_textstream(pathbz2);
#endif
#if HAVE_XZ_SUPPORT
qDebug() << " -- test_textstream lzip -- ";
test_textstream(pathlz);
qDebug() << " -- test_textstream lzma -- ";
test_textstream(pathxz);
#endif
@@ -297,6 +312,8 @@ void KFilterTest::test_readall()
test_readall(pathbz2, QString::fromLatin1("application/x-bzip"), testData);
#endif
#if HAVE_XZ_SUPPORT
qDebug() << " -- test_readall lzip -- ";
test_readall(pathlz, QString::fromLatin1("application/x-lzip"), testData);
qDebug() << " -- test_readall lzma -- ";
test_readall(pathxz, QString::fromLatin1("application/x-xz"), testData);
#endif
@@ -40,6 +40,7 @@ private:
private:
QString pathgz;
QString pathbz2;
QString pathlz;
QString pathxz;
QString pathnone;
QString pathzstd;
@@ -1,7 +0,0 @@
### KApiDox Project-specific Overrides File
# define so that deprecated API is not skipped
PREDEFINED += \
"KARCHIVE_ENABLE_DEPRECATED_SINCE(x, y)=1" \
"KARCHIVE_BUILD_DEPRECATED_SINCE(x, y)=1" \
"KARCHIVE_DEPRECATED_VERSION(x, y, t)="
@@ -12,7 +12,7 @@ portingAid: false
deprecated: false
release: true
libraries:
- cmake: "KF6::Archive"
- cmake: "KF6::Archive"
cmakename: KF6Archive
public_lib: true
@@ -1,8 +1,8 @@
# Zayed Al-Saidi <zayed.alsaidi@gmail.com>, 2023.
# SPDX-FileCopyrightText: 2023, 2025 Zayed Al-Saidi <zayed.alsaidi@gmail.com>
msgid ""
msgstr ""
"Project-Id-Version: \n"
"PO-Revision-Date: 2023-05-04 18:14+0400\n"
"PO-Revision-Date: 2025-08-10 22:05+0400\n"
"Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
"Language-Team: ar\n"
"Language: ar\n"
@@ -11,222 +11,239 @@ msgstr ""
"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 ? 4 : 5;\n"
"X-Generator: Lokalize 23.08.5\n"
"X-Qt-Contexts: true\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "تعذر الحصول على الجهاز الأساسي"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "فشل قراءة العنوان"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "فشل التحقق من التوقيع"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "CRC تالف"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "حجم العنوان التالي كبير جدًا"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "حجم العنوان التالي أقل من الصفر"
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
msgstr "فشل قراءة حجم العنوان التالي؛ يجب قراءة %1، لكنه قرأ %2"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "عنوان تال تالف CRC"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "خطأ في العنوان"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr "بحاجة إلى كلمة السر لهذا الأرشيف"
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "نوع عنوان خاطئ"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "لم تُنجز"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "خطأ في أثناء قراءة معلومات التدفقات الرئيسة"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "خطأ أثناء قراءة العنوان"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr "يحتوي الأرشيف على %1 ملفًا، وهو عدد أكبر من العدد المسموح به (%2)"
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "خطأ في قراءة وقت التعديل"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "خطأ في قراءة MTime"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "غير صالح"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
msgstr ""
"فشل في قراءة الحجم (حجم المستند المعطى: %1، d->pos - ppp: %2، الحجم: %3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr "المحتويات"
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "خطأ كتابة"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "فشل أثناء ترميز العنوان"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "لا يوجد ملف محدد حاليا"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr "خطأ في التطبيق: يجب فتح ملف 7-Zip قبل الكتابة فيه"
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "خطأ في التطبيق: جرت محاولة الكتابة في ملف 7-Zip غير قابل للكتابة"
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "تعذرت الكتابة إلى ملف AR"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "وضع %1 غير مدعوم"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "السحر الرئيسي غير صالح"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "السحر غير صالح"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "حجم غير صالح"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "مرجع اسم ملف طويل غير صالح"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "مرجع موضع اسم ملف طويل غير صالح"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "لم يحدد اسم ملف أو جهاز"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "تعذر فتح الجهاز في وضع %1"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "فشل إنشاء ملف QSaveFile لـ%1: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "وضع %1 غير مدعوم"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "الأرشيف مغلق من قبل"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 غير موجود أو أنه ليس بملف عادي."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
"Failed accessing the file %1 for adding to the archive. The error was: %2"
msgstr "فشل الوصول إلى الملف %1 لإضافته إلى الأرشيف. كان الخطأ: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "لا يمكن فتح ملف %1: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "المجلد %1 غير موجود"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "فشلت الكتابة: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "خطأ مجهول"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "لا يمكن الكتابة. هل القرص ممتلئ؟"
@@ -248,208 +265,235 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "أخفق تسجيل المصدر %1 تحت سابقة %2"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "الملفّ %1 غير موجود"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "أرشيف %1 معطوب"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "القرص ممتلئ"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "تعذر الحصول على الجهاز الأساسي"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "تعذر قراءة عنوان tar"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "فشلت إعادة كتابة الملف المؤقت: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "تعذر كتابة المحاذاة: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "تعذر كتابة رابط طويل: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr "خطأ في التطبيق: يجب فتح ملف TAR قبل الكتابة فيه"
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "خطأ في التطبيق: جرت محاولة الكتابة في ملف 7-Zip غير قابل للكتابة"
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr "قيود التطبيق: لا يمكن إضافة ملف أكبر من %1 بايت"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "فشلت كتابة العنوان: %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr "خطأ في التطبيق: جرت محاولة الكتابة في ملف TAR غير قابل للكتابة"
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr "ملف ZIP غير صالح. نهاية غير متوقعه للملف. (رمز الخطأ: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "ملف ZIP غير صالح. طول الاسم سلبي"
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr "ملف ZIP غير صالح. الاسم غير مقروء بالكامل (#2)"
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "ملف مضغوط غير صالح. حقل اكسترافيلد مكسور."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "لا يمكن السعي إلى الرمز المميز التالي للعنوان"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "ملف ZIP غير صالح. نهاية غير متوقعه للملف. (#5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "لا يمكن السعي إلى حجم الضغط للملف"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "ملف ZIP غير صالح. نهاية غير متوقعه للملف. (#1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
msgstr ""
"ملف ZIP غير صالح، المدخلة المركزية قصيرة جدًا (ليس طويلًا بما يكفي مدخلة صالحة)"
#: kzip.cpp:640
#: kzip.cpp:670
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgstr "ملف ZIP غير صالح، طول اسم مسار الملف أصغر أو يساوي الصفر"
msgid "Invalid ZIP file, file path name length is zero"
msgstr "ملف ZIP غير صالح، طول اسم مسار الملف يساوي الصفر"
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
"ملف ZIP غير صالح، غير قادر على قراءة %1 + %2 بايت لاسم الملف والبيانات "
"الإضافية عند الإزاحة %3"
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr "ملف ZIP غير صالح، إزاحة رأس محلية غير متسقة في الدليل المركزي عند %1"
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "ملف ZIP غير صالح، عثر على اسم فارغ لمدخلة"
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "ملف %1 في المجلد %2، لكن %3 هو ملف."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "تعذر الانتقال إلى المدخلة التالية"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "ملف ZIP غير صالح. نهاية غير متوقعه للملف."
msgid "Not a ZIP file, no Local File Header found."
msgstr "ليس ملف ZIP، ولم يعثر على رأس الملف المحلي."
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr "ملف ZIP غير صالح. عنوان غير معروف عند الإزاحة %1"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "تعذر السعي إلى عنوان الملف التالي: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "تعذر كتابة عنوان الملف: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "تعذر كتابة السجل المجلد المركزي: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr "خطأ في التطبيق: يجب فتح ملف Zip قبل الكتابة فيه"
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr "خطأ في التطبيق: جرت محاولة الكتابة في ملف Zip غير قابل للكتابة"
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "تعذّر إنشاء جهاز. هل القرص ممتلئ؟"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "تعذر الانتقال في ملف ZIP. هل القرص ممتلئ؟"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "تعذر الكتابة إلى الأرشيف. هل القرص ممتلئ؟"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "تعذّر فتح جهاز الضغط: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "لا يوجد ملف أو جهاز"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
msgstr "حدث خطأ أثناء الكتابة: %1"
#~ msgctxt "KZip|"
#~ msgid "Invalid ZIP file. Unexpected end of file."
#~ msgstr "ملف ZIP غير صالح. نهاية غير متوقعه للملف."
@@ -13,219 +13,235 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.08.2\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr ""
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr ""
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr ""
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr ""
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr ""
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr ""
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
msgstr ""
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr ""
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr ""
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr ""
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr ""
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr ""
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr ""
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr ""
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr ""
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr ""
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr ""
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr ""
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
msgstr ""
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr ""
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr ""
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr ""
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr ""
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr ""
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr ""
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr ""
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr ""
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr ""
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr ""
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr ""
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr ""
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr ""
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr ""
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr ""
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr ""
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr ""
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr ""
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
"Failed accessing the file %1 for adding to the archive. The error was: %2"
msgstr ""
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr ""
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr ""
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr ""
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr ""
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr ""
@@ -247,206 +263,227 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr ""
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "El ficheru «%1» nun esiste"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr ""
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr ""
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr ""
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr ""
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr ""
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr ""
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr ""
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr ""
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr ""
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr ""
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr ""
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr ""
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr ""
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr ""
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr ""
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr ""
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr ""
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr ""
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr ""
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
msgstr ""
#: kzip.cpp:640
#: kzip.cpp:670
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgid "Invalid ZIP file, file path name length is zero"
msgstr ""
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr ""
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr ""
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr ""
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgid "Not a ZIP file, no Local File Header found."
msgstr ""
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr ""
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr ""
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr ""
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr ""
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr ""
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr ""
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr ""
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr ""
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr ""
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr ""
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr ""
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
@@ -1,49 +1,49 @@
# Mincho Kondarev <mkondarev@yahoo.de>, 2023.
# SPDX-FileCopyrightText: 2023, 2025 Mincho Kondarev <mkondarev@yahoo.de>
msgid ""
msgstr ""
"Project-Id-Version: \n"
"PO-Revision-Date: 2023-08-09 09:22+0200\n"
"PO-Revision-Date: 2025-08-16 22:51+0200\n"
"Last-Translator: Mincho Kondarev <mkondarev@yahoo.de>\n"
"Language-Team: \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"
"X-Qt-Contexts: true\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.04.3\n"
"X-Generator: Lokalize 25.07.70\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "Не може да се получи основно устройство"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "Неуспешно четене на заглавието"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "Проверката на подписа не е успешна"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "Лош CRC"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "Размерът на следващото заглавие е твърде голям"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "Размерът на следващото заглавие е по-малък от нула"
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
@@ -51,52 +51,63 @@ msgstr ""
"Неуспешно прочитане на следващия размер на заглавието; трябва да се прочете "
"%1, прочетете %2"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "Лош CRC на следващо заглавие"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "Грешка в заглавието"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr "Необходима е парола за този архив"
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "Грешен тип на заглавието"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "Не е реализиран"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "Грешка при четене на информация за основните потоци"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "Грешка при четене на заглавието"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr "Архивът съдържа %1 файла, което е повече от поддържания брой (%2)"
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "Грешка при четене на времето на модификация"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "Грешка при четене на MTime"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "Невалиден"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
@@ -104,134 +115,139 @@ msgstr ""
"Неуспешно отчитане на размера (checkRecordsSize: %1, d->pos - ppp: %2, size: "
"%3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr "съдържание"
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "Грешка при запис"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "Неуспешно кодиране на заглавието"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "В момента не е избран файл"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr ""
"Грешка на приложението: Файлът 7-Zip трябва да бъде отворен, преди да се "
"извърши запис в него"
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "Грешка на приложението: опит за запис в незаписваем 7-Zip файл"
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "Не може да се записва във файл AR"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "Неподдържан режим %1"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "Невалиден основен magic"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "Невалиден magic"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "Невалиден размер"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "Невалидна препратка към дългото име на файла"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "Невалидна препратка към позицията на дългото име"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "Не е зададено име на файл или устройство"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "Не може да се отвори устройство в режим %1"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "Създаването на QSaveFile за %1 е неуспешно: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "Неподдържан режим %1"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "Архивът вече е затворен"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 не съществува или не е обикновен файл."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
"Failed accessing the file %1 for adding to the archive. The error was: %2"
msgstr "Неуспешен достъп до файла %1 за добавяне в архива. Грешката е: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "Не можа да се отвори файл %1: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "Директория %1 не съществува"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "Неуспешно записване: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "Неизвестна грешка"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "Не можа да се запише. Партицията е пълна?"
@@ -253,117 +269,123 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "Не успя да се регистрира ресурс %1 под префикс %2"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "Файлът %1 не съществува"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "Архивът %1 е повреден"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "Дискът е пълен"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "Не може да се получи основното устройство"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "Не можа да прочете заглавието на tar"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "Не успя да запише обратно временен файл: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "Не можа да запише подравняване: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "Не можа да запише пълната връзка: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr ""
"Грешка на приложението: Файлът TAR трябва да бъде отворен, преди да се "
"извърши запис в него"
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "Грешка на приложението: опит за запис в незаписваем 7-Zip файл"
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr ""
"Ограничение на приложението: Не може да се добави файл, по-голям от %1 байта"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "Не успя да запише заглавието: %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr "Грешка на приложението: опит за запис в незаписваем TAR файл"
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr "Невалиден ZIP файл. Неочакван край на файла. (Код на грешката: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "Невалиден ZIP файл. Отрицателна дължина на името"
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr "Невалиден ZIP файл. Името не е прочетено напълно (#2)"
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "Невалиден ZIP файл. Broken ExtraField."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "Не може да се търси следващ токен на заглавието"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "Невалиден ZIP файл. Неочакван край на файла. (#5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "Не може да се потърси компресиран размер на файла"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "Невалиден ZIP файл. Неочакван край на файла. (#1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
@@ -371,97 +393,114 @@ msgstr ""
"Невалиден ZIP файл, централният запис е твърде кратък (не е достатъчно дълъг "
"за валиден запис)"
#: kzip.cpp:640
#: kzip.cpp:670
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgstr ""
"Невалиден ZIP файл, дължина на името на пътя на файла по-малка или равна на "
"нула"
msgid "Invalid ZIP file, file path name length is zero"
msgstr "Невалиден ZIP файл, дължината на името на пътя на файла е нула"
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
"Невалиден файл ZIP, не може да се прочетат %1 + %2 байта за име на файла и "
"допълнителни данни при отместване %3"
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
"Невалиден ZIP файл, непоследователно локално отместване на заглавката в "
"централната директория на %1"
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "Невалиден ZIP файл, намерено празно име на запис"
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "Файл %1 е в папка %2, но %3 всъщност е файл."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "Не може да се търси следващ запис"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "Невалиден ZIP файл. Неочакван край на файла."
msgid "Not a ZIP file, no Local File Header found."
msgstr "Не е ZIP файл, не е намерена заглавка на локален файл."
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr "Невалиден ZIP файл. Неразпознат хедър при отместване %1"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "Не може да се търси заглавието на следващия файл: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "Не можа да запише заглавието на файла: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "Не може да се извърши запис в основна директория: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr ""
"Грешка на приложението: ZIP файлът трябва да бъде отворен, преди да се "
"извърши запис в него"
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr "Грешка на приложението: опит за запис в незаписваем ZIP файл"
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "Не може да се създаде устройство. Дискът е пълен?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "Не може да се търси в ZIP файл. Дискът е пълен?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "Не може да се записва в архива. Дискът е пълен?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "Не може да се отвори устройство за компресиране: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "Няма файл или устройство"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
@@ -1,13 +1,13 @@
# Translation of karchive6_qt.po to Catalan
# Copyright (C) 2022-2023 This_file_is_part_of_KDE
# Copyright (C) 2022-2025 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>, 2022, 2023.
# SPDX-FileCopyrightText: 2022, 2023, 2025 Josep M. Ferrer <txemaq@gmail.com>
msgid ""
msgstr ""
"Project-Id-Version: karchive\n"
"PO-Revision-Date: 2023-09-19 19:18+0200\n"
"PO-Revision-Date: 2025-08-07 08:39+0200\n"
"Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
"Language: ca\n"
@@ -16,39 +16,39 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Qt-Contexts: true\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 22.12.3\n"
"X-Generator: Lokalize 25.04.3\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "No s'ha pogut obtenir el dispositiu subjacent"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "Ha fallat en llegir la capçalera"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "Ha fallat la comprovació de la signatura"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "CRC incorrecte"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "La mida de la capçalera següent és massa grossa"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "La mida de la capçalera següent és inferior a zero"
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
@@ -56,52 +56,63 @@ msgstr ""
"Ha fallat en llegir la mida de la capçalera següent; s'hauria de llegir %1, "
"s'ha llegit %2"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "CRC incorrecte de la capçalera següent"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "Error en la capçalera"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr "Cal contrasenya per a aquest arxiu"
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "Tipus de capçalera incorrecta"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "Sense implementar"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "Error en llegir la informació dels fluxos principals"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "Error en llegir la capçalera"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr "L'arxiu té %1 fitxers, que és més que la quantitat permesa (%2)"
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "Error en llegir l'hora de modificació"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "Error en llegir MTime"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "No vàlid"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
@@ -109,105 +120,110 @@ msgstr ""
"Ha fallat la lectura de la mida (checkRecordsSize: %1, d->pos - ppp: %2, "
"mida: %3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr "contingut"
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "Error d'escriptura"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "Ha fallat mentre s'estava codificant la capçalera"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "No hi ha cap fitxer seleccionat actualment"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr ""
"Error d'aplicació: el fitxer 7-Zip cal que estigui obert abans que s'hi "
"pugui escriure"
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"Error d'aplicació: s'ha intentat escriure en un fitxer 7-Zip no escrivible"
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "No es pot escriure el fitxer AR"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "Mode %1 no implementat"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "Número màgic principal no vàlid"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "Número màgic no vàlid"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "Mida no vàlida"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "La referència del nom llarg de fitxer no és vàlida"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "La referència de la posició del nom llarg de fitxer no és vàlida"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "No s'ha especificat cap nom de fitxer o dispositiu"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "No s'ha pogut obrir el dispositiu en mode %1"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "Ha fallat la creació del QSaveFile de %1: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "Mode %1 no implementat"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "L'arxiu ja està tancat"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 no existeix o no és un fitxer normal."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
@@ -216,30 +232,30 @@ msgstr ""
"Ha fallat en accedir al fitxer %1 per a afegir-lo a l'arxiu. L'error ha "
"estat: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "No s'ha pogut obrir el fitxer %1: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "El directori %1 no existeix"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "Ha fallat l'escriptura: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "Error desconegut"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "No s'ha pogut escriure. La partició és plena?"
@@ -261,119 +277,125 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "Ha fallat en registrar el recurs %1 sota el prefix %2"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "El fitxer %1 no existeix"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "L'arxiu %1 està malmès"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "Disc ple"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "No s'ha pogut obtenir el dispositiu subjacent"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "No s'ha pogut llegir la capçalera del «tar»"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "Ha fallat en escriure al fitxer temporal: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "No s'ha pogut escriure l'alineació: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "No s'ha pogut escriure l'enllaç llarg: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr ""
"Error d'aplicació: el fitxer TAR cal que estigui obert abans que s'hi pugui "
"escriure"
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"Error d'aplicació: s'ha intentat escriure en un fitxer 7-Zip no escrivible"
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr ""
"Limitació de l'aplicació: No es pot afegir un fitxer més gran que %1 bytes"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "Ha fallat en escriure la capçalera: %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr ""
"Error d'aplicació: s'ha intentat escriure en un fitxer TAR no escrivible"
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr "Fitxer ZIP no vàlid. Final inesperat del fitxer. (Codi d'error: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "Fitxer ZIP no vàlid. Longitud negativa del nom"
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr "Fitxer ZIP no vàlid. El nom no s'ha llegit completament (núm. 2)"
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "Fitxer ZIP no vàlid. «ExtraField» està trencat."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "No s'ha pogut cercar fins al testimoni de la capçalera següent"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "Fitxer ZIP no vàlid. Final inesperat del fitxer. (núm. 5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "No s'ha pogut cercar fins al fitxer de mida comprimida"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "Fitxer ZIP no vàlid. Final inesperat del fitxer. (núm. 1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
@@ -381,99 +403,120 @@ msgstr ""
"Fitxer ZIP no vàlid. Entrada central massa curta (no té la longitud "
"suficient perquè sigui vàlida)"
#: kzip.cpp:640
#: kzip.cpp:670
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgstr ""
"Fitxer ZIP no vàlid. La longitud del nom del camí és inferior o igual que "
"zero"
msgid "Invalid ZIP file, file path name length is zero"
msgstr "Fitxer ZIP no vàlid. La longitud del nom del camí és zero"
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
"Fitxer ZIP no vàlid, no s'han pogut llegir %1 + %2 bytes del nom de fitxer i "
"les dades extres a la posició %3"
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
"El fitxer ZIP no és vàlid, el desplaçament de capçalera local és incoherent "
"en el directori central a %1"
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "Fitxer ZIP no vàlid. S'ha trobat un nom d'entrada buit"
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "El fitxer %1 és en la carpeta %2, però %3 és realment un fitxer."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "No s'ha pogut cercar fins a l'entrada següent"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "Fitxer ZIP no vàlid. Final inesperat del fitxer."
msgid "Not a ZIP file, no Local File Header found."
msgstr "No és un fitxer ZIP, no s'ha trobat la capçalera del fitxer local."
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr "Fitxer ZIP no vàlid. Capçalera no reconeguda en el desplaçament %1"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "No s'ha pogut cercar fins a la capçalera del fitxer següent: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "No s'ha pogut escriure la capçalera del fitxer: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "No s'ha pogut escriure el registre central del directori: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr ""
"Error d'aplicació: el fitxer ZIP cal que estigui obert abans que s'hi pugui "
"escriure"
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr ""
"Error d'aplicació: s'ha intentat escriure en un fitxer ZIP no escrivible"
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "No s'ha pogut crear un dispositiu. El disc està ple?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "No s'ha pogut cercar en el fitxer ZIP. El disc està ple?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "No s'ha pogut escriure a l'arxiu. El disc està ple?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "No s'ha pogut obrir el dispositiu de compressió: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "No hi ha cap fitxer ni dispositiu"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
msgstr "Error en escriure les dades: %1"
#~ msgctxt "KZip|"
#~ msgid "Invalid ZIP file. Unexpected end of file."
#~ msgstr "Fitxer ZIP no vàlid. Final inesperat del fitxer."
@@ -1,13 +1,13 @@
# Translation of karchive6_qt.po to Catalan (Valencian)
# Copyright (C) 2022-2023 This_file_is_part_of_KDE
# Copyright (C) 2022-2025 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>, 2022, 2023.
# SPDX-FileCopyrightText: 2022, 2023, 2025 Josep M. Ferrer <txemaq@gmail.com>
msgid ""
msgstr ""
"Project-Id-Version: karchive\n"
"PO-Revision-Date: 2023-09-19 19:18+0200\n"
"PO-Revision-Date: 2025-08-07 08:39+0200\n"
"Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
"Language: ca@valencia\n"
@@ -16,231 +16,248 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Qt-Contexts: true\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 22.12.3\n"
"X-Generator: Lokalize 25.04.3\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "No s'ha pogut obtindre el dispositiu subjacent"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "No s'ha pogut llegir la capçalera"
msgstr "Ha fallat mentre es llegia la capçalera"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "Ha fallat la comprovació de la signatura"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "CRC incorrecte"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "La mida de la capçalera següent és massa gran"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "La mida de la capçalera següent és inferior a zero"
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
msgstr ""
"No s'ha pogut llegir la mida de la capçalera següent; s'hauria de llegir %1, "
"s'ha llegit %2"
"Ha fallat mentre es llegia la mida de la capçalera següent; s'hauria de "
"llegir %1, s'ha llegit %2"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "CRC incorrecte de la capçalera següent"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "S'ha produït un error en la capçalera"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr "Cal contrasenya per a este arxiu"
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "Tipus de capçalera incorrecta"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "Sense implementar"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "S'ha produït un error en llegir la informació dels fluxos principals"
msgstr ""
"S'ha produït un error mentre es llegia la informació dels fluxos principals"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "S'ha produït un error en llegir la capçalera"
msgstr "S'ha produït un error mentre es llegia la capçalera"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr "L'arxiu té %1 fitxers, que és més que la quantitat permesa (%2)"
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "S'ha produït un error en llegir l'hora de modificació"
msgstr "S'ha produït un error mentre es llegia l'hora de modificació"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "S'ha produït un error en llegir MTime"
msgstr "S'ha produït un error mentre es llegia MTime"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "No vàlid"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
msgstr ""
"Ha fallat la lectura de la mida (checkRecordsSize: %1, d->pos - ppp: %2, "
"Ha fallat la lectura de la mida (checkRecordsSize: %1, d->pos ppp: %2, "
"mida: %3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr "contingut"
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "S'ha produït un error d'escriptura"
msgstr "S'ha produït un error mentre s'escrivia"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "Ha fallat mentre s'estava codificant la capçalera"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "No hi ha cap fitxer seleccionat actualment"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr ""
"S'ha produït un error de l'aplicació: el fitxer 7-Zip cal que estiga obert "
"abans que s'hi puga escriure"
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"S'ha produït un error de l'aplicació: s'ha intentat escriure en un fitxer 7-"
"Zip no escrivible"
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "No es pot escriure el fitxer AR"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "Mode %1 no implementat"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "Número màgic principal no vàlid"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "Número màgic no vàlid"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "Mida no vàlida"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "La referència del nom llarg de fitxer no és vàlida"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "La referència de la posició del nom llarg de fitxer no és vàlida"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "No s'ha especificat cap nom de fitxer o dispositiu"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "No s'ha pogut obrir el dispositiu en mode %1"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "No s'ha pogut crear QSaveFile de %1: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "Mode %1 no implementat"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "L'arxiu ja està tancat"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 no existix o no és un fitxer normal."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
"Failed accessing the file %1 for adding to the archive. The error was: %2"
msgstr ""
"No s'ha pogut accedir al fitxer %1 per a afegir-lo a l'arxiu. L'error ha "
"sigut: %2"
"Ha fallat mentre s'accedia al fitxer %1 per a afegir-lo a l'arxiu. L'error "
"ha sigut: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "No s'ha pogut obrir el fitxer %1: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "El directori %1 no existix"
msgstr "La carpeta %1 no existix"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "No s'ha pogut fer l'escriptura: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "S'ha produït un error desconegut"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "No s'ha pogut escriure. La partició està plena?"
@@ -262,121 +279,127 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "No s'ha pogut registrar el recurs %1 davall el prefix %2"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "El fitxer %1 no existix"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "L'arxiu %1 està malmés"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "Disc ple"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "No s'ha pogut obtindre el dispositiu subjacent"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "No s'ha pogut llegir la capçalera de «tar»"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "No s'ha pogut escriure en el fitxer temporal: %1"
msgstr "Ha fallat mentre s'escrivia en el fitxer temporal: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "No s'ha pogut escriure l'alineació: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "No s'ha pogut escriure l'enllaç llarg: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr ""
"S'ha produït un error de l'aplicació: el fitxer TAR cal que estiga obert "
"abans que s'hi puga escriure"
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"S'ha produït un error de l'aplicació: s'ha intentat escriure en un fitxer 7-"
"Zip no escrivible"
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr ""
"Limitació de l'aplicació: No es pot afegir un fitxer més gran que %1 bytes"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "No s'ha pogut escriure la capçalera: %1"
msgstr "Ha fallat mentre s'escrivia la capçalera: %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr ""
"S'ha produït un error de l'aplicació: s'ha intentat escriure en un fitxer "
"TAR no escrivible"
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr "Fitxer ZIP no vàlid. Final inesperat del fitxer. (Codi d'error: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "Fitxer ZIP no vàlid. Llargària negativa del nom"
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr "Fitxer ZIP no vàlid. El nom no s'ha llegit completament (núm. 2)"
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "Fitxer ZIP no vàlid. «ExtraField» està trencat."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "No s'ha pogut buscar fins al testimoni de la capçalera següent"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "Fitxer ZIP no vàlid. Final inesperat del fitxer. (núm. 5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "No s'ha pogut buscar fins al fitxer de mida comprimida"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "Fitxer ZIP no vàlid. Final inesperat del fitxer. (núm. 1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
@@ -384,100 +407,117 @@ msgstr ""
"Fitxer ZIP no vàlid. Entrada central massa curta (no té la llargària "
"suficient perquè siga vàlida)"
#: kzip.cpp:640
#: kzip.cpp:670
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgstr ""
"Fitxer ZIP no vàlid. La llargària del nom del camí és inferior o igual que "
"zero"
msgid "Invalid ZIP file, file path name length is zero"
msgstr "Fitxer ZIP no vàlid. La llargària del nom del camí és zero"
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
"Fitxer ZIP no vàlid, no s'han pogut llegir %1 + %2 bytes del nom de fitxer i "
"les dades extres a la posició %3"
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
"El fitxer ZIP no és vàlid, el desplaçament de capçalera local és incoherent "
"en el directori central a %1"
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "Fitxer ZIP no vàlid. S'ha trobat un nom d'entrada buit"
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "El fitxer %1 es troba en la carpeta %2, però %3 és realment un fitxer."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "No s'ha pogut buscar fins a l'entrada següent"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "Fitxer ZIP no vàlid. Final inesperat del fitxer."
msgid "Not a ZIP file, no Local File Header found."
msgstr "No és un fitxer ZIP, no s'ha trobat la capçalera del fitxer local."
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr "Fitxer ZIP no vàlid. Capçalera no reconeguda en el desplaçament %1"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "No s'ha pogut buscar fins a la capçalera del fitxer següent: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "No s'ha pogut escriure la capçalera del fitxer: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "No s'ha pogut escriure el registre central del directori: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr ""
"S'ha produït un error de l'aplicació: el fitxer ZIP cal que estiga obert "
"abans que s'hi puga escriure"
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr ""
"S'ha produït un error de l'aplicació: s'ha intentat escriure en un fitxer "
"ZIP no escrivible"
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "No s'ha pogut crear un dispositiu. El disc està ple?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "No s'ha pogut buscar en el fitxer ZIP. El disc està ple?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "No s'ha pogut escriure a l'arxiu. El disc està ple?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "No s'ha pogut obrir el dispositiu de compressió: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "No hi ha cap fitxer ni dispositiu"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
msgstr "S'ha produït un error en escriure les dades: %1"
msgstr "S'ha produït un error mentre s'escrivien les dades: %1"
@@ -1,8 +1,8 @@
# Vit Pelcak <vit@pelcak.org>, 2023.
# SPDX-FileCopyrightText: 2023, 2025 Vit Pelcak <vit@pelcak.org>
msgid ""
msgstr ""
"Project-Id-Version: \n"
"PO-Revision-Date: 2023-03-09 14:56+0100\n"
"PO-Revision-Date: 2025-12-01 14:21+0100\n"
"Last-Translator: Vit Pelcak <vit@pelcak.org>\n"
"Language-Team: Czech <kde-i18n-doc@kde.org>\n"
"Language: cs\n"
@@ -10,222 +10,238 @@ msgstr ""
"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 22.12.3\n"
"X-Generator: Lokalize 25.08.3\n"
"X-Qt-Contexts: true\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr ""
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr ""
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr ""
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "Špatné CRC"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr ""
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr ""
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
msgstr ""
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr ""
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "Chyba v hlavičce"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr "Pro tento archiv je potřeba heslo"
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "Špatný typ hlavičky"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "Neimplementováno"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr ""
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr ""
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr ""
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr ""
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr ""
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "Neplatný"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
msgstr ""
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr "obsah"
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "Chyba při zápisu"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr ""
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr ""
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr ""
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "Nelze zapisovat do souboru AR"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr ""
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr ""
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr ""
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "Neplatná velikost"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr ""
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr ""
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "Nebyl zadán název souboru nebo zařízení"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr ""
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr ""
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr ""
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "Archiv byl již zavřen"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr ""
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
"Failed accessing the file %1 for adding to the archive. The error was: %2"
msgstr ""
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "Soubor %1 nelze otevřít: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "Adresář %1 neexistuje"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "Zápis selhal: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "Neznámá chyba"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr ""
@@ -247,206 +263,227 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr ""
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "Soubor %1 neexistuje"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "Archiv %1 je vadný"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "Disk je plný"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr ""
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr ""
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr ""
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr ""
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "Nelze zapsat dlouhý odkaz odkaz: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr ""
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr ""
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr ""
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr ""
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr "Neplatný soubor ZIP. Neočekávaný konec souboru. (Kód chyby: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr ""
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr ""
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr ""
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr ""
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "Neplatný soubor ZIP. Neočekávaný konec souboru. (#5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr ""
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "Neplatný soubor ZIP. Neočekávaný konec souboru. (#1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
msgstr ""
#: kzip.cpp:640
#: kzip.cpp:670
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgid "Invalid ZIP file, file path name length is zero"
msgstr "Neplatný soubor ZIP. Název cesty souboru je nula."
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
#: kzip.cpp:722
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr ""
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr ""
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr ""
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "Neplatný soubor ZIP. Neočekávaný konec souboru."
msgid "Not a ZIP file, no Local File Header found."
msgstr ""
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr ""
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr ""
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr ""
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr ""
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr ""
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr ""
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "Nelze vytvořit zařízení. Je disk plný?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "Nelze hledat v souboru ZIP. Je disk plný?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "Nepodařilo zapisovat do archivu. Je disk plný?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "Kompresní zařízení nelze otevřít: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "Žádný soubor nebo zařízení"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
@@ -1,5 +1,5 @@
# SPDX-FileCopyrightText: 2024 Johannes Obermayr <johannesobermayr@gmx.de>
# Frederik Schwarzer <schwarzer@kde.org>, 2023.
# SPDX-FileCopyrightText: 2023 Frederik Schwarzer <schwarzer@kde.org>
msgid ""
msgstr ""
"Project-Id-Version: karchive6_qt\n"
@@ -14,89 +14,100 @@ msgstr ""
"X-Generator: Lokalize 24.11.70\n"
"X-Qt-Contexts: true\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "Das zugrunde liegende Gerät kann nicht geöffnet werden"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "Lesen des Vorspanns ist fehlgeschlagen"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "Überprüfung der Signatur ist fehlgeschlagen"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "Fehlerhafte Prüfsumme"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "Der nächste Vorspann ist zu groß"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "Der nächste Vorspann hat eine Größe kleiner Null"
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
msgstr ""
"Die Größe des nächsten Vorspanns kann nicht gelesen werden; Soll: %1, Ist: %2"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "Die Prüfsumme des nächsten Vorspanns ist fehlerhaft"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "Fehler in Vorspann"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr ""
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "Falscher Vorspann-Typ"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "Nicht implementiert"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "Fehler beim Lesen der Informationen des Hauptteils"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "Fehler beim Lesen des Vorspanns"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr ""
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "Fehler beim Lesen der Änderungszeit"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "Fehler beim Lesen der MTime"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "Ungültig"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
@@ -104,105 +115,110 @@ msgstr ""
"Das Lesen der Größe ist fehlgeschlagen (checkRecordsSize: %1, d->pos - ppp: "
"%2, size: %3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr ""
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "Schreibfehler"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "Der Vorspann kann nicht verschlüsselt werden"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "Derzeit ist keine Datei ausgewählt"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr ""
"Anwendungsfehler: Die 7-Zip-Datei muss vor dem Hineinschreiben geöffnet sein"
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"Anwendungsfehler: In eine nicht beschreibbare 7-Zip-Datei kann nicht "
"geschrieben werden"
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "In die AR-Datei kann nicht geschrieben werden"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "Nicht unterstützter Modus %1"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "Ungültige Hauptkennung"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "Ungültige Kennung"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "Ungültige Größe"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "Ungültige Referenz zum langen Dateinamen"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "Ungültige Referenz zur Position des langen Dateinamens"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "Kein Dateiname oder Gerät angegeben"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "Gerät kann nicht in Modus %1 geöffnet werden"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "Das Erstellen des QSaveFile-Objekts für %1 ist fehlgeschlagen: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "Nicht unterstützter Modus %1"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "Archiv bereits geschlossen"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 existiert nicht oder ist keine reguläre Datei."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
@@ -211,30 +227,30 @@ msgstr ""
"Die Datei %1 kann für das Hinzufügen zum Archiv nicht geöffnet werden. Der "
"Fehler ist: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "Die Datei %1 kann nicht geöffnet werden: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "Der Ordner %1 existiert nicht"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "Fehler beim Schreiben: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "Unbekannter Fehler"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "Kann nicht schreiben. Ist die Partition voll?"
@@ -256,60 +272,68 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "Die Ressource %1 kann unter dem Präfix %2 nicht registriert werden"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "Die Datei %1 existiert nicht"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "Das Archiv %1 ist beschädigt"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "Medium ist voll"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "Das zugrunde liegende Gerät kann nicht geöffnet werden"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "tar-Vorspann kann nicht gelesen werden"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr ""
"Die temporäre Datei kann nicht in die Orginaldatei geschrieben werden: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "Die Ausrichtung kann nicht geschrieben werden: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, fuzzy, qt-format
#| msgctxt "KTar|"
#| msgid "Couldn't write alignment: %1"
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "Die Ausrichtung kann nicht geschrieben werden: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr ""
"Anwendungsfehler: Die TAR-Datei muss vor dem Hineinschreiben geöffnet sein"
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"Anwendungsfehler: In eine nicht beschreibbare 7-Zip-Datei kann nicht "
"geschrieben werden"
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
@@ -317,62 +341,62 @@ msgstr ""
"Anwendungsbegrenzung: Dateien größer als %1 Bytes können nicht hinzugefügt "
"werden"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "Der Vorspann kann nicht geschrieben werden: %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr ""
"Anwendungsfehler: Es wird versucht in eine nicht beschreibbare TAR-Datei zu "
"schreiben"
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr "Ungültige ZIP-Datei. Unerwartetes Dateiende. (Fehlercode: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "Ungültige ZIP-Datei. Name negativer Länge"
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr ""
"Ungültige ZIP-Datei. Der Name kann nicht vollständig gelesen werden (#2)"
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "Ungültige ZIP-Datei. „ExtraField“ ist fehlerhaft."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "Der Datensatz des nächsten Vorspanns ist nicht auffindbar"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "Ungültige ZIP-Datei. Unerwartetes Dateiende. (#5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "Die komprimierte Dateigröße nicht nicht auffindbar"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "Ungültige ZIP-Datei. Unerwartetes Dateiende. (#1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
@@ -380,99 +404,121 @@ msgstr ""
"Ungültige ZIP-Datei. Der zentrale Eintrag ist zu kurz (nicht lang genug für "
"einen gültigen Eintrag)"
#: kzip.cpp:640
#: kzip.cpp:670
#, fuzzy
#| msgctxt "KZip|"
#| msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgid "Invalid ZIP file, file path name length is zero"
msgstr ""
"Ungültige ZIP-Datei. Die Länge des Pfadnamens ist kleiner oder gleich null"
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "Ungültige ZIP-Datei. Der Name des Eintrags ist leer"
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "Die Datei %1 befindet sich im Ordner %2. Jedoch ist %3 eine Datei."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "Der nächste Eintrag ist nicht auffindbar"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "Ungültige ZIP-Datei. Unerwartetes Dateiende."
msgid "Not a ZIP file, no Local File Header found."
msgstr ""
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr "Ungültige ZIP-Datei. Unerkannter Vorspann bei Versatz %1"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "Der nächste Dateivorspann ist nicht auffindbar: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "Datei-Vorspann kann nicht geschrieben werden: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr ""
"Der Datensatz des zentralen Verzeichnisses kann nicht geschrieben werden: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr ""
"Anwendungsfehler: Die ZIP-Datei muss vor dem Hineinschreiben geöffnet sein"
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr ""
"Anwendungsfehler: In eine nicht beschreibbare ZIP-Datei kann nicht "
"geschrieben werden"
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "Das Gerät kann nicht erstellt werden. Ist das Laufwerk voll?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "In der ZIP-Datei kann nicht gesucht werden. Ist das Laufwerk voll?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "Es kann nicht in das Archiv geschrieben werden. Ist das Medium voll?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "Das Komprimierungsgerät kann nicht geöffnet werden: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "Keine Datei oder kein Gerät"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
msgstr "Fehler beim Schreiben der Daten: %1"
#~ msgctxt "KZip|"
#~ msgid "Invalid ZIP file. Unexpected end of file."
#~ msgstr "Ungültige ZIP-Datei. Unerwartetes Dateiende."
@@ -13,189 +13,205 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 23.03.70\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "Could not get underlying device"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "Read header failed"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "Check signature failed"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "Bad CRC"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "Next header size is too big"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "Next header size is less than zero"
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
msgstr "Failed read next header size; should read %1, read %2"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "Bad next header CRC"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "Error in header"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr ""
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "Wrong header type"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "Not implemented"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "Error while reading main streams information"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "Error while reading header"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr ""
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "Error reading modification time"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "Error reading MTime"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "Invalid"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
msgstr "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr ""
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "Write error"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "Failed while encoding header"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "No file currently selected"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr "Application error: 7-Zip file must be open before being written into"
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "Application error: attempted to write into non-writable 7-Zip file"
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "Cannot write to AR file"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "Unsupported mode %1"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "Invalid main magic"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "Invalid magic"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "Invalid size"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "Invalid longfilename reference"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "Invalid longfilename position reference"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "No filename or device was specified"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "Could not open device in mode %1"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "QSaveFile creation for %1 failed: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "Unsupported mode %1"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "Archive already closed"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 doesn't exist or is not a regular file."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
@@ -203,30 +219,30 @@ msgid ""
msgstr ""
"Failed accessing the file %1 for adding to the archive. The error was: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "Couldn't open file %1: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "Directory %1 does not exist"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "Writing failed: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "Unknown error"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "Could not write. Partition full?"
@@ -248,208 +264,238 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "Failed to register resource %1 under prefix %2"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "File %1 does not exist"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "Archive %1 is corrupt"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "Disk full"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "Could not get underlying device"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "Could not read tar header"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "Failed to write back temp file: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "Could not write alignment: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, fuzzy, qt-format
#| msgctxt "KTar|"
#| msgid "Couldn't write alignment: %1"
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "Could not write alignment: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr "Application error: TAR file must be open before being written into"
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "Application error: attempted to write into non-writable 7-Zip file"
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr "Application limitation: Cannot add file larger than %1 bytes"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "Failed to write header: %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr "Application error: attempted to write into non-writable TAR file"
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "Invalid ZIP file. Negative name length"
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr "Invalid ZIP file. Name not completely read (#2)"
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "Invalid ZIP File. Broken ExtraField."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "Could not seek to next header token"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "Invalid ZIP file. Unexpected end of file. (#5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "Could not seek to file compressed size"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "Invalid ZIP file. Unexpected end of file. (#1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
msgstr ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
#: kzip.cpp:640
#: kzip.cpp:670
#, fuzzy
#| msgctxt "KZip|"
#| msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgid "Invalid ZIP file, file path name length is zero"
msgstr "Invalid ZIP file, file path name length smaller or equal to zero"
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "Invalid ZIP file, found empty entry name"
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "File %1 is in folder %2, but %3 is actually a file."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "Could not seek to next entry"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "Invalid ZIP file. Unexpected end of file."
msgid "Not a ZIP file, no Local File Header found."
msgstr ""
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr "Invalid ZIP file. Unrecognised header at offset %1"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "Could not seek to next file header: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "Could not write file header: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "Could not write central dir record: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr "Application error: ZIP file must be open before being written into"
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr "Application error: attempted to write into non-writable ZIP file"
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "Cannot create a device. Disk full?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "Cannot seek in ZIP file. Disk full?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "Could not write to the archive. Disk full?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "Could not open compression device: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "No file or device"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
msgstr "Error writing data: %1"
#~ msgctxt "KZip|"
#~ msgid "Invalid ZIP file. Unexpected end of file."
#~ msgstr "Invalid ZIP file. Unexpected end of file."
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: karchive\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-10-20 02:58+0200\n"
"PO-Revision-Date: 2024-05-05 18:09+0100\n"
"PO-Revision-Date: 2025-03-22 22:36+0100\n"
"Last-Translator: Oliver Kellogg <olivermkellogg@gmail.com>\n"
"Language-Team: Esperanto <kde-i18n-eo@kde.org>\n"
"Language: eo\n"
@@ -19,88 +19,99 @@ msgstr ""
"X-Qt-Contexts: true\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "Ne eblis akiri subestan aparaton"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "Legita kaplinio malsukcesis"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "Kontrolsignaturo malsukcesis"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "Malbona CRC"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "Sekva kaplinio estas tro granda"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "La sekva kapa grandeco estas malpli ol nulo"
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
msgstr "Malsukcesis legi la sekvan kaplokon; devus legi %1, legi %2"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "Malbona sekva kaplinio CRC"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "Eraro en kaplinio"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr ""
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "Malĝusta kaptipo"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "Ne efektivigita"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "Eraro dum legado de informoj pri ĉefaj fluoj"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "Eraro dum legado de kaplinio"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr ""
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "Eraro legante modiftempon"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "Eraro legante MTime"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "Nevalida"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
@@ -108,103 +119,108 @@ msgstr ""
"Legograndeco malsukcesis (checkRecordsSize: %1, d->pos - ppp: %2, grandeco: "
"%3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr "enhavo"
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "Skriberaro"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "Malsukcesis dum kodado de kaplinio"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "Neniu dosiero nuntempe elektita"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr ""
"Aplika eraro: 7-Zip-dosiero devas esti malfermita antaŭ ol esti skribita enen"
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "Aplika eraro: provis skribi en neskribiblan 7-Zip-dosieron"
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "Ne povas skribi al AR-dosiero"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "Nesubtenata reĝimo %1"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "Nevalida ĉefa magio"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "Nevalida magio"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "Nevalida grandeco"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "Nevalida longdosiernomo referenco"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "Nevalida longdosiernomo pozicioreferenco"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "Neniu dosiernomo aŭ aparato estis specifita"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "Ne eblis malfermi aparaton en reĝimo %1"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "Kreado de QSaveFile por %1 malsukcesis: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "Nesubtenata reĝimo %1"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "Arkivo jam fermita"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 ne ekzistas aŭ ne estas regula dosiero."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
@@ -212,30 +228,30 @@ msgid ""
msgstr ""
"Malsukcesis aliri la dosieron %1 por aldoni al la arkivo. La eraro estis: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "Ne eblis malfermi la dosieron %1: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "Dosierujo %1 ne ekzistas"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "Skribo malsukcesis: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "Nekonata eraro"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "Ne povis skribi. Vando plena?"
@@ -257,115 +273,121 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "Malsukcesis registri rimedon %1 sub prefikso %2"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "Dosiero %1 ne ekzistas"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "Arkivo %1 estas difektita"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "Disko plena"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "Ne eblis akiri subestan aparaton"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "Ne eblis legi tar-kapon"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "Malsukcesis reskribi tempdosieron: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "Ne eblis skribi vicigon: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "Ne eblis skribi longan ligilon: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr ""
"Aplika eraro: TAR-dosiero devas esti malfermita antaŭ ol esti skribita enen"
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "Aplika eraro: provis skribi en ne-skribiblan 7-Zip-dosieron"
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr "Limigo de aplikaĵo: Ne povas aldoni dosieron pli grandan ol %1 bajtoj"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "Malsukcesis skribi kaplinion: %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr "Aplika eraro: provis skribi en ne-skribeblan TAR-dosieron"
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr "Nevalida ZIP-dosiero. Neatendita fino de dosiero. (Erara kodo: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "Nevalida ZIP-dosiero. Negativa nomlongeco"
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr "Nevalida ZIP-dosiero. Nomo ne tute legita (n-ro 2)"
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "Nevalida ZIP-dosiero. Rompita ExtraField."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "Ne eblis serĉi la sekvan kapĵetonon"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "Nevalida ZIP-dosiero. Neatendita fino de dosiero. (#5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "Ne eblis serĉi dosieron kunpremitan grandecon"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "Nevalida ZIP-dosiero. Neatendita fino de dosiero. (#1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
@@ -373,96 +395,118 @@ msgstr ""
"Nevalida ZIP-dosiero, centra enskribo tro mallonga (ne sufiĉe longa por "
"valida enskribo)"
#: kzip.cpp:640
#: kzip.cpp:670
#, fuzzy
#| msgctxt "KZip|"
#| msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgid "Invalid ZIP file, file path name length is zero"
msgstr ""
"Nevalida ZIP-dosiero, dosiera vojo nomo longo pli malgranda aŭ egala al nulo"
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "Nevalida ZIP-dosiero, trovita malplena enirnomo"
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "Dosiero %1 estas en dosierujo %2, sed %3 fakte estas dosiero."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "Ne eblis serĉi la sekvan enskribon"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "Nevalida ZIP-dosiero. Neatendita fino de dosiero."
msgid "Not a ZIP file, no Local File Header found."
msgstr ""
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr "Nevalida ZIP-dosiero. Nerekonita kaplinio ĉe deŝovo %1"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "Ne eblis serĉi la sekvan dosierkapon: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "Ne eblis skribi dosierkapon: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "Ne eblis skribi centran dosierujrikordon: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr ""
"Aplika eraro: ZIP-dosiero devas esti malfermita antaŭ ol esti skribita enen"
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr "Aplika eraro: provis skribi en neskribeblan ZIP-dosieron"
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "Ne povas krei aparaton. Disko plena?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "Ne eblas serĉi en ZIP-dosiero. Disko plena?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "Ne eblis skribi al la arkivo. Disko plena?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "Ne eblis malfermi kunpreman aparaton: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "Neniu dosiero aŭ aparato"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
msgstr "Eraro dum skribado de datumoj: %1"
#~ msgctxt "KZip|"
#~ msgid "Invalid ZIP file. Unexpected end of file."
#~ msgstr "Nevalida ZIP-dosiero. Neatendita fino de dosiero."
@@ -1,8 +1,14 @@
# Eloy Cuadra <ecuadra@eloihr.net>, 2022, 2023.
# Spanish translations for karchive6_qt.po package.
# Copyright (C) 2022-2025 This file is copyright:
# This file is distributed under the same license as the karchive package.
#
# SPDX-FileCopyrightText: 2022, 2023, 2025 Eloy Cuadra <ecuadra@eloihr.net>
msgid ""
msgstr ""
"Project-Id-Version: karchive5_qt\n"
"PO-Revision-Date: 2023-03-04 00:45+0100\n"
"Project-Id-Version: karchive6_qt\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-02-28 00:41+0000\n"
"PO-Revision-Date: 2025-08-07 12:28+0100\n"
"Last-Translator: Eloy Cuadra <ecuadra@eloihr.net>\n"
"Language-Team: Spanish <kde-l10n-es@kde.org>\n"
"Language: es\n"
@@ -11,39 +17,39 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Qt-Contexts: true\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 22.12.2\n"
"X-Generator: Lokalize 25.04.3\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "No se ha podido obtener el dispositivo subyacente"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "La lectura de la cabecera ha fallado"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "La comprobación de la firma ha fallado"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "CRC incorrecto"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "El tamaño de la siguiente cabecera es demasiado grande"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "El tamaño de la siguiente cabecera es menor que cero"
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
@@ -51,52 +57,64 @@ msgstr ""
"Ha fallado la lectura del tamaño de la siguiente cabecera: tendría que ser "
"%1 y se la leído %2"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "CRC de la siguiente cabecera incorrecto"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "Error en cabecera"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr "Se necesita contraseña para este archivador"
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "Tipo de cabecera incorrecto"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "No implementado"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "Error de lectura de información de los canales principales"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "Error de lectura de cabecera"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr ""
"El archivador tiene %1 archivos, que son más de la cantidad permitida (%2)"
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "Error de lectura de la hora de modificación"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "Error de lectura de MTime"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "No válido"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
@@ -104,138 +122,143 @@ msgstr ""
"Ha fallado el tamaño de la lectura (checkRecordsSize: %1, d->pos - ppp: %2, "
"tamaño: %3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr "contenido"
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "Error de escritura"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "Ha fallado la codificación de la cabecera"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "No se ha seleccionado ningún archivo"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr ""
"Error de la aplicación: el archivo 7-Zip debe estar abierto antes de "
"escribir en él."
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"Error de la aplicación: se ha intentado escribir en un archivo 7-Zip que no "
"permite escritura."
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "No se puede escribir en archivo AR"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "Modo %1 no permitido"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "Número mágico principal no válido"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "Número mágico no válido"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "Tamaño no válido"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "Referencia a nombre de archivo largo no válida"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "Referencia a posición de nombre de archivo largo no válida"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "No se ha indicado ningún archivo ni dispositivo"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "No se ha podido abrir el dispositivo en modo %1"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "Ha fallado la creación de QSaveFile para %1: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "Modo %1 no permitido"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "El archivo ya está cerrado"
msgstr "El archivador ya está cerrado"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 no existe o no es un archivo normal."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
"Failed accessing the file %1 for adding to the archive. The error was: %2"
msgstr ""
"Ha fallado el acceso al archivo %1 para añadirlo al archivo comprimido. El "
"error ha sido: %2"
"Ha fallado el acceso al archivo %1 para añadirlo al archivador. El error ha "
"sido: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "No se ha podido abrir el archivo %1: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "El directorio %1 no existe"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "La escritura ha fallado: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "Error desconocido"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "No se puede escribir. ¿Está llena la partición?"
@@ -257,122 +280,128 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "No se ha podido registrar el recurso %1 bajo el prefijo %2"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "El archivo %1 no existe"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "El archivo %1 está dañado"
msgstr "El archivador %1 está dañado"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "Disco lleno"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "No se ha podido obtener el dispositivo subyacente"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "No se ha podido leer la cabecera «tar»"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "No se ha podido reescribir el archivo temporal: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "No se ha podido escribir la alineación: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "No se ha podido escribir el enlace largo: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr ""
"Error de la aplicación: el archivo TAR debe estar abierto antes de escribir "
"en él."
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"Error de la aplicación: se ha intentado escribir en un archivo 7-Zip que no "
"permite escritura."
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr ""
"Limitación de la aplicación: no se pueden añadir archivos mayores de %1 bytes"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "No se ha podido escribir la cabecera: %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr ""
"Error de la aplicación: se ha intentado escribir en un archivo TAR que no "
"permite escritura."
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr ""
"Archivo ZIP no válido: fin de archivo inesperado. (Código de error: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "Archivo ZIP no válido: longitud de nombre negativa"
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr "Archivo ZIP no válido: nombre no leído completamente (#2)."
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "Archivo ZIP no válido: «ExtraField» incorrecto."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "No se puede ir hasta el siguiente token de cabecera"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "Archivo ZIP no válido: fin de archivo inesperado. (#5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "No se puede ir hasta el tamaño del archivo comprimido"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "Archivo ZIP no válido: fin de archivo inesperado. (#1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
@@ -380,99 +409,117 @@ msgstr ""
"Archivo ZIP no válido: entrada central demasiado corta (no es lo "
"suficientemente larga para ser una entrada válida)."
#: kzip.cpp:640
#: kzip.cpp:670
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgstr ""
"Archivo ZIP no válido: longitud de nombre de ruta de archivo menor o igual "
"que cero."
msgid "Invalid ZIP file, file path name length is zero"
msgstr "Archivo ZIP no válido: longitud de nombre de ruta de archivo es cero."
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
"Archivo ZIP no válido: no se han podido leer %1 + %2 bytes para el nombre de "
"archivo y datos adicionales en la posición %3."
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
"Archivo ZIP no válido: desplazamiento de cabecera local inconsistente en "
"directorio central en %1"
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "Archivo ZIP no válido: se ha encontrado un nombre de entrada vacío."
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "El archivo %1 está en la carpeta %2, pero %3 es realmente un archivo."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "No se puede avanzar a la siguiente entrada"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "Archivo ZIP no válido: fin de archivo inesperado."
msgid "Not a ZIP file, no Local File Header found."
msgstr ""
"No es un archivo ZIP: no se ha encontrado la cabecera de archivo local."
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr "Archivo ZIP no válido: cabecera no reconocida en el desplazamiento %1"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "No se puede buscar la siguiente cabecera de archivo: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "No se ha podido escribir la cabecera del archivo: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "No se puede escribir el registro «dir» central: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr ""
"Error de la aplicación: el archivo ZIP debe estar abierto antes de escribir "
"en él."
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr ""
"Error de la aplicación: se ha intentado escribir en un archivo ZIP que no "
"permite escritura."
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "No se puede crear un dispositivo. ¿Disco lleno?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "No se puede buscar en el archivo ZIP. ¿Disco lleno?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "No se puede escribir en el archivo. ¿Disco lleno?"
msgstr "No se puede escribir en el archivador. ¿El disco está lleno?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "No se ha podido abrir el dispositivo de compresión: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "Ningún archivo ni dispositivo"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
@@ -1,14 +1,14 @@
# Translation for karchive6_qt.po to Euskara/Basque (eu).
# Copyright (C) 2023 This file is copyright:
# Copyright (C) 2023, 2025 This file is copyright:
# This file is distributed under the same license as the original file.
# KDE euskaratzeko proiektuko arduraduna <xalba@ni.eus>.
# SPDX-FileCopyrightText: 2025 KDE euskaratzeko proiektuaren arduraduna <xalba@ni.eus>
#
# Translators:
# Iñigo Salvador Azurmendi <xalba@ni.eus>, 2023.
# Iñigo Salvador Azurmendi <xalba@ni.eus>, 2023, 2025.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"PO-Revision-Date: 2023-04-10 08:42+0200\n"
"PO-Revision-Date: 2025-08-09 12:40+0200\n"
"Last-Translator: Iñigo Salvador Azurmendi <xalba@ni.eus>\n"
"Language-Team: Basque <kde-i18n-eu@kde.org>\n"
"Language: eu\n"
@@ -17,39 +17,39 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Qt-Contexts: true\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 22.12.3\n"
"X-Generator: Lokalize 25.04.3\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "Ezin izan da azpian dagoen gailua lortu"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "Goiburua irakurtzea huts egin du"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "Sinadura egiaztatzea huts egin du"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "CRC okerra"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "Hurrengo goiburuaren neurria handiegia da"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "Hurrengo goiburuaren neurria zero baino txikiagoa da"
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
@@ -57,52 +57,63 @@ msgstr ""
"Hurrengo goiburuaren neurria irakurtzea huts egin du; %1 irakurri ordez %2 "
"irakurri du"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "Hurrengo goiburuaren CRC okerra"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "Errorea goiburuan"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr "Artxibo honetarako pasahitza behar da"
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "Goiburu-mota okerra"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "Inplementatu gabe"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "Errorea korronte nagusien informazioa irakurtzean"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "Errorea goiburua irakurtzean"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr "Artxiboak %1 fitxategi ditu, onartutako kopurua baino gehiago (%2)"
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "Aldaketa ordua irakurtzeko errorea"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "«MTime» irakurtzeko errorea"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "Baliogabea"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
@@ -110,106 +121,111 @@ msgstr ""
"Neurria irakurtzea huts egin du (checkRecordsSize: %1, d->pos - ppp: %2, "
"neurria: %3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr "edukia"
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "Idazketa errorea"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "Goiburua kodetzean huts egin du"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "Une honetan ez dago fitxategirik hautatuta"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr ""
"Aplikazioaren errorea: 7-Zip fitxategia irekita egon behar da hartan idatzi "
"aurretik"
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"Aplikazioaren errorea: idazgarria ez den 7-Zip fitxategi batean idazteko "
"saiakera"
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "Ezin du idatzi AR fitxategian"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "Euskarririk gabeko %1 modua"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "Zenbaki magiko nagusi baliogabea"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "Zenbaki magiko baliogabea"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "Neurri baliogabea"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "Fitxategi-izen luzearen erreferentzia baliogabea"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "Fitxategi-izen luzearen kokapenaren erreferentzia baliogabea"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "Ez da fitxategi-izen edo gailurik zehaztu"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "Ezin izan du gailua %1 moduan ireki"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "%1(e)rako «QSaveFile» sortzeak huts egin du: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "Euskarririk gabeko %1 modua"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "Artxiboa dagoeneko itxita"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 ez dago edo ez da fitxategi arrunta."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
@@ -217,30 +233,30 @@ msgid ""
msgstr ""
"Artxibora gehitzeko %1 fitxategira sartzea huts egin du. Errorea izan da: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "Ezin izan du %1 fitxategia ireki: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "%1 direktorioa ez dago"
msgstr "%1 direktorioa ez da existitzen"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "Idaztea huts egin du: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "Errore ezezaguna"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "Ezin izan du idatzi. Partizioa beteta?"
@@ -262,122 +278,128 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "%1 baliabidea %2 aurrizki pean erregistratzea huts egin du"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "%1 fitxategia ez dago"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "%1 artxiboa hondatuta dago"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "Diskoa beteta"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "Ezin izan da azpian dagoen gailua lortu"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "Ezin izan du «tar» goiburua irakurri"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "Aldi baterako fitxategian atzera idaztea huts egin du: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "Ezin izan du lerrokadura idatzi: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "Ezin izan du esteka luzea idatzi: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr ""
"Aplikazioaren errorea: TAR fitxategia irekita egon behar da hartan idatzi "
"aurretik"
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"Aplikazioaren errorea: idazgarria ez den 7-Zip fitxategi batean idazteko "
"saiakera"
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr ""
"Aplikazioaren muga: Ezin da gehitu %1 byte baino handiagoa den fitxategia"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "Goiburua idaztea huts egin du: %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr ""
"Aplikazioaren errorea: idazgarria ez den TAR fitxategi batean idazteko "
"saiakera"
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr ""
"ZIP fitxategi baliogabea. Ustekabeko fitxategi amaiera. (Errore kodea: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "ZIP fitxategi baliogabea. Izenaren luzera negatiboa"
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr "ZIP fitxategi baliogabea. Izenaren osotasuna ez da irakurri (2 zk.)"
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "ZIP fitxategi baliogabea. «ExtraField» hautsia."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "Ezin izan du goiburuko hurrengo tokena bilatu"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "ZIP fitxategi baliogabea. Ezusteko fitxategi amaiera. (5 zk.)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "Ezin izan du fitxategiaren neurri konprimatua bilatu"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "ZIP fitxategi baliogabea. Ezusteko fitxategi amaiera. (1 zk.)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
@@ -385,100 +407,121 @@ msgstr ""
"ZIP fitxategi baliogabea, sarrera nagusia laburregia (ez da baliozkoa "
"izateko behar bezain luzea)"
#: kzip.cpp:640
#: kzip.cpp:670
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgstr ""
"ZIP fitxategi baliogabea, fitxategiaren bide-izenaren luzera zero edo "
"txikiagoa"
msgid "Invalid ZIP file, file path name length is zero"
msgstr "ZIP fitxategi baliogabea, fitxategi bide-izenaren luzera zero da"
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
"ZIP fitxategi baliogabea, ezin ditu irakurri %1 + %2 byte, fitxategi-"
"izenerako eta datu gehigarrietarako, %3 posizioan"
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
"ZIP fitxategi baliogabea, direktorio nagusian %1(e)an goiburu lokaleko "
"jatorri aldaketa inkoherentea"
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "ZIP fitxategi baliogabea, sarrera-izen hutsa aurkitu da"
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "%1 fitxategia %2 karpetan dago, baina %3 fitxategi bat da."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "Ezin du hurrengo sarrera bilatu"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "ZIP fitxategi baliogabea. Ezusteko fitxategi amaiera."
msgid "Not a ZIP file, no Local File Header found."
msgstr "Ez da ZIP fitxategi bat, ez da fitxategi lokalaren goibururik aurkitu."
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr "ZIP fitxategi baliogabea. Goiburu ezezaguna %1 jatorri-aldaketan"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "Ezin izan du hurrengo fitxategiaren goiburua bilatu: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "Ezin izan du fitxategiaren goiburua idatzi: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "Ezin izan du direktorio nagusiaren erregistroa idatzi: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr ""
"Aplikazioaren errorea: ZIP fitxategia irekita egon behar da hartan idatzi "
"aurretik"
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr ""
"Aplikazioaren errorea: idazgarria ez den ZIP fitxategi batean idazteko "
"saiakera"
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "Ezin du gailu bat sortu. Diskoa beteta?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "Ezin du ZIP fitxategi batean bilatu. Diskoa beteta?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "Ezin du artxiboan idatzi. Diskoa beteta?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "Ezin izan du konpresio gailua ireki: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "Fitxategirik edo gailurik ez"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
msgstr "Errorea datuak idaztean: %1"
#~ msgctxt "KZip|"
#~ msgid "Invalid ZIP file. Unexpected end of file."
#~ msgstr "ZIP fitxategi baliogabea. Ezusteko fitxategi amaiera."
@@ -1,8 +1,8 @@
# Tommi Nieminen <translator@legisign.org>, 2022, 2023.
# SPDX-FileCopyrightText: 2022, 2023, 2025 Tommi Nieminen <translator@legisign.org>
msgid ""
msgstr ""
"Project-Id-Version: \n"
"PO-Revision-Date: 2023-03-07 21:29+0200\n"
"PO-Revision-Date: 2025-09-10 16:58+0300\n"
"Last-Translator: Tommi Nieminen <translator@legisign.org>\n"
"Language-Team: Finnish <kde-i18n-doc@kde.org>\n"
"Language: fi\n"
@@ -10,226 +10,243 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 25.04.0\n"
"X-Qt-Contexts: true\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "Alla olevaa laitetta ei saatu"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "Otsakkeen lukeminen epäonnistui"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "Allekirjoituksen tarkistaminen epäonnistui"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "Virheellinen tarkistussumma"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "Seuraava otsake on kooltaan liian suuri"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "Seuraava otsake on kooltaan alle nolla"
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
msgstr ""
"Seuraavan otsakkeen koon lukeminen epäonnistui: tulisi lukea %1, luettiin %2"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "Seuraavan otsakkeen tarkistussumma on virheellinen"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "Virhe otsakkeessa"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr "Tämä arkisto vaatii salasanan"
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "Väärä otsakkeen tyyppi"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "Ei toteutettu"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "Virhe luettaessa päävirran tietoa"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "Virhe luettaessa otsaketta"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr "Arkistossa on %1 tiedostoa, mikä on enemmän kuin tuettu määrä (%2)"
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "Virhe luettaessa muutosaikaa"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "Virhe luettaessa MTimea"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "Virheellinen"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
msgstr ""
"Koon lukeminen epäonnistui (checkRecordsSize: %1, d->pos ppp: %2, koko: %3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr "sisältö"
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "Kirjoitusvirhe"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "Virhe otsaketta koodattaessa"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "Tiedostoa ei ole valittu"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr ""
"Sovellusvirhe: 7-Zip-tiedoston tulee olla auki, ennen kuin siihen "
"kirjoitetaan"
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "Sovellusvirhe: yritettiin kirjoittaa ei-kirjoitettavaa 7-Zip-tiedostoa"
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "AR-tiedostoon ei voida kirjoittaa"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "Ei-tuettu tila %1"
# :D
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "Virheellinen päätaika"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "Virheellinen taika"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "Virheellinen koko"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "Virheellinen pitkän tiedostonimen viite"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "Virheellinen pitkän tiedostonimen sijaintiviite"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "Tiedostonimeä tai laitetta ei ole annettu"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "Laitetta ei voitu avata tilassa %1"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "QSaveFile-luonti kohteelle %1 epäonnistui: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "Ei-tuettu tila %1"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "Arkisto on jo suljettu"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 puuttuu tai ei ole tavallinen tiedosto."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
"Failed accessing the file %1 for adding to the archive. The error was: %2"
msgstr "Tiedoston %1 saanti arkistoon lisäämiseksi epäonnistui. Virhe oli: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "Ei voitu avata tiedostoa %1: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "Kansiota %1 ei ole olemassa."
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "Kirjoittaminen epäonnistui: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "Tuntematon virhe"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "Ei voitu kirjoittaa. Onko levy täynnä?"
@@ -251,116 +268,122 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "Resurssin %1 rekisteröinti etuliitteelle %2 epäonnistui"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "Tiedostoa %1 ei ole olemassa"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "Arkisto %1 on vioittunut"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "Levy täynnä"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "Alla olevaa laitetta ei saatu"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "tar-otsaketta ei voitu lukea"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "Väliaikaistiedoston kirjoittaminen takaisin epäonnistui: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "Tasausta ei voitu kirjoittaa: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "Ei voitu kirjoittaa pitkää linkkiä: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr ""
"Sovellusvirhe: tar-tiedoston tulee olla auki, ennen kuin siihen kirjoitetaan"
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "Sovellusvirhe: yritettiin kirjoittaa ei-kirjoitettavaa 7-Zip-tiedostoa"
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr "Sovellusrajoitus: yli %1 tavun tiedostoa ei voi lisätä"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "Otsakkeen kirjoittaminen epäonnistui: %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr "Sovellusvirhe: yritettiin kirjoittaa ei-kirjoitettavaa tar-tiedostoa"
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr ""
"Virheellinen Zip-tiedosto. Odottamaton tiedoston loppu. (Virhekoodi: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "Virheellinen Zip-tiedosto. Negatiivinen nimen pituus"
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr "Virheellinen Zip-tiedosto. Nimeä ei luettu kokonaan (#2)"
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "Virheellinen Zip-tiedosto. Vioittunut ”ExtraField”."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "Seuraavan otsakkeen merkkiä ei voitu etsiä"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "Virheellinen Zip-tiedosto. Odottamaton tiedoston loppu. (#5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "Tiedoston pakattua kokoa ei voitu etsiä"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "Virheellinen Zip-tiedosto. Odottamaton tiedoston loppu. (#1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
@@ -368,97 +391,118 @@ msgstr ""
"Virheellinen Zip-tiedosto. Keskimmäinen tietue liian lyhyt (ei riittävän "
"pitkä kelvolliseksi tietueeksi)"
#: kzip.cpp:640
#: kzip.cpp:670
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgstr ""
"Virheellinen Zip-tiedosto. Tiedostopolun nimen pituus pienempi tai yhtä "
"suuri kuin nolla"
msgid "Invalid ZIP file, file path name length is zero"
msgstr "Virheellinen Zip-tiedosto: tiedostopolun nimen pituus on nolla"
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
"Virheellinen Zip-tiedosto: ei voida lukea %1 + %2 tavua tiedostonimelle ja "
"lisätiedolle kohdasta %3"
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
"Virheellinen Zip-tiedosto: epäjohdonmukainen paikallisen otsakkeen siirtymä "
"keskushakemistossa kohdassa %1"
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "Virheellinen Zip-tiedosto. Löydettiin tyhjä tietueen nimi"
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "Tiedosto %1 on kansiossa %2, mutta %3 on todellisuudessa tiedosto."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "Seuraavaa tietuetta ei voitu etsiä"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "Virheellinen Zip-tiedosto. Odottamaton tiedoston loppu."
msgid "Not a ZIP file, no Local File Header found."
msgstr "Ei Zip-tiedosto: ei löytynyt paikallista tiedosto-otsaketta."
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr "Virheellinen Zip-tiedosto. Tuntematon otsake kohdassa %1"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "Seuraavaa tiedosto-otsaketta ei voitu etsiä: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "Tiedoston otsaketta ei voida kirjoittaa: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "Keskeistä hakemistotietuetta ei voitu kirjoittaa: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr ""
"Sovellusvirhe: Zip-tiedoston tulee olla auki, ennen kuin siihen kirjoitetaan"
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr "Sovellusvirhe: yritettiin kirjoittaa ei-kirjoitettavaa ZIP-tiedostoa"
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "Laitetta ei voida luoda. Onko levy täynnä?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "ZIP-tiedostossa ei voi etsiä. Onko levy täysi?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "Arkistoon ei voida kirjoittaa. Onko levy täynnä?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "Pakkauslaitetta ei voitu avata: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "Ei tiedosto tai laite"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
msgstr "Virhe kirjoitettaessa dataa: %1"
#~ msgctxt "KZip|"
#~ msgid "Invalid ZIP file. Unexpected end of file."
#~ msgstr "Virheellinen Zip-tiedosto. Odottamaton tiedoston loppu."
@@ -1,9 +1,9 @@
# SPDX-FileCopyrightText: 2022, 2023, 2024 Xavier Besnard <xavier.besnard@kde.org>
# SPDX-FileCopyrightText: 2022, 2023, 2024, 2025 Xavier Besnard <xavier.besnard@kde.org>
# Xavier Besnard <xavier.besnard@kde.org>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: karchive5_qt\n"
"PO-Revision-Date: 2024-04-25 14:16+0200\n"
"PO-Revision-Date: 2025-08-08 11:13+0200\n"
"Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
"Language-Team: French <French <kde-francophone@kde.org>>\n"
"Language: fr\n"
@@ -11,40 +11,40 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 23.08.5\n"
"X-Generator: Lokalize 25.07.90\n"
"X-Qt-Contexts: true\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "Impossible d'obtenir le périphérique sous-jacent"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "Échec de la lecture de l'en-tête"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "Échec de la vérification de la signature"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "Contrôle cyclique (CRC) erroné"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "La taille de la prochaine en-tête est trop grande"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "La taille de la prochaine en-tête est inférieure à zéro."
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
@@ -52,52 +52,65 @@ msgstr ""
"Impossible de lire la taille de la prochaine en-tête. Doit-on lire %1 puis "
"%2 ?"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "Code de redondance cyclique (CRC) erroné pour le prochain en-tête"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "Erreur dans l'en-tête"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr "Un mot de passe est nécessaire pour cette archive."
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "Mauvais type d'en-tête"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "Non implémenté"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "Erreur durant la lecture des informations principales des flux"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "Erreur lors de la lecture de l'en-tête"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr ""
"L'archive contient %1 fichiers, ce qui est supérieur au montant maximal pris "
"en charge (%2)."
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "Erreur lors de la lecture de l'heure de modification"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "Erreur durant la lecture du paramètre « MTime »"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "Non valable"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
@@ -105,106 +118,111 @@ msgstr ""
"Échec de la lecture de la taille (Taille de vérification des "
"enregistrements : %1, d -> pos - ppp : %2, taille : %3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr "sommaire"
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "Erreur en écriture"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "Échec lors de l'encodage de l'en-tête"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "Aucun fichier actuellement sélectionné"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr ""
"Erreur de l'application : le fichier au format « 7-ZIP » doit être ouvert "
"avant d'y écrire dedans."
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"Erreur de l'application : tentative d'écriture dans un fichier en lecture "
"seule de format « 7-ZIP »"
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "Impossible d'écrire vers un fichier « AR »"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "Mode %1 non pris en charge"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "Numéro magique principal non valable"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "Numéro magique non valable"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "Taille non valable"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "Référence non valable à un nom long de fichier"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "Référence non valable de position d'un nom long de fichier"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "Aucun nom de fichier ou aucun périphérique n'a été spécifié"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "Impossible d'ouvrir le périphérique en mode %1"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "Impossible de créer un objet « QSaveFile » pour %1 : %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "Mode %1 non pris en charge"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "Archive déjà fermée"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1n'existe pas ou n'est pas un fichier standard."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
@@ -212,30 +230,30 @@ msgid ""
msgstr ""
"Échec d'accès au fichier %1 durant son ajout à l'archive. L'erreur était : %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "Impossible d'ouvrir le fichier %1 : %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "Le dossier %1 n'existe pas"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "Échec de l'écriture : %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "Erreur inconnue"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr ""
@@ -258,60 +276,66 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "Impossible d'enregistrer la ressource %1 sous le préfixe %2"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "Le fichier %1 n'existe pas"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "L'archive %1 est corrompue"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "Disque plein"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "Impossible d'obtenir le périphérique sous-jacent"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "Impossible de lire l'en-tête du fichier « TAR »"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "Échec de l'écriture du fichier temporaire : %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "Impossible d'écrire l'alignement : %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "Impossible d'écrire un lien au format long : %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr ""
"Erreur de l'application : le fichier au format « TAR » doit être ouvert "
"avant d'y écrire dedans."
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"Erreur de l'application : tentative d'écriture dans un fichier en lecture "
"seule de format « 7-ZIP »"
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
@@ -319,20 +343,20 @@ msgstr ""
"Limitation de l'application : impossible d'ajouter des fichiers ayant une "
"taille supérieure à %1 octets"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "Impossible d'écrire l'en-tête : %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr ""
"Erreur de l'application : tentative d'écriture dans un fichier en lecture "
"seule de format « TAR »"
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
@@ -340,48 +364,48 @@ msgstr ""
"Fichier au format « zip » non valable. La fin de fichier a été atteinte de "
"façon non prévue (Code d'erreur : %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "Fichier au format « zip » non valable. Longueur négative du nom."
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr ""
"Fichier au format « zip » non valable. Un nom n'a pu être lu en totalité. "
"(#2)"
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "Fichier au format « zip » non valable. Champ additionnel corrompu."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "Impossible de trouver le prochain jeton d'en-tête"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr ""
"Fichier au format « zip » non valable. La fin de fichier a été atteinte de "
"façon non prévue. (#5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "Impossible de trouver la taille du fichier compressé"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr ""
"Fichier au format « zip » non valable. La fin de fichier a été atteinte de "
"façon non prévue. (#1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
@@ -389,39 +413,59 @@ msgstr ""
"Fichier au format « zip » non valable. L'entrée central est trop courte (Pas "
"assez longue pour être une entrée valable)"
#: kzip.cpp:640
#: kzip.cpp:670
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgid "Invalid ZIP file, file path name length is zero"
msgstr ""
"Fichier au format « zip » non valable. La longueur du nom de l'emplacement "
"du fichier est inférieure ou égale à zéro."
"du fichier est de zéro."
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
"Fichier au format « ZIP » non valable. Il est impossible de lire %1 + %2 "
"octets pour le nom de fichier et les données supplémentaires avec le "
"décalage %3"
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
"Fichier « ZIP » non valable. Décalage incohérent de l'en-tête local dans le "
"dépôt central à %1"
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr ""
"Fichier au format « zip » non valable. Un nom d'entrée vide a été trouvé."
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr ""
"Le fichier %1 est dans le dossier %2 mais %3 est actuellement un fichier."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "Impossible de se positionner sur l'entrée suivante"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgid "Not a ZIP file, no Local File Header found."
msgstr ""
"Fichier au format « zip » non valable. La fin de fichier a été atteinte de "
"façon non prévue."
"N'est pas un fichier « ZIP ». Impossible de trouver un en-tête local de "
"fichier."
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
@@ -429,68 +473,74 @@ msgstr ""
"Fichier au format « zip » non valable. En-tête non reconnu avec le décalage "
"%1"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "Impossible de trouver la prochaine en-tête de fichier : %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "Impossible d'écrire l'en-tête du fichier : %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "Impossible d'écrire l'enregistrement principal du dossier : %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr ""
"Erreur de l'application : le fichier au format « ZIP » doit être ouvert "
"avant d'y écrire dedans."
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr ""
"Erreur de l'application : tentative d'écriture dans un fichier en lecture "
"seule de format « ZIP »"
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr ""
"Impossible de créer un périphérique. Le disque pourrait-il être plein ?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr ""
"Impossible de rechercher dans un fichier « ZIP ». Le disque serait-il plein ?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "Impossible d'écrire dans l'archive Le disque pourrait-il être plein ?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "Impossible d'ouvrir le périphérique de compression : %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "Aucun fichier ou périphérique"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
msgstr "Erreur lors de l'écriture des données : %1"
#~ msgctxt "KZip|"
#~ msgid "Invalid ZIP file. Unexpected end of file."
#~ msgstr ""
#~ "Fichier au format « zip » non valable. La fin de fichier a été atteinte "
#~ "de façon non prévue."
@@ -1,100 +1,111 @@
# SPDX-FileCopyrightText: 2024 Adrián Chaves (Gallaecio)
# SPDX-FileCopyrightText: 2024, 2025 Adrián Chaves (Gallaecio)
msgid ""
msgstr ""
"Project-Id-Version: \n"
"PO-Revision-Date: 2024-12-16 22:33+0100\n"
"Last-Translator: Adrián Chaves (Gallaecio) <adrian@chaves.io>\n"
"PO-Revision-Date: 2025-05-20 06:49+0200\n"
"Last-Translator: Adrián Chaves (Gallaecio) <adrian@chaves.gal>\n"
"Language-Team: Proxecto Trasno (proxecto@trasno.gal)\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 24.12.0\n"
"X-Generator: Lokalize 25.04.1\n"
"X-Qt-Contexts: true\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "Non foi posíbel acceder ao dispositivo."
msgstr "Non foi posíbel obter ao dispositivo."
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "A lectura da cabeceira fallou."
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "A comprobación da sinatura fallou."
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "CRC incorrecta."
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "O tamaño da seguinte cabeceira é grande de máis."
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "O tamaño da seguinte cabeceira é inferior a cero."
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
msgstr "A lectura da seguinte cabeceira fallou; debía ler «%1», leu «%2»."
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "A CRC da seguinte cabeceira é incorrecta."
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "Hai un erro na cabeceira."
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr "O arquivo require contrasinal."
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "O tipo de cabeceira é incorrecto."
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "Non está implementado."
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "Erro ao ler os fluxos principais de información."
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "Erro ao ler a cabeceira."
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr ""
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "Erro ao ler a hora de modificación."
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "Erro ao ler a MTime."
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "Incorrecto"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
@@ -102,108 +113,113 @@ msgstr ""
"A lectura do tamaño fallou (checkRecordsSize: %1, d->pos - ppp: %2, tamaño: "
"%3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr "contido"
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "Erro de escritura"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "Erro ao codificar a cabeceira."
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "Non hai ningún ficheiro seleccionado."
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr ""
"Erro da aplicación: o ficheiro 7-Zip ten que abrirse primeiro para poder "
"escribir nel."
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"Erro da aplicación: intentou escribir nun ficheiro 7-Zip que non permite "
"escritura."
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "Non é posíbel escribir no ficheiro AR."
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "Non se permite o modo «%1»"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "Os primeiros bits principais son incorrectos."
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "Os primeiros bits son incorrectos."
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "O tamaño é incorrecto."
# skip-rule: trasno-file_reverse
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "A referencia a un nome de ficheiro longo é incorrecta."
# skip-rule: trasno-file_reverse
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "A referencia á posición dun nome de ficheiro longo é incorrecta."
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "Non se indicou ningún nome de ficheiro ou dispositivo."
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "Non foi posíbel abrir o dispositivo en modo «%1»."
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "A creación de QSaveFile para %1 fallou: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "Non se permite o modo «%1»."
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "O arquivo xa está pechado."
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 non existe ou non é un ficheiro normal."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
@@ -212,30 +228,30 @@ msgstr ""
"Non foi posíbel acceder ao ficheiro «%1» para engadilo ao arquivo. O erro "
"foi: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "Non é posíbel abrir o ficheiro %1: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "O directorio %1 non existe."
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "A escritura fallou: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "Produciuse un erro descoñecido"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "Non foi posíbel escribir. Está a partición chea?"
@@ -257,80 +273,86 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "Non foi posíbel rexistrar o recurso «%1» co prefixo «%2»."
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "O ficheiro %1 non existe."
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "O arquivo «%1» está corrompido."
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "O disco está cheo."
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "Non foi posíbel acceder ao dispositivo."
msgstr "Non foi posíbel obter ao dispositivo."
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "Non foi posíbel ler a cabeceira de TAR."
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "Non foi posíbel escribir de volta no ficheiro temporal: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "Non foi posíbel escribir o aliñamento: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "Non foi posíbel escribir a ligazón longa: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr ""
"Erro da aplicación: o ficheiro TAR ten que abrirse primeiro para poder "
"escribir nel."
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr ""
"Erro da aplicación: intentou escribir nun ficheiro 7-Zip que non permite "
"escritura."
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr ""
"Limitación da aplicación: non pode engadir un ficheiro de máis de %1 bytes."
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "Non foi posíbel escribir a cabeceira: %1."
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr ""
"Erro da aplicación: intentou escribir nun ficheiro TAR que non permite "
"escritura."
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
@@ -338,44 +360,44 @@ msgstr ""
"O ficheiro ZIP non é válido. O fin do ficheiro foi inesperado. O código do "
"erro foi: %1."
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "O ficheiro ZIP non é válido. A lonxitude do nome é negativa."
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr "O ficheiro ZIP non é válido. Non se puido ler o nome completo (#2)."
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "O ficheiro ZIP non é válido. ExtraField está roto."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr ""
"Non foi posíbel mover o punto de lectura ao seguinte código de cabeceira."
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "O ficheiro ZIP non é válido. O fin do ficheiro foi inesperado (#5)."
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr ""
"Non foi posíbel mover o punto de lectura ao tamaño comprimido do ficheiro."
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "O ficheiro ZIP non é válido. O fin do ficheiro foi inesperado (#1)."
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
@@ -383,103 +405,125 @@ msgstr ""
"O ficheiro ZIP non é válido, a entrada central é curta de máis (non é longa "
"dabondo para ser unha entrada válida)."
#: kzip.cpp:640
#: kzip.cpp:670
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgid "Invalid ZIP file, file path name length is zero"
msgstr ""
"O ficheiro ZIP non é válido, a lonxitude do nome da ruta de ficheiro é cero "
"ou negativa."
"O ficheiro ZIP non é válido, a lonxitude do nome da ruta de ficheiro é cero."
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
"O ficheiro ZIP non é válido, non é posíbel ler o nome de ficheiro e datos "
"adicionais de %1 + %2 bytes na posición %3."
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
"O ficheiro ZIP non é válido, a posición de cabeceira local no directorio "
"central en %1 é inconsistente."
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "O ficheiro ZIP non é válido, atopouse un nome de entrada baleiro."
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "O ficheiro %1 está no cartafol %2, pero %3 é en realidade un ficheiro."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "Non foi posíbel mover o punto de lectura á seguinte entrada."
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "O ficheiro ZIP non é válido. O fin do ficheiro foi inesperado."
msgid "Not a ZIP file, no Local File Header found."
msgstr "Non é un ficheiro ZIP, non se atopou unha cabeceira de ficheiro local."
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr ""
"O ficheiro ZIP non é válido. Hai unha cabeceira descoñecida no punto %1."
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr ""
"Non foi posíbel mover o punto de lectura á seguinte cabeceira de ficheiro: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "Non foi posíbel escribir na cabeceira do ficheiro: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "Non foi posíbel escribir o rexistro do cartafol central: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr ""
"Erro da aplicación: o ficheiro ZIP ten que abrirse primeiro para poder "
"escribir nel."
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr ""
"Erro da aplicación: intentou escribir nun ficheiro ZIP que non permite "
"escritura."
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "Non é posíbel crear un dispositivo. Está cheo o disco?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr ""
"Non é posíbel mover a posición de lectura no ficheiro ZIP. Está cheo o disco?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "Non foi posíbel escribir no arquivo. Está cheo o disco?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "Non foi posíbel abrir o dispositivo de compresión: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "Non hai nin ficheiro nin dispositivo."
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
msgstr "Produciuse un erro ao escribir os datos: %1"
#~ msgctxt "KZip|"
#~ msgid "Invalid ZIP file. Unexpected end of file."
#~ msgstr "O ficheiro ZIP non é válido. O fin do ficheiro foi inesperado."
@@ -1,9 +1,9 @@
# SPDX-FileCopyrightText: 2024 Yaron Shahrabani <sh.yaron@gmail.com>
# SPDX-FileCopyrightText: 2024, 2025 Yaron Shahrabani <sh.yaron@gmail.com>
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2024-04-11 06:47+0300\n"
"PO-Revision-Date: 2025-08-07 09:33+0300\n"
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
"Language-Team: צוות התרגום של KDE ישראל\n"
"Language: he\n"
@@ -13,221 +13,237 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
"n % 10 == 0) ? 2 : 3));\n"
"X-Qt-Contexts: true\n"
"X-Generator: Lokalize 23.08.5\n"
"X-Generator: Lokalize 25.04.3\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "לא ניתן לקבל את ההתקן שמתחת"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "קריאת הכותרת נכשלה"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "בדיקת החתימה נכשלה"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "CRC שגוי"
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "גודל הכותרת הבאה גדול מדי"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "גודל הכותרת הבאה קטן מאפס"
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
msgstr "קריאת גודל הכותרת הבאה נכשלה, אמור להיות %1, התקבל %2"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "ה־CRC של הכותרת הבאה שגוי"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "שגיאה בכותרת"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr "הארכיון הזה דורש סיסמה"
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "סוג הכותרת שגוי"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "לא ממומש"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "שגיאה בקריאת פרטי התזרימים הראשיים"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "שגיאה בקריאת כותרת"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr "בארכיון יש %1 קבצים שזה יותר מהכמות הנתמכת (%2)"
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "שגיאה בקריאת מועד השינוי"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "שגיאה בקריאת מועד השינוי"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "שגוי"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
msgstr "קריאת הגודל נכשלה (checkRecordsSize: %1, d->pos - ppp: %2, גודל: %3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr "תוכן"
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "שגיאת כתיבה"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "קידוד הכותרת נכשל"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "לא נבחר קובץ"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr "שגיאת יישום: קובץ ה־‎7-Zip חייב להיות פתוח לפני הכתיבה אליו"
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "שגיאת יישום: התבצע ניסיון לכתוב לקובץ ‎7-Zip שנעול לכתיבה"
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "לא ניתן לכתוב לקובץ AR"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "המצב %1 לא נתמך"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "קסם ראשי שגוי"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "קסם שגוי"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "גודל שגוי"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "הפניית שם קובץ ארוך (longfilename) שגויה"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "הפניית מקום שם קובץ ארוך (longfilename) שגויה"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "לא צוין שם קובץ או התקן"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "לא ניתן לפתוח את ההתקן במצב %1"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "יצירת QSaveFile עבור %1 נכשלה: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "המצב %1 לא נתמך"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "הארכיון כבר סגור"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 לא קיים או שאינו קובץ רגיל"
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
"Failed accessing the file %1 for adding to the archive. The error was: %2"
msgstr "הגישה לקובץ %1 לצורך הוספה לארכיון נכשלה. השגיאה הייתה: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "לא ניתן לפתוח את הקובץ %1‏: %2"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "התיקייה %1 לא קיימת"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "הכתיבה נכשלה: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "שגיאה לא ידועה"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "לא ניתן לכתוב. המחיצה מלאה?"
@@ -249,208 +265,233 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "רישום המשאב %1 תחת הקידומת %2 נכשל"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "הקובץ %1 לא קיים"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "הארכיון %1 פגום"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "הכונן מלא"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "לא ניתן לקבל את ההתקן שמתחת"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "לא ניתן לקרוא את כותרת ה־tar"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "כתיבת קובץ זמני בחזרה נכשלה: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "לא ניתן לכתוב יישור: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "לא ניתן לכתוב קישור ארוך: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr "שגיאת יישום: קובץ ה־TAR חייב להיות פתוח לפני הכתיבה אליו"
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "שגיאת יישום: התבצע ניסיון לכתוב לקובץ ‎7-Zip שנעול לכתיבה"
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr "מגבלת יישום: אי אפשר להוסיף קובץ שגודלו מעבר ל־%1 בתים"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "כתיבת הכותרת נכשלה: %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr "שגיאת יישום: התבצע ניסיון לכתוב לקובץ TAR שנעול לכתיבה"
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr "קובץ ZIP פגום. סוף הקובץ מפתיע. (קוד שגיאה: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "קובץ ZIP פגום. אורך שמות שלילי"
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr "קובץ ZIP פגום. השם לא נקרא במלואו (מס׳ 2)"
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "קובץ ZIP פגום. שדה נוסף (ExtraField) פגום."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "לא ניתן לחתור לאסימון הכותרת הבא"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "קובץ ZIP פגום. סוף הקובץ מפתיע. (מס׳ 5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "לא ניתן לחתור לגודל מכווץ של קובץ"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "קובץ ZIP פגום. סוף הקובץ מפתיע. (מס׳ 1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
msgstr ""
"קובץ ZIP פגום, הרשומה המרכזית קצרה מדי (לא ארוכה מספיק כדי להיות רשומה תקינה)"
#: kzip.cpp:640
#: kzip.cpp:670
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgstr "קובץ ZIP פגום, אורך שם נתיב קובץ קטן או שווה לאפס"
msgid "Invalid ZIP file, file path name length is zero"
msgstr "קובץ ZIP פגום, אורך שם נתיב הקובץ הוא אפס"
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr "קובץ ZIP שגוי, לא ניתן לקרוא %1 + %2 בתים ונתונים נוספים בהיסט %3"
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr "קובץ ZIP שגוי, היסט כותרת מקומית בלתי רציף בספרייה המרכזית ב־%1"
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "קובץ ZIP פגום, נמצא שם רשומה ריק"
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "הקובץ %1 הוא בתיקייה %2, אך %3 הוא בעצם קובץ."
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "לא ניתן לחתור לרשומה הבאה"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "קובץ ZIP פגום. סוף הקובץ מפתיע."
msgid "Not a ZIP file, no Local File Header found."
msgstr "לא קובץ ZIP, לא נמצאה כותרת קובץ מקומית."
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr "קובץ ZIP שגוי. כותרת שגויה בהיסט %1"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "לא ניתן לחתור לכותרת הקובץ הבאה: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "לא ניתן לכתוב את כותרת הקובץ: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "לא ניתן לכתוב רשומת תיקייה מרכזית: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr "שגיאת יישום: קובץ ה־ZIP חייב להיות פתוח לפני הכתיבה אליו"
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr "שגיאת יישום: התבצע ניסיון לכתוב לקובץ ‎ZIP שנעול לכתיבה"
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "לא ניתן ליצור התקן. הכונן מלא?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "לא ניתן לחתור בקובץ ZIP. הכונן מלא?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "לא ניתן לכתוב לארכיון. הכונן מלא?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "לא ניתן לפתוח התקן דחיסה: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "אין קובץ או התקן"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
msgstr "שגיאה בכתיבת נתונים: %1"
#~ msgctxt "KZip|"
#~ msgid "Invalid ZIP file. Unexpected end of file."
#~ msgstr "קובץ ZIP פגום. סוף הקובץ מפתיע."
@@ -11,219 +11,235 @@ msgstr ""
"X-Qt-Contexts: true\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: k7zip.cpp:2323
#: k7zip.cpp:2541
msgctxt "K7Zip|"
msgid "Could not get underlying device"
msgstr "अंतर्निहित डिवाइस नहीं मिल सका"
#: k7zip.cpp:2331
#: k7zip.cpp:2549
msgctxt "K7Zip|"
msgid "Read header failed"
msgstr "हेडर पढ़ना विफल"
#: k7zip.cpp:2337
#: k7zip.cpp:2555
msgctxt "K7Zip|"
msgid "Check signature failed"
msgstr "हस्ताक्षर जाँच विफल"
#: k7zip.cpp:2360
#: k7zip.cpp:2578
msgctxt "K7Zip|"
msgid "Bad CRC"
msgstr "ख़राब सी.आर.सी."
#: k7zip.cpp:2369
#: k7zip.cpp:2587
msgctxt "K7Zip|"
msgid "Next header size is too big"
msgstr "अगले हेडर का आकार बहुत बड़ा है"
#: k7zip.cpp:2374
#: k7zip.cpp:2592
msgctxt "K7Zip|"
msgid "Next header size is less than zero"
msgstr "अगले हेडर का आकार शून्य से कम है"
#: k7zip.cpp:2385
#: k7zip.cpp:2603
#, qt-format
msgctxt "K7Zip|"
msgid "Failed read next header size; should read %1, read %2"
msgstr "अगला हेडर आकार पढ़ने में विफल; %1 पढ़ना चाहिए, %2 पढ़ना चाहिए"
#: k7zip.cpp:2397
#: k7zip.cpp:2616
msgctxt "K7Zip|"
msgid "Bad next header CRC"
msgstr "ख़राब अगला हेडर CRC"
#: k7zip.cpp:2405
#: k7zip.cpp:2624
msgctxt "K7Zip|"
msgid "Error in header"
msgstr "हेडर में त्रुटि"
#: k7zip.cpp:2424
#: k7zip.cpp:2642 k7zip.cpp:2675
msgctxt "K7Zip|"
msgid "Password needed for this archive"
msgstr ""
#: k7zip.cpp:2648
msgctxt "K7Zip|"
msgid "Wrong header type"
msgstr "ग़लत हेडर प्रकार"
#: k7zip.cpp:2434 k7zip.cpp:2440
#: k7zip.cpp:2658 k7zip.cpp:2664
msgctxt "K7Zip|"
msgid "Not implemented"
msgstr "लागू नहीं किया गया"
#: k7zip.cpp:2446
#: k7zip.cpp:2670
msgctxt "K7Zip|"
msgid "Error while reading main streams information"
msgstr "मुख्य धारा की जानकारी पढ़ते समय त्रुटि"
#: k7zip.cpp:2464
#: k7zip.cpp:2693
msgctxt "K7Zip|"
msgid "Error while reading header"
msgstr "हेडर पढ़ते समय त्रुटि"
#: k7zip.cpp:2524
#: k7zip.cpp:2701 k7zip.cpp:2709
#, qt-format
msgctxt "K7Zip|"
msgid "Archive has %1 files which is more than the supported amount (%2)"
msgstr ""
#: k7zip.cpp:2767
msgctxt "K7Zip|"
msgid "Error reading modification time"
msgstr "संशोधन समय पढ़ने में त्रुटि"
#: k7zip.cpp:2570
#: k7zip.cpp:2813
msgctxt "K7Zip|"
msgid "Error reading MTime"
msgstr "MTime पढ़ने में त्रुटि"
#: k7zip.cpp:2577
#: k7zip.cpp:2820
msgctxt "K7Zip|"
msgid "Invalid"
msgstr "अमान्य"
#: k7zip.cpp:2599
#: k7zip.cpp:2844
#, qt-format
msgctxt "K7Zip|"
msgid "Read size failed (checkRecordsSize: %1, d->pos - ppp: %2, size: %3)"
msgstr "आकार पढ़ने में विफल (checkRecordsSize: %1, d->pos - ppp: %2, आकार: %3)"
#: k7zip.cpp:2802
#: k7zip.cpp:2884
msgctxt "K7Zip|"
msgid "contents"
msgstr ""
#: k7zip.cpp:3079
msgctxt "K7Zip|"
msgid "Write error"
msgstr "लिखने त्रुटि"
#: k7zip.cpp:2832
#: k7zip.cpp:3109
msgctxt "K7Zip|"
msgid "Failed while encoding header"
msgstr "हेडर एनकोड करते समय विफल"
#: k7zip.cpp:2876
#: k7zip.cpp:3153
msgctxt "K7Zip|"
msgid "No file currently selected"
msgstr "वर्तमान में कोई फ़ाइल चयनित नहीं है"
#: k7zip.cpp:2900 k7zip.cpp:2950 k7zip.cpp:2992
#: k7zip.cpp:3177 k7zip.cpp:3227 k7zip.cpp:3267
msgctxt "K7Zip|"
msgid "Application error: 7-Zip file must be open before being written into"
msgstr "अनुप्रयोग त्रुटि: 7-ज़िप फ़ाइल को लिखे जाने से पहले उसे खोलना आवश्यक है"
#: k7zip.cpp:2906 k7zip.cpp:2998
#: k7zip.cpp:3183 k7zip.cpp:3273
msgctxt "K7Zip|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "अनुप्रयोग त्रुटि: गैर-लेखन योग्य 7-ज़िप फ़ाइल में लिखने का प्रयास किया गया"
#: kar.cpp:56 kar.cpp:63 kar.cpp:70 kar.cpp:77
#: kar.cpp:53 kar.cpp:60 kar.cpp:67 kar.cpp:74
msgctxt "KAr|"
msgid "Cannot write to AR file"
msgstr "AR फ़ाइल में नहीं लिखा जा सकता"
#: kar.cpp:90
#: kar.cpp:87
#, qt-format
msgctxt "KAr|"
msgid "Unsupported mode %1"
msgstr "असमर्थित मोड%1"
#: kar.cpp:101
#: kar.cpp:98
msgctxt "KAr|"
msgid "Invalid main magic"
msgstr "अमान्य मुख्य जादू"
#: kar.cpp:118
#: kar.cpp:115
msgctxt "KAr|"
msgid "Invalid magic"
msgstr "अमान्य जादू"
#: kar.cpp:129
#: kar.cpp:126
msgctxt "KAr|"
msgid "Invalid size"
msgstr "अमान्य आकार"
#: kar.cpp:149
#: kar.cpp:146
msgctxt "KAr|"
msgid "Invalid longfilename reference"
msgstr "अमान्य longfilename संदर्भ"
#: kar.cpp:153
#: kar.cpp:150
msgctxt "KAr|"
msgid "Invalid longfilename position reference"
msgstr "अमान्य longfilename स्थिति संदर्भ"
#: karchive.cpp:157
#: karchive.cpp:178
msgctxt "KArchive|"
msgid "No filename or device was specified"
msgstr "कोई फ़ाइल नाम या डिवाइस निर्दिष्ट नहीं किया गया"
#: karchive.cpp:162
#: karchive.cpp:183
#, qt-format
msgctxt "KArchive|"
msgid "Could not open device in mode %1"
msgstr "डिवाइस को मोड %1 में नहीं खोला जा सका"
#: karchive.cpp:189
#: karchive.cpp:210
#, qt-format
msgctxt "KArchive|"
msgid "QSaveFile creation for %1 failed: %2"
msgstr "%1 के लिए QSaveFile निर्माण विफल: %2"
#: karchive.cpp:208
#: karchive.cpp:229
#, qt-format
msgctxt "KArchive|"
msgid "Unsupported mode %1"
msgstr "असमर्थित मोड%1"
#: karchive.cpp:217
#: karchive.cpp:238
msgctxt "KArchive|"
msgid "Archive already closed"
msgstr "संग्रह पहले ही बंद हो चुका है"
#: karchive.cpp:268
#: karchive.cpp:287
#, qt-format
msgctxt "KArchive|"
msgid "%1 doesn't exist or is not a regular file."
msgstr "%1 मौजूद नहीं है या एक नियमित फ़ाइल नहीं है."
#: karchive.cpp:274
#: karchive.cpp:293
#, qt-format
msgctxt "KArchive|"
msgid ""
"Failed accessing the file %1 for adding to the archive. The error was: %2"
msgstr "संग्रह में जोड़ने के लिए फ़ाइल %1 तक पहुँचने में विफल। त्रुटि थी: %2"
#: karchive.cpp:320
#: karchive.cpp:339
#, qt-format
msgctxt "KArchive|"
msgid "Couldn't open file %1: %2"
msgstr "फ़ाइल %1: %2 नहीं खोली जा सकी"
#: karchive.cpp:354
#: karchive.cpp:373
#, qt-format
msgctxt "KArchive|"
msgid "Directory %1 does not exist"
msgstr "निर्देशिका %1 मौजूद नहीं है"
#: karchive.cpp:428
#: karchive.cpp:447
#, qt-format
msgctxt "KArchive|"
msgid "Writing failed: %1"
msgstr "लेखन विफल: %1"
#: karchive_p.h:56
#: karchive_p.h:59
msgctxt "QIODevice|"
msgid "Unknown error"
msgstr "अज्ञात त्रुटि"
#: kcompressiondevice.cpp:487
#: kcompressiondevice.cpp:514
msgctxt "KCompressionDevice|"
msgid "Could not write. Partition full?"
msgstr "लिख नहीं सका. विभाजन भरा हुआ है?"
@@ -245,208 +261,238 @@ msgctxt "KRcc|"
msgid "Failed to register resource %1 under prefix %2"
msgstr "संसाधन %1 को उपसर्ग %2 के अंतर्गत पंजीकृत करने में विफल"
#: ktar.cpp:344
#: ktar.cpp:349
#, qt-format
msgctxt "KTar|"
msgid "File %1 does not exist"
msgstr "फ़ाइल %1 मौजूद नहीं है"
#: ktar.cpp:351
#: ktar.cpp:356
#, qt-format
msgctxt "KTar|"
msgid "Archive %1 is corrupt"
msgstr "संग्रह %1 दूषित है"
#: ktar.cpp:355
#: ktar.cpp:360
msgctxt "KTar|"
msgid "Disk full"
msgstr "डिस्क भर गई"
#: ktar.cpp:389
#: ktar.cpp:394
msgctxt "KTar|"
msgid "Could not get underlying device"
msgstr "अंतर्निहित डिवाइस नहीं मिल सका"
#: ktar.cpp:404
#: ktar.cpp:409
msgctxt "KTar|"
msgid "Could not read tar header"
msgstr "टार हेडर पढ़ा नहीं जा सका"
#: ktar.cpp:586
#: ktar.cpp:592 ktar.cpp:607
#, qt-format
msgctxt "KTar|"
msgid "Failed to write back temp file: %1"
msgstr "अस्थायी फ़ाइल वापस लिखने में विफल: %1"
#: ktar.cpp:642
#: ktar.cpp:653
#, qt-format
msgctxt "KTar|"
msgid "Couldn't write alignment: %1"
msgstr "संरेखण नहीं लिखा जा सका: %1"
#: ktar.cpp:765 ktar.cpp:848 ktar.cpp:917
#: ktar.cpp:755 ktar.cpp:765
#, fuzzy, qt-format
#| msgctxt "KTar|"
#| msgid "Couldn't write alignment: %1"
msgctxt "KTar|"
msgid "Couldn't write long link: %1"
msgstr "संरेखण नहीं लिखा जा सका: %1"
#: ktar.cpp:786 ktar.cpp:869 ktar.cpp:938
msgctxt "KTar|"
msgid "Application error: TAR file must be open before being written into"
msgstr "अनुप्रयोग त्रुटि: TAR फ़ाइल को लिखे जाने से पहले खोलना आवश्यक है"
#: ktar.cpp:771
#: ktar.cpp:792
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable 7-Zip file"
msgstr "अनुप्रयोग त्रुटि: गैर-लेखन योग्य 7-ज़िप फ़ाइल में लिखने का प्रयास किया गया"
#: ktar.cpp:778
#: ktar.cpp:799
#, qt-format
msgctxt "KTar|"
msgid "Application limitation: Can not add file larger than %1 bytes"
msgstr "अनुप्रयोग सीमा: %1 बाइट्स से बड़ी फ़ाइल नहीं जोड़ी जा सकती"
#: ktar.cpp:832
#: ktar.cpp:853
#, qt-format
msgctxt "KTar|"
msgid "Failed to write header: %1"
msgstr "शीर्षलेख लिखने में विफल: %1"
#: ktar.cpp:854 ktar.cpp:923
#: ktar.cpp:875 ktar.cpp:944
msgctxt "KTar|"
msgid "Application error: attempted to write into non-writable TAR file"
msgstr "अनुप्रयोग त्रुटि: गैर-लेखन योग्य TAR फ़ाइल में लिखने का प्रयास किया गया"
#: kzip.cpp:470 kzip.cpp:489
#: kzip.cpp:484 kzip.cpp:509
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (Error code: %1)"
msgstr "अमान्य ZIP फ़ाइल। फ़ाइल का अप्रत्याशित अंत। (त्रुटि कोड: %1)"
#: kzip.cpp:513
#: kzip.cpp:535
msgctxt "KZip|"
msgid "Invalid ZIP file. Negative name length"
msgstr "अमान्य ZIP फ़ाइल. नकारात्मक नाम लंबाई"
#: kzip.cpp:518
#: kzip.cpp:540
msgctxt "KZip|"
msgid "Invalid ZIP file. Name not completely read (#2)"
msgstr "अमान्य ZIP फ़ाइल. नाम पूरी तरह से पढ़ा नहीं जा सका (#2)"
#: kzip.cpp:537
#: kzip.cpp:558
msgctxt "KZip|"
msgid "Invalid ZIP File. Broken ExtraField."
msgstr "अमान्य ज़िप फ़ाइल. टूटा हुआ एक्स्ट्राफ़ील्ड."
#: kzip.cpp:551 kzip.cpp:574
#: kzip.cpp:572 kzip.cpp:595
msgctxt "KZip|"
msgid "Could not seek to next header token"
msgstr "अगले हेडर टोकन की खोज नहीं की जा सकी"
#: kzip.cpp:566
#: kzip.cpp:587
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#5)"
msgstr "अमान्य ZIP फ़ाइल. फ़ाइल का अप्रत्याशित अंत. (#5)"
#: kzip.cpp:582
#: kzip.cpp:602
msgctxt "KZip|"
msgid "Could not seek to file compressed size"
msgstr "संपीड़ित आकार की फ़ाइल नहीं खोजी जा सकी"
#: kzip.cpp:598
#: kzip.cpp:618
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file. (#1)"
msgstr "अमान्य ZIP फ़ाइल. फ़ाइल का अप्रत्याशित अंत. (#1)"
#: kzip.cpp:631
#: kzip.cpp:655
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, central entry too short (not long enough for valid entry)"
msgstr ""
"अमान्य ZIP फ़ाइल, केंद्रीय प्रविष्टि बहुत छोटी है (वैध प्रविष्टि के लिए पर्याप्त लंबी नहीं)"
#: kzip.cpp:640
#: kzip.cpp:670
#, fuzzy
#| msgctxt "KZip|"
#| msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgctxt "KZip|"
msgid "Invalid ZIP file, file path name length smaller or equal to zero"
msgid "Invalid ZIP file, file path name length is zero"
msgstr "अमान्य ZIP फ़ाइल, फ़ाइल पथ नाम की लंबाई शून्य से कम या बराबर है"
#: kzip.cpp:722
#: kzip.cpp:676
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, unable to read %1 + %2 bytes for filename and extra data "
"at offset %3"
msgstr ""
#: kzip.cpp:726
#, qt-format
msgctxt "KZip|"
msgid ""
"Invalid ZIP file, inconsistent Local Header Offset in Central Directory at %1"
msgstr ""
#: kzip.cpp:761
msgctxt "KZip|"
msgid "Invalid ZIP file, found empty entry name"
msgstr "अमान्य ZIP फ़ाइल, रिक्त प्रविष्टि नाम मिला"
#: kzip.cpp:763
#: kzip.cpp:803
#, qt-format
msgctxt "KZip|"
msgid "File %1 is in folder %2, but %3 is actually a file."
msgstr "फ़ाइल %1 फ़ोल्डर %2 में है, लेकिन %3 वास्तव में एक फ़ाइल है।"
#: kzip.cpp:774
#: kzip.cpp:814
msgctxt "KZip|"
msgid "Could not seek to next entry"
msgstr "अगली प्रविष्टि की तलाश नहीं की जा सकी"
#: kzip.cpp:787 kzip.cpp:797
#: kzip.cpp:843
msgctxt "KZip|"
msgid "Invalid ZIP file. Unexpected end of file."
msgstr "अमान्य ZIP फ़ाइल. फ़ाइल का अप्रत्याशित अंत."
msgid "Not a ZIP file, no Local File Header found."
msgstr ""
#: kzip.cpp:820
#: kzip.cpp:847
#, qt-format
msgctxt "KZip|"
msgid "Invalid ZIP file. Unrecognized header at offset %1"
msgstr "अमान्य ZIP फ़ाइल. ऑफ़सेट %1 पर अपरिचित हेडर"
#: kzip.cpp:848
#: kzip.cpp:875
#, qt-format
msgctxt "KZip|"
msgid "Could not seek to next file header: %1"
msgstr "अगले फ़ाइल हेडर तक नहीं पहुँचा जा सका: %1"
#: kzip.cpp:874 kzip.cpp:968
#: kzip.cpp:901 kzip.cpp:995
#, qt-format
msgctxt "KZip|"
msgid "Could not write file header: %1"
msgstr "फ़ाइल हेडर नहीं लिखा जा सका: %1"
#: kzip.cpp:1015
#: kzip.cpp:1042
#, qt-format
msgctxt "KZip|"
msgid "Could not write central dir record: %1"
msgstr "केंद्रीय निर्देशिका रिकॉर्ड नहीं लिखा जा सका: %1"
#: kzip.cpp:1051
#: kzip.cpp:1078
msgctxt "KZip|"
msgid "Application error: ZIP file must be open before being written into"
msgstr "अनुप्रयोग त्रुटि: ज़िप फ़ाइल को लिखने से पहले उसे खोलना आवश्यक है"
#: kzip.cpp:1057
#: kzip.cpp:1084
msgctxt "KZip|"
msgid "Application error: attempted to write into non-writable ZIP file"
msgstr "अनुप्रयोग त्रुटि: गैर-लेखन योग्य ZIP फ़ाइल में लिखने का प्रयास किया गया"
#: kzip.cpp:1063
#: kzip.cpp:1090
msgctxt "KZip|"
msgid "Cannot create a device. Disk full?"
msgstr "डिवाइस नहीं बनाया जा सकता. डिस्क भरी हुई है?"
#: kzip.cpp:1069
#: kzip.cpp:1096
msgctxt "KZip|"
msgid "Cannot seek in ZIP file. Disk full?"
msgstr "ज़िप फ़ाइल में नहीं खोजा जा सकता। डिस्क भरी हुई है?"
#: kzip.cpp:1211
#: kzip.cpp:1240
msgctxt "KZip|"
msgid "Could not write to the archive. Disk full?"
msgstr "संग्रह में नहीं लिखा जा सका. डिस्क भर गई?"
#: kzip.cpp:1230
#: kzip.cpp:1259
#, qt-format
msgctxt "KZip|"
msgid "Could not open compression device: %1"
msgstr "संपीड़न डिवाइस नहीं खोला जा सका: %1"
#: kzip.cpp:1317
#: kzip.cpp:1346
msgctxt "KZip|"
msgid "No file or device"
msgstr "कोई फ़ाइल या डिवाइस नहीं"
#: kzip.cpp:1330
#: kzip.cpp:1359
#, qt-format
msgctxt "KZip|"
msgid "Error writing data: %1"
msgstr "डेटा लिखते समय त्रुटि: %1"
#~ msgctxt "KZip|"
#~ msgid "Invalid ZIP file. Unexpected end of file."
#~ msgstr "अमान्य ZIP फ़ाइल. फ़ाइल का अप्रत्याशित अंत."

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