Compare commits

..

No commits in common. "3a4ea573f610ffc4a8fecbc58e26c4161224499e" and "0436dfab39f07ff66875846dec3f80b31396fdd1" have entirely different histories.

30 changed files with 1016 additions and 1692 deletions

View File

@ -9,18 +9,16 @@ jobs:
matrix:
vs: ['2022']
msvc_arch: ['x64']
qt_ver: ['6.7.2']
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- name: Install Qt
uses: jurplel/install-qt-action@v4
uses: jurplel/install-qt-action@v3
with:
arch: 'win64_msvc2019_64'
version: ${{ matrix.qt_ver }}
modules: 'qtimageformats'
version: '6.7.2'
- name: Build
shell: cmd
run: |
@ -31,10 +29,10 @@ jobs:
qmake pineapple-pictures.pro
nmake
nmake clean
windeployqt --verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-system-d3d-compiler --no-system-dxc-compiler --skip-plugin-types tls,networkinformation release\ppic.exe
windeployqt --verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-system-d3d-compiler --skip-plugin-types tls,networkinformation release\ppic.exe
- uses: actions/upload-artifact@v4
with:
name: "windows-msvc${{ matrix.vs }}-qt${{ matrix.qt_ver }}-qmake-package"
name: windows-msvc2022-qt6.7.2-qmake-package
path: release/*
msvc-cmake-build:
@ -43,69 +41,29 @@ jobs:
matrix:
vs: ['2022']
msvc_arch: ['x64']
qt_ver: ['6.7.2']
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- name: Install Qt
uses: jurplel/install-qt-action@v4
uses: jurplel/install-qt-action@v3
with:
arch: 'win64_msvc2019_64'
version: ${{ matrix.qt_ver }}
modules: 'qtimageformats'
version: '6.5.3'
- name: Build
shell: cmd
run: |
:: ------ env ------
set PWD=%cd%
set VS=${{ matrix.vs }}
set VCVARS="C:\Program Files (x86)\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
if not exist %VCVARS% set VCVARS="C:\Program Files\Microsoft Visual Studio\%VS%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
call %VCVARS% ${{ matrix.msvc_arch }}
:: ------ dep ------
set CMAKE_PREFIX_PATH=%PWD%/dependencies_bin
mkdir dependencies_src
:: ===== exiv2 =====
curl -fsSL -o exiv2_bin.zip https://github.com/Exiv2/exiv2/releases/download/v0.28.3/exiv2-0.28.3-2019msvc64.zip
7z x exiv2_bin.zip -y
ren .\exiv2-0.28.3-2019msvc64 dependencies_bin
:: ===== zlib =====
curl -fsSL -o zlib_src.zip https://zlib.net/zlib131.zip
7z x zlib_src.zip -y -o"dependencies_src"
ren .\dependencies_src\zlib-1.3.1 zlib || goto :error
cmake ./dependencies_src/zlib -Bbuild_dependencies/zlib -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
cmake --build build_dependencies/zlib --config Release --target=install || goto :error
curl -fsSL -o expat_src.zip https://github.com/libexpat/libexpat/archive/R_2_6_2.zip
:: ===== expat =====
7z x expat_src.zip -y -o"dependencies_src"
ren .\dependencies_src\libexpat-R_2_6_2 expat || goto :error
cmake ./dependencies_src/expat/expat -Bbuild_dependencies/expat -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
cmake --build build_dependencies/expat --config Release --target=install || goto :error
:: ===== ECM =====
git clone -q https://invent.kde.org/frameworks/extra-cmake-modules.git dependencies_src/extra-cmake-modules
cmake .\dependencies_src\extra-cmake-modules -Bbuild_dependencies/extra-cmake-modules -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DBUILD_TESTING=OFF || goto :error
cmake --build build_dependencies/extra-cmake-modules --config Release --target=install || goto :error
:: ===== KArchive =====
git clone -q https://invent.kde.org/frameworks/karchive.git dependencies_src/karchive
cmake .\dependencies_src\karchive -Bbuild_dependencies/karchive -DWITH_LIBZSTD=OFF -DWITH_BZIP2=OFF -DWITH_LIBLZMA=OFF -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
cmake --build build_dependencies/karchive --config Release --target=install || goto :error
:: ===== KImageFormats =====
git clone -q https://invent.kde.org/frameworks/kimageformats.git dependencies_src/kimageformats
cmake .\dependencies_src\kimageformats -Bbuild_dependencies/kimageformats -DKDE_INSTALL_QTPLUGINDIR=%QT_ROOT_DIR%\plugins || goto :error
cmake --build build_dependencies/kimageformats --config Release --target=install || goto :error
:: ------ app ------
cmake -Bbuild . -DCMAKE_INSTALL_PREFIX="%PWD%\build\"
cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="%PWD%\build\"
cmake --build build --config Release
cmake --build build --config Release --target=install
:: ------ pkg ------
windeployqt --verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-system-d3d-compiler --no-system-dxc-compiler --skip-plugin-types tls,networkinformation build\bin\ppic.exe
robocopy ./dependencies_bin/bin build/bin *.dll
if ErrorLevel 8 (exit /B 1)
copy LICENSE build/bin/
exit /B 0
windeployqt --verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-system-d3d-compiler --skip-plugin-types tls,networkinformation build\bin\ppic.exe
- uses: actions/upload-artifact@v4
with:
name: "windows-msvc${{ matrix.vs }}-qt${{ matrix.qt_ver }}-cmake-package"
name: windows-msvc2022-qt6.5.3-cmake-package
path: build/bin/*

10
NEWS
View File

@ -1,13 +1,3 @@
Version 0.8.1
~~~~~~~~~~~~~
Released: 2024-08-25
Features:
* New command line option to list all supported formats
Contributors:
albanobattistella, mmahhi, ovl-1, gallegonovato, Oğuz Ersen
Version 0.8.0
~~~~~~~~~~~~~
Released: 2024-06-29

View File

@ -57,7 +57,6 @@ void ActionManager::setupAction(MainWindow *mainWindow)
#define CREATE_NEW_ACTION(w, a) create_action(w, &a, QString(), ACTION_NAME(a))
#define CREATE_NEW_THEMEICON_ACTION(w, a, i) create_action(w, &a, QLatin1String(STRIFY(i)), ACTION_NAME(a), true)
CREATE_NEW_ACTION(mainWindow, actionRotateCounterClockwise);
CREATE_NEW_ACTION(mainWindow, actionPrevPicture);
CREATE_NEW_ACTION(mainWindow, actionNextPicture);
@ -97,14 +96,13 @@ void ActionManager::retranslateUi(MainWindow *mainWindow)
actionZoomOut->setText(QCoreApplication::translate("MainWindow", "Zoom out", nullptr));
actionToggleCheckerboard->setText(QCoreApplication::translate("MainWindow", "Toggle Checkerboard", nullptr));
actionRotateClockwise->setText(QCoreApplication::translate("MainWindow", "Rotate right", nullptr));
actionRotateCounterClockwise->setText(QCoreApplication::translate("MainWindow", "Rotate left", nullptr));
actionPrevPicture->setText(QCoreApplication::translate("MainWindow", "Previous image", nullptr));
actionNextPicture->setText(QCoreApplication::translate("MainWindow", "Next image", nullptr));
actionHorizontalFlip->setText(QCoreApplication::translate("MainWindow", "Flip &Horizontally", nullptr));
actionFitInView->setText(QCoreApplication::translate("MainWindow", "Fit to view", nullptr));
actionFitByWidth->setText(QCoreApplication::translate("MainWindow", "Fit to width", nullptr));
actionFitInView->setText("Fit in view"); // TODO: what should it called?
actionFitByWidth->setText("Fit by width"); // TODO: what should it called?
actionCopyPixmap->setText(QCoreApplication::translate("MainWindow", "Copy P&ixmap", nullptr));
actionCopyFilePath->setText(QCoreApplication::translate("MainWindow", "Copy &File Path", nullptr));
actionPaste->setText(QCoreApplication::translate("MainWindow", "&Paste", nullptr));

View File

@ -30,7 +30,6 @@ public:
QAction *actionZoomOut;
QAction *actionToggleCheckerboard;
QAction *actionRotateClockwise;
QAction *actionRotateCounterClockwise;
QAction *actionPrevPicture;
QAction *actionNextPicture;

View File

@ -23,14 +23,14 @@ GraphicsView::GraphicsView(QWidget *parent)
setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
setStyleSheet("background-color: rgba(0, 0, 0, 220);"
"border-radius: 3px;");
setAcceptDrops(false);
setAcceptDrops(true);
setCheckerboardEnabled(false);
connect(horizontalScrollBar(), &QScrollBar::valueChanged, this, &GraphicsView::viewportRectChanged);
connect(verticalScrollBar(), &QScrollBar::valueChanged, this, &GraphicsView::viewportRectChanged);
}
void GraphicsView::showFileFromPath(const QString &filePath)
void GraphicsView::showFileFromPath(const QString &filePath, bool doRequestGallery)
{
emit navigatorViewRequired(false, transform());
@ -48,14 +48,17 @@ void GraphicsView::showFileFromPath(const QString &filePath)
// So we cannot use imageFormat() and check if it returns QImage::Format_Invalid to detect if we support the file.
// QImage::Format imageFormat = imageReader.imageFormat();
if (imageReader.format().isEmpty()) {
doRequestGallery = false;
showText(tr("File is not a valid image"));
} else if (imageReader.supportsAnimation() && imageReader.imageCount() > 1) {
showAnimated(filePath);
} else if (!imageReader.canRead()) {
doRequestGallery = false;
showText(tr("Image data is invalid or currently unsupported"));
} else {
QPixmap && pixmap = QPixmap::fromImageReader(&imageReader);
if (pixmap.isNull()) {
doRequestGallery = false;
showText(tr("Image data is invalid or currently unsupported"));
} else {
pixmap.setDevicePixelRatio(devicePixelRatioF());
@ -63,6 +66,10 @@ void GraphicsView::showFileFromPath(const QString &filePath)
}
}
}
if (doRequestGallery) {
emit requestGallery(filePath);
}
}
void GraphicsView::showImage(const QPixmap &pixmap)
@ -311,6 +318,55 @@ void GraphicsView::resizeEvent(QResizeEvent *event)
return QGraphicsView::resizeEvent(event);
}
void GraphicsView::dragEnterEvent(QDragEnterEvent *event)
{
if (event->mimeData()->hasUrls() || event->mimeData()->hasImage() || event->mimeData()->hasText()) {
event->acceptProposedAction();
} else {
event->ignore();
}
// qDebug() << event->mimeData() << "Drag Enter Event"
// << event->mimeData()->hasUrls() << event->mimeData()->hasImage()
// << event->mimeData()->formats() << event->mimeData()->hasFormat("text/uri-list");
return QGraphicsView::dragEnterEvent(event);
}
void GraphicsView::dragMoveEvent(QDragMoveEvent *event)
{
Q_UNUSED(event)
// by default, QGraphicsView/Scene will ignore the action if there are no QGraphicsItem under cursor.
// We actually doesn't care and would like to keep the drag event as-is, so just do nothing here.
}
void GraphicsView::dropEvent(QDropEvent *event)
{
event->acceptProposedAction();
const QMimeData * mimeData = event->mimeData();
if (mimeData->hasUrls()) {
const QList<QUrl> &urls = mimeData->urls();
if (urls.isEmpty()) {
showText(tr("File url list is empty"));
} else {
showFileFromPath(urls.first().toLocalFile(), true);
}
} else if (mimeData->hasImage()) {
QImage img = qvariant_cast<QImage>(mimeData->imageData());
QPixmap pixmap = QPixmap::fromImage(img);
if (pixmap.isNull()) {
showText(tr("Image data is invalid"));
} else {
showImage(pixmap);
}
} else if (mimeData->hasText()) {
showText(mimeData->text());
} else {
showText(tr("Not supported mimedata: %1").arg(mimeData->formats().first()));
}
}
bool GraphicsView::isThingSmallerThanWindowWith(const QTransform &transform) const
{
return rect().size().expandedTo(transform.mapRect(sceneRect()).size().toSize())

View File

@ -15,7 +15,7 @@ class GraphicsView : public QGraphicsView
public:
GraphicsView(QWidget *parent = nullptr);
void showFileFromPath(const QString &filePath);
void showFileFromPath(const QString &filePath, bool requestGallery = false);
void showImage(const QPixmap &pixmap);
void showImage(const QImage &image);
@ -48,6 +48,7 @@ public:
signals:
void navigatorViewRequired(bool required, QTransform transform);
void viewportRectChanged();
void requestGallery(const QString &filePath);
public slots:
void toggleCheckerboard(bool invertCheckerboardColor = false);
@ -59,6 +60,10 @@ private:
void wheelEvent(QWheelEvent *event) override;
void resizeEvent(QResizeEvent *event) override;
void dragEnterEvent(QDragEnterEvent *event) override;
void dragMoveEvent(QDragMoveEvent *event) override;
void dropEvent(QDropEvent *event) override;
bool isThingSmallerThanWindowWith(const QTransform &transform) const;
bool shouldIgnoreMousePressMoveEvent(const QMouseEvent *event) const;
void setCheckerboardEnabled(bool enabled, bool invertColor = false);

View File

@ -40,19 +40,12 @@ int main(int argc, char *argv[])
a.setApplicationName("Pineapple Pictures");
a.setApplicationDisplayName(QCoreApplication::translate("main", "Pineapple Pictures"));
// commandline options
QCommandLineOption supportedImageFormats(QStringLiteral("supported-image-formats"), QCoreApplication::translate("main", "List supported image format suffixes, and quit program."));
// parse commandline arguments
QCommandLineParser parser;
parser.addOption(supportedImageFormats);
parser.addPositionalArgument("File list", QCoreApplication::translate("main", "File list."));
parser.addHelpOption();
parser.process(a);
if (parser.isSet(supportedImageFormats)) {
fputs(qPrintable(MainWindow::supportedImageFormats().join(QChar('\n'))), stdout);
::exit(EXIT_SUCCESS);
}
parser.process(a);
MainWindow w;
w.show();

View File

@ -33,7 +33,6 @@
#include <QTimer>
#include <QFileDialog>
#include <QStandardPaths>
#include <QStringBuilder>
#include <QProcess>
#include <QDesktopServices>
#include <QMessageBox>
@ -46,7 +45,7 @@
MainWindow::MainWindow(QWidget *parent)
: FramelessWindow(parent)
, m_am(new ActionManager)
, m_pm(new PlaylistManager(this))
, m_pm(new PlaylistManager(PlaylistManager::PL_SAMEFOLDER, this))
{
if (Settings::instance()->stayOnTop()) {
this->setWindowFlag(Qt::WindowStaysOnTopHint);
@ -56,9 +55,12 @@ MainWindow::MainWindow(QWidget *parent)
this->setMinimumSize(350, 330);
this->setWindowIcon(QIcon(":/icons/app-icon.svg"));
this->setMouseTracking(true);
this->setAcceptDrops(true);
m_pm->setAutoLoadFilterSuffixes(supportedImageFormats());
m_pm->setAutoLoadFilterSuffix({
"*.jpg", "*.jpeg", "*.jfif",
"*.png", "*.gif", "*.svg", "*.bmp", "*.webp",
"*.tif", "*.tiff"
});
m_fadeOutAnimation = new QPropertyAnimation(this, "windowOpacity");
m_fadeOutAnimation->setDuration(300);
@ -96,6 +98,9 @@ MainWindow::MainWindow(QWidget *parent)
connect(m_graphicsView, &GraphicsView::viewportRectChanged,
m_gv, &NavigatorView::updateMainViewportRegion);
connect(m_graphicsView, &GraphicsView::requestGallery,
this, &MainWindow::loadGalleryBySingleLocalFile);
m_closeButton = new ToolButton(true, m_graphicsView);
m_closeButton->setIconSize(QSize(32, 32));
m_closeButton->setFixedSize(QSize(50, 50));
@ -135,13 +140,19 @@ MainWindow::MainWindow(QWidget *parent)
m_gv->setOpacity(0, false);
m_closeButton->setOpacity(0, false);
connect(m_pm, &PlaylistManager::totalCountChanged, this, [this](int galleryFileCount) {
connect(m_pm, &PlaylistManager::loaded, this, [this](int galleryFileCount) {
m_prevButton->setVisible(galleryFileCount > 1);
m_nextButton->setVisible(galleryFileCount > 1);
});
connect(m_pm->model(), &PlaylistModel::modelReset, this, std::bind(&MainWindow::galleryCurrent, this, false, false));
connect(m_pm, &PlaylistManager::currentIndexChanged, this, std::bind(&MainWindow::galleryCurrent, this, true, false));
connect(m_pm, &PlaylistManager::currentIndexChanged, this, [this]() {
int index;
QUrl url;
std::tie(index, url) = m_pm->currentFileUrl();
if (index != -1) {
this->setWindowTitle(url.fileName());
}
});
QShortcut * fullscreenShorucut = new QShortcut(QKeySequence(QKeySequence::FullScreen), this);
connect(fullscreenShorucut, &QShortcut::activated,
@ -169,8 +180,13 @@ MainWindow::~MainWindow()
void MainWindow::showUrls(const QList<QUrl> &urls)
{
if (!urls.isEmpty()) {
m_graphicsView->showFileFromPath(urls.first().toLocalFile());
m_pm->loadPlaylist(urls);
if (urls.count() == 1) {
m_graphicsView->showFileFromPath(urls.first().toLocalFile(), true);
} else {
m_graphicsView->showFileFromPath(urls.first().toLocalFile(), false);
m_pm->setPlaylist(urls);
m_pm->setCurrentIndex(0);
}
} else {
m_graphicsView->showText(tr("File url list is empty"));
return;
@ -196,7 +212,7 @@ void MainWindow::initWindowSize()
void MainWindow::adjustWindowSizeBySceneRect()
{
if (m_pm->totalCount() < 1) return;
if (m_pm->count() < 1) return;
QSize sceneSize = m_graphicsView->sceneRect().toRect().size();
QSize sceneSizeWithMargins = sceneSize + QSize(130, 125);
@ -227,57 +243,60 @@ void MainWindow::adjustWindowSizeBySceneRect()
// can be empty if it is NOT from a local file.
QUrl MainWindow::currentImageFileUrl() const
{
return m_pm->urlByIndex(m_pm->curIndex());
QUrl url;
std::tie(std::ignore, url) = m_pm->currentFileUrl();
return url;
}
void MainWindow::clearGallery()
{
m_pm->setPlaylist({});
m_pm->clear();
}
void MainWindow::loadGalleryBySingleLocalFile(const QString &path)
{
m_pm->setCurrentFile(path);
}
void MainWindow::galleryPrev()
{
QModelIndex index = m_pm->previousIndex();
if (index.isValid()) {
int index;
QString filePath;
std::tie(index, filePath) = m_pm->previousFile();
if (index >= 0) {
m_graphicsView->showFileFromPath(filePath, false);
m_pm->setCurrentIndex(index);
m_graphicsView->showFileFromPath(m_pm->localFileByIndex(index));
}
}
void MainWindow::galleryNext()
{
QModelIndex index = m_pm->nextIndex();
if (index.isValid()) {
int index;
QString filePath;
std::tie(index, filePath) = m_pm->nextFile();
if (index >= 0) {
m_graphicsView->showFileFromPath(filePath, false);
m_pm->setCurrentIndex(index);
m_graphicsView->showFileFromPath(m_pm->localFileByIndex(index));
}
}
// Only use this to update minor information.
void MainWindow::galleryCurrent(bool showLoadImageHintWhenEmpty, bool reloadImage)
// If playlist (or its index) get changed, use this method to "reload" the current file.
void MainWindow::galleryCurrent()
{
QModelIndex index = m_pm->curIndex();
if (index.isValid()) {
if (reloadImage) m_graphicsView->showFileFromPath(m_pm->localFileByIndex(index));
setWindowTitle(m_pm->urlByIndex(index).fileName());
} else if (showLoadImageHintWhenEmpty && m_pm->totalCount() <= 0) {
int index;
QString filePath;
std::tie(index, filePath) = m_pm->currentFile();
if (index >= 0) {
m_graphicsView->showFileFromPath(filePath, false);
} else {
m_graphicsView->showText(QCoreApplication::translate("GraphicsScene", "Drag image here"));
}
}
QStringList MainWindow::supportedImageFormats()
{
QStringList formatFilters {
#if QT_VERSION < QT_VERSION_CHECK(6, 8, 0)
QStringLiteral("*.jfif")
#endif // QT_VERSION < QT_VERSION_CHECK(6, 8, 0)
};
for (const QByteArray &item : QImageReader::supportedImageFormats()) {
formatFilters.append(QStringLiteral("*.") % QString::fromLocal8Bit(item));
}
return formatFilters;
}
void MainWindow::showEvent(QShowEvent *event)
{
updateWidgetsPosition();
@ -503,50 +522,6 @@ void MainWindow::contextMenuEvent(QContextMenuEvent *event)
return FramelessWindow::contextMenuEvent(event);
}
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
{
if (event->mimeData()->hasUrls() || event->mimeData()->hasImage() || event->mimeData()->hasText()) {
event->acceptProposedAction();
} else {
event->ignore();
}
return FramelessWindow::dragEnterEvent(event);
}
void MainWindow::dragMoveEvent(QDragMoveEvent *event)
{
Q_UNUSED(event)
}
void MainWindow::dropEvent(QDropEvent *event)
{
event->acceptProposedAction();
const QMimeData * mimeData = event->mimeData();
if (mimeData->hasUrls()) {
const QList<QUrl> &urls = mimeData->urls();
if (urls.isEmpty()) {
m_graphicsView->showText(tr("File url list is empty"));
} else {
showUrls(urls);
}
} else if (mimeData->hasImage()) {
QImage img = qvariant_cast<QImage>(mimeData->imageData());
QPixmap pixmap = QPixmap::fromImage(img);
if (pixmap.isNull()) {
m_graphicsView->showText(tr("Image data is invalid"));
} else {
m_graphicsView->showImage(pixmap);
}
} else if (mimeData->hasText()) {
m_graphicsView->showText(mimeData->text());
} else {
m_graphicsView->showText(tr("Not supported mimedata: %1").arg(mimeData->formats().first()));
}
}
void MainWindow::centerWindow()
{
this->setGeometry(
@ -739,21 +714,23 @@ void MainWindow::on_actionPaste_triggered()
}
if (!clipboardImage.isNull()) {
setWindowTitle(tr("Image From Clipboard"));
m_graphicsView->showImage(clipboardImage);
clearGallery();
} else if (clipboardFileUrl.isValid()) {
m_graphicsView->showFileFromPath(clipboardFileUrl.toLocalFile());
m_pm->loadPlaylist(clipboardFileUrl);
QString localFile(clipboardFileUrl.toLocalFile());
m_graphicsView->showFileFromPath(localFile, true);
m_pm->setCurrentFile(localFile);
}
}
void MainWindow::on_actionTrash_triggered()
{
QModelIndex index = m_pm->curIndex();
if (!m_pm->urlByIndex(index).isLocalFile()) return;
int currentFileIndex;
QUrl currentFileUrl;
std::tie(currentFileIndex, currentFileUrl) = m_pm->currentFileUrl();
if (!currentFileUrl.isLocalFile()) return;
QFile file(m_pm->localFileByIndex(index));
QFile file(currentFileUrl.toLocalFile());
QFileInfo fileInfo(file.fileName());
QMessageBox::StandardButton result = QMessageBox::question(this, tr("Move to Trash"),
@ -764,8 +741,8 @@ void MainWindow::on_actionTrash_triggered()
QMessageBox::warning(this, "Failed to move file to trash",
tr("Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation."));
} else {
m_pm->removeAt(index);
galleryCurrent(true, true);
m_pm->removeFileAt(currentFileIndex);
galleryCurrent();
}
}
}
@ -783,13 +760,6 @@ void MainWindow::on_actionRotateClockwise_triggered()
m_gv->setVisible(false);
}
void MainWindow::on_actionRotateCounterClockwise_triggered()
{
m_graphicsView->rotateView(false);
m_graphicsView->displayScene();
m_gv->setVisible(false);
}
void MainWindow::on_actionPrevPicture_triggered()
{
galleryPrev();

View File

@ -42,11 +42,10 @@ public:
QUrl currentImageFileUrl() const;
void clearGallery();
void loadGalleryBySingleLocalFile(const QString &path);
void galleryPrev();
void galleryNext();
void galleryCurrent(bool showLoadImageHintWhenEmpty, bool reloadImage);
static QStringList supportedImageFormats();
void galleryCurrent();
protected slots:
void showEvent(QShowEvent *event) override;
@ -59,9 +58,6 @@ protected slots:
void wheelEvent(QWheelEvent *event) override;
void resizeEvent(QResizeEvent *event) override;
void contextMenuEvent(QContextMenuEvent *event) override;
void dragEnterEvent(QDragEnterEvent *event) override;
void dragMoveEvent(QDragMoveEvent *event) override;
void dropEvent(QDropEvent *event) override;
void centerWindow();
void closeWindow();
@ -87,7 +83,6 @@ private slots:
void on_actionZoomOut_triggered();
void on_actionToggleCheckerboard_triggered();
void on_actionRotateClockwise_triggered();
void on_actionRotateCounterClockwise_triggered();
void on_actionPrevPicture_triggered();
void on_actionNextPicture_triggered();

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2024 Gary Wang <git@blumia.net>
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
//
// SPDX-License-Identifier: MIT
@ -9,154 +9,11 @@
#include <QFileInfo>
#include <QUrl>
PlaylistModel::PlaylistModel(QObject *parent)
: QAbstractListModel(parent)
{
}
PlaylistModel::~PlaylistModel()
{
}
void PlaylistModel::setPlaylist(const QList<QUrl> &urls)
{
beginResetModel();
m_playlist = urls;
endResetModel();
}
QModelIndex PlaylistModel::loadPlaylist(const QList<QUrl> & urls)
{
if (urls.isEmpty()) return QModelIndex();
if (urls.count() == 1) {
return loadPlaylist(urls.constFirst());
} else {
setPlaylist(urls);
return index(0);
}
}
QModelIndex PlaylistModel::loadPlaylist(const QUrl &url)
{
QFileInfo info(url.toLocalFile());
QDir dir(info.path());
QString && currentFileName = info.fileName();
if (dir.path() == m_currentDir) {
int idx = indexOf(url);
return idx == -1 ? appendToPlaylist(url) : index(idx);
}
QStringList entryList = dir.entryList(
m_autoLoadSuffixes,
QDir::Files | QDir::NoSymLinks, QDir::NoSort);
QCollator collator;
collator.setNumericMode(true);
std::sort(entryList.begin(), entryList.end(), collator);
QList<QUrl> playlist;
int idx = -1;
for (int i = 0; i < entryList.count(); i++) {
const QString & fileName = entryList.at(i);
const QString & oneEntry = dir.absoluteFilePath(fileName);
const QUrl & url = QUrl::fromLocalFile(oneEntry);
playlist.append(url);
if (fileName == currentFileName) {
idx = i;
}
}
if (idx == -1) {
idx = playlist.count();
playlist.append(url);
}
m_currentDir = dir.path();
setPlaylist(playlist);
return index(idx);
}
QModelIndex PlaylistModel::appendToPlaylist(const QUrl &url)
{
const int lastIndex = rowCount();
beginInsertRows(QModelIndex(), lastIndex, lastIndex);
m_playlist.append(url);
endInsertRows();
return index(lastIndex);
}
bool PlaylistModel::removeAt(int index)
{
if (index < 0 || index >= rowCount()) return false;
beginRemoveRows(QModelIndex(), index, index);
m_playlist.removeAt(index);
endRemoveRows();
return true;
}
int PlaylistModel::indexOf(const QUrl &url) const
{
return m_playlist.indexOf(url);
}
QUrl PlaylistModel::urlByIndex(int index) const
{
return m_playlist.value(index);
}
QStringList PlaylistModel::autoLoadFilterSuffixes() const
{
return m_autoLoadSuffixes;
}
QHash<int, QByteArray> PlaylistModel::roleNames() const
{
QHash<int, QByteArray> result = QAbstractListModel::roleNames();
result.insert(UrlRole, "url");
return result;
}
int PlaylistModel::rowCount(const QModelIndex &parent) const
{
return m_playlist.count();
}
QVariant PlaylistModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid()) return QVariant();
switch (role) {
case Qt::DisplayRole:
return m_playlist.at(index.row()).fileName();
case UrlRole:
return m_playlist.at(index.row());
}
return QVariant();
}
PlaylistManager::PlaylistManager(QObject *parent)
PlaylistManager::PlaylistManager(PlaylistType type, QObject *parent)
: QObject(parent)
, m_type(type)
{
connect(&m_model, &PlaylistModel::rowsRemoved, this,
[this](const QModelIndex &, int, int) {
if (m_model.rowCount() <= m_currentIndex) {
setProperty("currentIndex", m_currentIndex - 1);
}
});
auto onRowCountChanged = [this](){
emit totalCountChanged(m_model.rowCount());
};
connect(&m_model, &PlaylistModel::rowsInserted, this, onRowCountChanged);
connect(&m_model, &PlaylistModel::rowsRemoved, this, onRowCountChanged);
connect(&m_model, &PlaylistModel::modelReset, this, onRowCountChanged);
}
PlaylistManager::~PlaylistManager()
@ -164,81 +21,154 @@ PlaylistManager::~PlaylistManager()
}
PlaylistModel *PlaylistManager::model()
void PlaylistManager::setPlaylistType(PlaylistManager::PlaylistType type)
{
return &m_model;
m_type = type;
}
PlaylistManager::PlaylistType PlaylistManager::playlistType() const
{
return m_type;
}
QStringList PlaylistManager::autoLoadFilterSuffix() const
{
return m_autoLoadSuffix;
}
void PlaylistManager::setAutoLoadFilterSuffix(const QStringList & nameFilters)
{
m_autoLoadSuffix = nameFilters;
}
void PlaylistManager::clear()
{
m_currentIndex = -1;
m_playlist.clear();
}
void PlaylistManager::setPlaylist(const QList<QUrl> &urls)
{
m_model.setPlaylist(urls);
m_playlist = urls;
}
QModelIndex PlaylistManager::loadPlaylist(const QList<QUrl> &urls)
void PlaylistManager::setCurrentFile(const QString & filePath)
{
QModelIndex idx = m_model.loadPlaylist(urls);
setProperty("currentIndex", idx.row());
return idx;
QFileInfo info(filePath);
QDir dir(info.path());
QString && currentFileName = info.fileName();
switch (playlistType()) {
case PL_SAMEFOLDER: {
if (dir.path() == m_currentDir) {
int index = indexOf(filePath);
m_currentIndex = index == -1 ? appendFile(filePath) : index;
} else {
QStringList entryList = dir.entryList(
m_autoLoadSuffix,
QDir::Files | QDir::NoSymLinks, QDir::NoSort);
QCollator collator;
collator.setNumericMode(true);
std::sort(entryList.begin(), entryList.end(), collator);
clear();
int index = -1;
for (int i = 0; i < entryList.count(); i++) {
const QString & fileName = entryList.at(i);
const QString & oneEntry = dir.absoluteFilePath(fileName);
const QUrl & url = QUrl::fromLocalFile(oneEntry);
m_playlist.append(url);
if (fileName == currentFileName) {
index = i;
}
}
m_currentIndex = index == -1 ? appendFile(filePath) : index;
m_currentDir = dir.path();
}
break;
}
case PL_USERPLAYLIST:{
int index = indexOf(filePath);
m_currentIndex = index == -1 ? appendFile(filePath) : index;
break;
}
default:
break;
}
QModelIndex PlaylistManager::loadPlaylist(const QUrl &url)
emit currentIndexChanged(m_currentIndex);
emit loaded(m_playlist.count());
}
void PlaylistManager::setCurrentIndex(int index)
{
QModelIndex idx = m_model.loadPlaylist(url);
setProperty("currentIndex", idx.row());
return idx;
if (index < 0 || index >= m_playlist.count()) return;
m_currentIndex = index;
emit currentIndexChanged(m_currentIndex);
}
int PlaylistManager::totalCount() const
int PlaylistManager::appendFile(const QString &filePath)
{
return m_model.rowCount();
int index = m_playlist.length();
m_playlist.append(QUrl::fromLocalFile(filePath));
return index;
}
QModelIndex PlaylistManager::previousIndex() const
// Note: this will only remove file out of the list, this will NOT delete the file
void PlaylistManager::removeFileAt(int index)
{
int count = totalCount();
if (count == 0) return QModelIndex();
m_playlist.removeAt(index);
return m_model.index(m_currentIndex - 1 < 0 ? count - 1 : m_currentIndex - 1);
if (m_playlist.count() <= m_currentIndex) {
m_currentIndex--;
}
}
QModelIndex PlaylistManager::nextIndex() const
int PlaylistManager::indexOf(const QString &filePath)
{
int count = totalCount();
if (count == 0) return QModelIndex();
return m_model.index(m_currentIndex + 1 == count ? 0 : m_currentIndex + 1);
const QUrl & url = QUrl::fromLocalFile(filePath);
return m_playlist.indexOf(url);
}
QModelIndex PlaylistManager::curIndex() const
int PlaylistManager::count() const
{
return m_model.index(m_currentIndex);
return m_playlist.count();
}
void PlaylistManager::setCurrentIndex(const QModelIndex &index)
std::tuple<int, QString> PlaylistManager::previousFile() const
{
if (index.isValid() && index.row() >= 0 && index.row() < totalCount()) {
setProperty("currentIndex", index.row());
}
int count = m_playlist.count();
if (count == 0) return std::make_tuple(-1, QString());
int index = m_currentIndex - 1 < 0 ? count - 1 : m_currentIndex - 1;
return std::make_tuple(index, m_playlist.at(index).toLocalFile());
}
QUrl PlaylistManager::urlByIndex(const QModelIndex &index)
std::tuple<int, QString> PlaylistManager::nextFile() const
{
return m_model.urlByIndex(index.row());
int count = m_playlist.count();
if (count == 0) return std::make_tuple(-1, QString());
int index = m_currentIndex + 1 == count ? 0 : m_currentIndex + 1;
return std::make_tuple(index, m_playlist.at(index).toLocalFile());
}
QString PlaylistManager::localFileByIndex(const QModelIndex &index)
std::tuple<int, QString> PlaylistManager::currentFile() const
{
return urlByIndex(index).toLocalFile();
if (m_playlist.count() == 0) return std::make_tuple(-1, QString());
return std::make_tuple(m_currentIndex, m_playlist.at(m_currentIndex).toLocalFile());
}
bool PlaylistManager::removeAt(const QModelIndex &index)
std::tuple<int, QUrl> PlaylistManager::currentFileUrl() const
{
return m_model.removeAt(index.row());
}
if (m_playlist.count() == 0) return std::make_tuple(-1, QUrl());
void PlaylistManager::setAutoLoadFilterSuffixes(const QStringList &nameFilters)
{
m_model.setProperty("autoLoadFilterSuffixes", nameFilters);
return std::make_tuple(m_currentIndex, m_playlist.at(m_currentIndex));
}
QList<QUrl> PlaylistManager::convertToUrlList(const QStringList &files)

View File

@ -1,85 +1,58 @@
// SPDX-FileCopyrightText: 2024 Gary Wang <git@blumia.net>
// SPDX-FileCopyrightText: 2022 Gary Wang <wzc782970009@gmail.com>
//
// SPDX-License-Identifier: MIT
#pragma once
#include <QUrl>
#include <QAbstractListModel>
class PlaylistModel : public QAbstractListModel
{
Q_OBJECT
public:
enum PlaylistRole {
UrlRole = Qt::UserRole
};
Q_ENUM(PlaylistRole)
Q_PROPERTY(QStringList autoLoadFilterSuffixes MEMBER m_autoLoadSuffixes NOTIFY autoLoadFilterSuffixesChanged)
explicit PlaylistModel(QObject *parent = nullptr);
~PlaylistModel();
void setPlaylist(const QList<QUrl> & urls);
QModelIndex loadPlaylist(const QList<QUrl> & urls);
QModelIndex loadPlaylist(const QUrl & url);
QModelIndex appendToPlaylist(const QUrl & url);
bool removeAt(int index);
int indexOf(const QUrl & url) const;
QUrl urlByIndex(int index) const;
QStringList autoLoadFilterSuffixes() const;
QHash<int, QByteArray> roleNames() const override;
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
signals:
void autoLoadFilterSuffixesChanged(QStringList suffixes);
private:
// model data
QList<QUrl> m_playlist;
// properties
QStringList m_autoLoadSuffixes = {};
// internal
QString m_currentDir;
};
#include <QObject>
class PlaylistManager : public QObject
{
Q_OBJECT
public:
Q_PROPERTY(int currentIndex MEMBER m_currentIndex NOTIFY currentIndexChanged)
Q_PROPERTY(QStringList autoLoadFilterSuffixes WRITE setAutoLoadFilterSuffixes)
Q_PROPERTY(PlaylistModel * model READ model CONSTANT)
explicit PlaylistManager(QObject *parent = nullptr);
enum PlaylistType {
PL_USERPLAYLIST, // Regular playlist, managed by user.
PL_SAMEFOLDER // PlaylistManager managed playlist, loaded from files from same folder.
};
explicit PlaylistManager(PlaylistType type = PL_USERPLAYLIST, QObject *parent = nullptr);
~PlaylistManager();
PlaylistModel * model();
void setPlaylistType(PlaylistType type);
PlaylistType playlistType() const;
void setPlaylist(const QList<QUrl> & url);
Q_INVOKABLE QModelIndex loadPlaylist(const QList<QUrl> & urls);
Q_INVOKABLE QModelIndex loadPlaylist(const QUrl & url);
QStringList autoLoadFilterSuffix() const;
void setAutoLoadFilterSuffix(const QStringList &nameFilters);
int totalCount() const;
QModelIndex previousIndex() const;
QModelIndex nextIndex() const;
QModelIndex curIndex() const;
void setCurrentIndex(const QModelIndex & index);
QUrl urlByIndex(const QModelIndex & index);
QString localFileByIndex(const QModelIndex & index);
bool removeAt(const QModelIndex & index);
void clear();
void setAutoLoadFilterSuffixes(const QStringList &nameFilters);
void setPlaylist(const QList<QUrl> & urls);
void setCurrentFile(const QString & filePath);
void setCurrentIndex(int index);
int appendFile(const QString & filePath);
void removeFileAt(int index);
int indexOf(const QString & filePath);
int count() const;
std::tuple<int, QString> previousFile() const;
std::tuple<int, QString> nextFile() const;
std::tuple<int, QString> currentFile() const;
std::tuple<int, QUrl> currentFileUrl() const;
static QList<QUrl> convertToUrlList(const QStringList & files);
signals:
void loaded(int length);
void currentIndexChanged(int index);
void totalCountChanged(int count);
private:
QList<QUrl> m_playlist;
PlaylistType m_type;
QString m_currentDir;
int m_currentIndex = -1;
PlaylistModel m_model;
QStringList m_autoLoadSuffix = {};
};

View File

@ -174,8 +174,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation type="unfinished"></translation>
</message>
@ -183,188 +183,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
@ -792,12 +776,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation type="unfinished"></translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ca_ES">
<TS version="2.1" language="ca">
<context>
<name>AboutDialog</name>
<message>
@ -174,8 +174,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation>Arrossegueu una imatge aquí</translation>
</message>
@ -183,200 +183,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished">La llista d&apos;ubicacions de fitxer és buida</translation>
<translation>La llista d&apos;ubicacions de fitxer és buida</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation>El fitxer no és una imatge vàlida</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation>Les dades de la imatge no són vàlides o no són compatibles</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished">Les dades de la imatge no són vàlides</translation>
<translation>Les dades de la imatge no són vàlides</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished">El tipus MIME no és compatible: %1</translation>
<translation>El tipus MIME no és compatible: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation>La llista d&apos;ubicacions és buida</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>&amp;Copia</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation>Les dades de la imatge no són vàlides</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation>El tipus MIME no és compatible: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>Copia el &amp;mapa de píxels</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>Copia el camí del &amp;fitxer</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation>Propietats</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation>Mantén a sobre</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation>Mode protegit</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation>Amplia</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation>Redueix</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>Inverteix &amp;horitzontalment</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>&amp;Enganxa</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation>Commuta el tauler d&apos;escacs</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>&amp;Obre...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation>Mida real</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation>Commuta la maximització</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation>Commuta la maximització</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation>Imatge anterior</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation>Imatge següent</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>Configura...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation>Ajuda</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation>Mostra al navegador de fitxers</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation>Mostra a la carpeta</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>Surt</translation>
</message>
@ -804,12 +776,7 @@
<translation>Pineapple Pictures</translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation>Llista de fitxers.</translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de_DE">
<TS version="2.1" language="de">
<context>
<name>AboutDialog</name>
<message>
@ -178,8 +178,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation>Ziehen Sie das Bild hierher</translation>
</message>
@ -187,200 +187,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished">Die Datei-URL-Liste ist leer</translation>
<translation>Die Datei-URL-Liste ist leer</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation>Datei ist kein gültiges Bild</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation>Bilddaten sind ungültig oder werden derzeit nicht unterstützt</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished">Bilddaten sind ungültig</translation>
<translation>Bilddaten sind ungültig</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished">Nicht unterstützte Mimedaten: %1</translation>
<translation>Nicht unterstützte Mimedaten: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation>Die Datei-URL-Liste ist leer</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>&amp;Kopieren</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation>Bilddaten sind ungültig</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation>Nicht unterstützte Mimedaten: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>P&amp;ixmap kopieren</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>&amp;Dateipfad kopieren</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation>Eigenschaften</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation>Oben bleiben</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation>Geschützter Modus</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation>Hineinzoomen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation>Herauszoomen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>&amp;Horizontal spiegeln</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>%Einfügen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation>Schachbrettmuster umschalten</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>&amp;Öffnen...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation>Tatsächliche Größe</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation>Maximieren umschalten</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation>Nach rechts drehen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation>Vorheriges Bild</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation>Nächstes Bild</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>Konfigurieren&#xa0;</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation>Hilfe</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation>Im Dateiexplorer zeigen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation>Im Verzeichnis zeigen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>Beenden</translation>
</message>
@ -808,12 +780,7 @@
<translation>Pineapple Pictures</translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation>Dateiliste.</translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="es_ES">
<TS version="2.1" language="es">
<context>
<name>AboutDialog</name>
<message>
@ -178,8 +178,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation>Arrastre una imagen aquí</translation>
</message>
@ -187,200 +187,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished">La lista de ubicaciones está vacía</translation>
<translation>La lista de ubicaciones está vacía</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation>El archivo no es una imagen válida</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation>Los datos de la imagen no son válidos o no son compatibles</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished">Los datos de la imagen no son válidos</translation>
<translation>Los datos de la imagen no son válidos</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished">El tipo MIME no es compatible: %1</translation>
<translation>El tipo MIME no es compatible: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation>La lista de ubicaciones está vacía</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>&amp;Copiar</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation>Los datos de la imagen no son válidos</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation>El tipo MIME no es compatible: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation>Imagen del portapapeles</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation>¿Estás seguro de que quieres mover &quot;%1&quot; a la papelera de reciclaje?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation>Mover a la papelera ha fallado, puede deberse a un problema con los permisos de los archivos, una limitación del sistema de archivos o una limitación de la plataforma.</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>Copiar &amp;mapa de píxeles</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>Copiar &amp;ruta de archivo</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation>Propiedades</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation>Mantener encima</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation>Modo protegido</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation>Conservar la transformación</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation>Ampliar</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation>Reducir</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>Voltear &amp;horizontalmente</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation>Para visualizar</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation>Ajustar al ancho</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>&amp;Pegar</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation>Activar/desactivar el tablero de ajedrez</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>&amp;Abrir...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation>Tamaño real</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation>Maximizar/desmaximizar</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation>Girar a la derecha</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation>Girar a la izquierda</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation>Imagen anterior</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation>Imagen siguiente</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation>Mover a la papelera</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>Configurar...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation>Ayuda</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation>Mostrar en el Explorador de archivos</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation>Mostrar en la carpeta</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>Salir</translation>
</message>
@ -808,12 +780,7 @@
<translation>Pineapple Pictures</translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation>Enumere las extensiones de formato de imagen admitidas y sal del programa.</translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation>Lista de archivos.</translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fr_FR">
<TS version="2.1" language="fr">
<context>
<name>AboutDialog</name>
<message>
@ -178,8 +178,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation>Faites glisser l&apos;image ici</translation>
</message>
@ -187,200 +187,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished">La liste des URL du fichier est vide</translation>
<translation>La liste des URL du fichier est vide</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation>Le fichier n&apos;est pas une image valide</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation>Les données d&apos;image ne sont pas valides ou ne sont actuellement pas prises en charge</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished">Les données d&apos;image ne sont pas valides</translation>
<translation>Les données d&apos;image ne sont pas valides</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished">Mimedata non pris en charge&#xa0;: %1</translation>
<translation>Mimedata non pris en charge&#xa0;: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation>La liste des URL de fichiers est vide</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>&amp;Copier</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation>Les données d&apos;image ne sont pas valides</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation>Mimedata non pris en charge&#xa0;: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>Copier P&amp;ixmap</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>Copier le &amp;chemin du fichier</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation>Propriétés</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation>Rester en-haut</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation>Mode protégé</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation>Zoom avant</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation>Zoom arrière</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>Retourner &amp;horizontalement</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>Co&amp;ller</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation>Dés/activer le damier</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>&amp;Ouvrir...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation>Taille actuelle</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation>Dés/activer l&apos;agrandissement</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation>Pivoter vers la droite</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation>Image précédente</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation>Image suivant</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>Configurer</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation>Aide</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation>Afficher dans le navigateur de fichiers</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation>Afficher dans le dossier</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>Quitter</translation>
</message>
@ -808,12 +780,7 @@
<translation>Pineapple Pictures</translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation>Liste des fichiers.</translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="id_ID">
<TS version="2.1" language="id">
<context>
<name>AboutDialog</name>
<message>
@ -178,8 +178,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation>Tarik gambar ke sini</translation>
</message>
@ -187,200 +187,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished">Daftar url file kosong</translation>
<translation>Daftar url file kosong</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation>File bukan gambar yang valid</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation>Data gambar tidak valid atau belum didukung</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished">Data gambar tidak valid</translation>
<translation>Data gambar tidak valid</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished">Tidak didukung mimedata: %1</translation>
<translation>Tidak didukung mimedata: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation>Daftar url file kosong</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>&amp;Salin</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation>Data gambar tidak valid</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation>Tidak didukung mimedata: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>Salin P&amp;ixmap</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>Salin &amp;Path Berkas</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation>Properti</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation>Tetap di atas</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation>Mode Terlindungi</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation>Simpan transformasi</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation>Perbesar</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation>Perkecil</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>Putar Secara &amp;Horizontal</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>&amp;Tempel</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation>Ukuran asli</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation>Putar ke kanan</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>Konfigurasi...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation>Dukungan</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>Keluar</translation>
</message>
@ -808,12 +780,7 @@
<translation>Pineapple Pictures</translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation>Daftar berkas.</translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="it_IT">
<TS version="2.1" language="it">
<context>
<name>AboutDialog</name>
<message>
@ -174,8 +174,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation>Trascina qui l&apos;immagine</translation>
</message>
@ -183,200 +183,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished">L&apos;elenco degli URL dei file è vuoto</translation>
<translation>L&apos;elenco degli URL dei file è vuoto</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation>Il file non è un&apos;immagine valida</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation>I dati dell&apos;immagine non sono validi o non sono attualmente supportati</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished">I dati dell&apos;immagine non sono validi</translation>
<translation>I dati dell&apos;immagine non sono validi</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished">Dati mime non supportati: %1</translation>
<translation>Dati mime non supportati: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation>L&apos;elenco degli URL dei file è vuoto</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>&amp;Copia</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation>I dati dell&apos;immagine non sono validi</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation>Dati mime non supportati: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation>Immagine dagli appunti</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation>Sei sicuro di voler spostare &quot;%1&quot; nel cestino?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation>Lo spostamento nel cestino non è riuscito, potrebbe essere causato da un problema di autorizzazione del file, da una limitazione del file system o da una limitazione della piattaforma.</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>Copia P&amp;ixmap</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>Copia &amp;Percorso file</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation>Proprietà</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation>Rimani in cima</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation>Modalità protetta</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation>Mantieni trasformazione</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation>Zoom avanti</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation>Zoom indietro</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>Capovolgi &amp;Orizzontalmente</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation>Adatto alla visualizzazione</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation>Adatta alla larghezza</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>&amp;Incolla</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation>Attiva/disattiva scacchiera</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>&amp;Apri...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation>Dimensione reale</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation>Attiva massimizzazione</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation>Ruota a destra</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation>Ruota a sinistra</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation>Immagine precedente</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation>Immagine successiva</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation>Sposta nel cestino</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>Configura...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation>Aiuto</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation>Mostra in Esplora file</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation>Mostra nella directory</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>Esci</translation>
</message>
@ -804,12 +776,7 @@
<translation>Immagini di Pineapple</translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation>Elenca i suffissi dei formati immagine supportati e chiudi il programma.</translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation>Elenco file.</translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ja_JP">
<TS version="2.1" language="ja">
<context>
<name>AboutDialog</name>
<message>
@ -174,8 +174,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation></translation>
</message>
@ -183,200 +183,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished">URLリストがエンプティーです</translation>
<translation>URLリストがエンプティーです</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished"></translation>
<translation></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished">mimedata: %1</translation>
<translation>mimedata: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation>urlリストがエンプティーです</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>(&amp;C)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation>mimedata: %1</translation>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation>%1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>(&amp;I)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>(&amp;F)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>(&amp;H)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>(&amp;P)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>(&amp;O)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation></translation>
</message>
@ -804,12 +776,7 @@
<translation>Pineapple Pictures</translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation></translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ko_KR">
<TS version="2.1" language="ko">
<context>
<name>AboutDialog</name>
<message>
@ -174,8 +174,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation> </translation>
</message>
@ -183,200 +183,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished"> URL </translation>
<translation> URL </translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation> </translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation> </translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished"> </translation>
<translation> </translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished"> mimedata: %1</translation>
<translation> mimedata: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation> URL </translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>(&amp;C)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation> </translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation> mimedata: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>Pixmap (&amp;I)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation> (&amp;F)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation> </translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation> </translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation> (&amp;H)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>(&amp;P)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation> </translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>(&amp;O)...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation> </translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation> </translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation> </translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation> </translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation> </translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation> </translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation> </translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation></translation>
</message>
@ -804,12 +776,7 @@
<translation> </translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation> .</translation>
</message>

View File

@ -111,7 +111,7 @@
<message>
<location filename="../aboutdialog.cpp" line="46"/>
<source>Avoid resetting the zoom/rotation/flip state that was applied to the image view when switching between images.</source>
<translation>Unngå å tilbakestille tilstanden for zoom/rotasjon/speilvending som ble brukt bildevisningen, når det skiftes mellom bilder.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="57"/>
@ -178,8 +178,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation>Dra bilde hit</translation>
</message>
@ -187,200 +187,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished">Listen over filnettadresser er tom</translation>
<translation>Listen over filnettadresser er tom</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation>Filen er ikke et gyldig bilde</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation>Ugyldig bildedata, eller for tiden ustøttet</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished">Ugyldig bildedata</translation>
<translation>Ugyldig bildedata</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished">Ustøttet MIME-data: %1</translation>
<translation>Ustøttet MIME-data: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation>Listen over filnettadresser er ugyldig</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>&amp;Kopier</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation>Ugyldig bildedata</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation>Ustøttet MIME-data: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation>Er du sikker at du vil flytte &quot;%1&quot; til papirkurven?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation>Flytt til papirkurven mislyktes, det kan skyldes filtillatelsesproblem, filsystembegrensning eller plattformbegrensning.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation type="unfinished">Kopier p&amp;ixmap</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>Kopier &amp;filbane</translation>
<translation>Kopier %filsti</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation>Egenskaper</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation>Behold øverst</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation>Beskyttet modus</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation>Behold transformasjon</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation>Førstørr</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation>Forminsk</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>Speilvend &amp;horisontalt</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>&amp;Lim inn</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation type="unfinished">Skru av/ rutemønster</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>&amp;Åpne </translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation>Faktisk størrelse</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation>Maksimering av/</translation>
<translation type="unfinished">Veksle maksimering</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation>Roter til høyre</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation>Forrige bilde</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation>Neste bilde</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation>Flytt til papirkurven</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>Sett opp </translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation>Hjelp</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation>Vis i filutforsker</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation type="unfinished">Vis i mappe</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>Avslutt</translation>
</message>
@ -728,7 +700,7 @@
<message>
<location filename="../settingsdialog.cpp" line="29"/>
<source>Toggle maximize</source>
<translation>Maksimering av/</translation>
<translation>Veksle maksimering</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="33"/>
@ -808,12 +780,7 @@
<translation>Pineapple Pictures</translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation>Filliste.</translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="nl_NL">
<TS version="2.1" language="nl">
<context>
<name>AboutDialog</name>
<message>
@ -178,8 +178,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation>Sleep een afbeelding hierheen</translation>
</message>
@ -187,200 +187,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished">De bestandspadlijst is leeg</translation>
<translation>De bestandspadlijst is leeg</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation>Het bestand is geen afbeelding</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation>De afbeeldingsgegevens zijn beschadigd of worden niet ondersteund</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished">Beschadigde afbeeldingsgegevens</translation>
<translation>Beschadigde afbeeldingsgegevens</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished">Niet-ondersteunde mime-gegevens: %1</translation>
<translation>Niet-ondersteunde mime-gegevens: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation>De bestandspadlijst is leeg</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>&amp;Kopiëren</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation>Beschadigde afbeeldingsgegevens</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation>Niet-ondersteunde mime-gegevens: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>P&amp;ixmap kopiëren</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>&amp;Bestandspad kopiëren</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation>Eigenschappen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation>Altijd bovenop</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation>Beschermde modus</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation>Bewerkingen onthouden</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation>Inzoomen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation>Uitzoomen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>&amp;Horizontaal spiegelen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>&amp;Plakken</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation>Schaakbordpatroon aan/uit</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>&amp;Openen</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation>Ware grootte</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation>Maximaliseren aan/uit</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation>Naar rechts draaien</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation>Vorige afbeelding</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation>Volgende afbeelding</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>Instellen...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation>Hulp</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation>Tonen in bestandsbeheer</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation>Tonen in map</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>Afsluiten</translation>
</message>
@ -808,12 +780,7 @@
<translation>Pineapple Afbeeldingen</translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation>Bestandslijst.</translation>
</message>

View File

@ -174,8 +174,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation type="unfinished"></translation>
</message>
@ -183,188 +183,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>کاپی کرو</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>تصویر دا نقشہ کاپی کرو</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation>وشیشتاواں</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation>سرکھیات سیٹنگ</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation>وڈا کرو</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation>چھوٹا کرو</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>لیٹویں اُلٹاؤ</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>پیسٹ کرو</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation>چیکبورڈ چالو بدلو</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>کھُلھو</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation>اصلی اکار</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation>ودھو ودھ بدلو</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation>سجے گھنماؤ</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation>پچھلی تصویر</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation>اگلی تصویر</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation>مدد</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>بند کرو</translation>
</message>
@ -792,12 +776,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation type="unfinished"></translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
<TS version="2.1" language="ru">
<context>
<name>AboutDialog</name>
<message>
@ -178,8 +178,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation>Перетащите изображение сюда</translation>
</message>
@ -187,200 +187,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished">Список URL-адресов файлов пуст</translation>
<translation>Список URL-адресов файлов пуст</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation>Файл не является допустимым изображением</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation>Параметры изображения недействительны или не поддерживаются в настоящее время</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished">Параметры изображения недействительны</translation>
<translation>Параметры изображения недействительны</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished">Неподдерживаемые mimedata: %1</translation>
<translation>Неподдерживаемые mimedata: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation>Список URL-адресов файлов пуст</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>&amp;Скопировать</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation>Параметры изображения недействительны</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation>Неподдерживаемые mimedata: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>Скопировать P&amp;ixmap</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>Скопировать &amp;путь к файлу</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation>Свойства</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation>Поверх всех окон</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation>Защищенный режим</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation>Увеличить</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation>Уменьшить</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>Отразить по &amp;горизонтали</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>&amp;Вставить</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation>Переключить фоновый рисунок</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>&amp;Открыть...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation>Фактический размер</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation>Переключить окно</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation>Повернуть вправо</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation>Предыдущее изображение</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation>Следующее изображение</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>Параметры...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation>Помощь</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation>Показать в проводнике</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation>Показать в папке</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>Выход</translation>
</message>
@ -808,12 +780,7 @@
<translation>Pineapple Pictures</translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation>Список файлов.</translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="si_LK">
<TS version="2.1" language="si">
<context>
<name>AboutDialog</name>
<message>
@ -178,8 +178,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation type="unfinished"></translation>
</message>
@ -187,196 +187,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="obsolete"> ... (url) </translation>
<translation type="unfinished"> ... (url) </translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation> </translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished"> </translation>
<translation> </translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation> ... (url) </translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>&amp;</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation> </translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<source>Copy P&amp;ixmap</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
@ -804,12 +780,7 @@
<translation> </translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation> .</translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="tr_TR">
<TS version="2.1" language="tr">
<context>
<name>AboutDialog</name>
<message>
@ -178,8 +178,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation>Resmi buraya sürükleyin</translation>
</message>
@ -187,200 +187,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished">Dosya URL listesi boş</translation>
<translation>Dosya URL listesi boş</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation>Dosya, geçerli bir resim değil</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation>Resim verisi geçersiz veya şuan desteklenmiyor</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished">Resim verisi geçersiz</translation>
<translation>Resim verisi geçersiz</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished">Desteklenmeyen dosya türü verisi: %1</translation>
<translation>Desteklenmeyen dosya türü verisi: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation>Dosya URL listesi boş</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>&amp;Kopyala</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation>Resim verisi geçersiz</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation>Desteklenmeyen dosya türü verisi: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation>Panodaki Resim</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation>&quot;%1&quot; ögesini geri dönüşüm kutusuna taşımak istediğinizden emin misiniz?</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation>Çöp kutusuna taşıma başarısız oldu, dosya izin sorunu, dosya sistemi sınırlaması veya platform sınırlamasından kaynaklanıyor olabilir.</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>P&amp;ixmap&apos;i Kopyala</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>&amp;Dosya Yolunu Kopyala</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation>Özellikler</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation>Üstte tut</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation>Korumalı kip</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation>Dönüşümü koru</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation>Yaklaştır</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation>Uzaklaştır</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>&amp;Yatay Çevir</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation>Görünüme sığdır</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation>Genişliğe sığdır</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>Ya&amp;pıştır</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation>Damalı Ekrana Geç</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>&amp;...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation>Gerçek boyut</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation>Tam boyuta geç</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation>Sağa döndür</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation>Sola döndür</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation>Önceki resim</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation>Sonraki resim</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation>Çöp Kutusuna Taşı</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>Yapılandır...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation>Yardım</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation>Dosya Gezgini&apos;nde Göster</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation>Dizinde göster</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>Çıkış</translation>
</message>
@ -808,12 +780,7 @@
<translation>Ananas Resimler</translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation>Desteklenen resim biçimi son eklerini listele ve programdan çık.</translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation>Dosya list.</translation>
</message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="uk_UA">
<TS version="2.1" language="uk">
<context>
<name>AboutDialog</name>
<message>
@ -174,8 +174,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation>Перетягніть зображення сюди</translation>
</message>
@ -183,200 +183,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished">Список URL-адрес файлів порожній</translation>
<translation>Список URL-адрес файлів порожній</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation>Файл не є дійсним зображенням</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation>Дані зображення недійсні або наразі не підтримуються</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished">Дані зображення недійсні</translation>
<translation>Дані зображення недійсні</translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished">Не підтримується mimedata: %1</translation>
<translation>Не підтримується mimedata: %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation>Список URL-адрес файлів порожній</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>&amp;Скопіювати</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation>Дані зображення недійсні</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation>Не підтримується mimedata: %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>Скопіювати P&amp;ixmap</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>Скопіювати &amp;шлях до файлу</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation>Властивості</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation>Поверх всіх вікон</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation>Захищений режим</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation>Зберігати трансформацію</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation>Збільшити</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation>Зменшити</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>Перевернути по &amp;горизонталі</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>&amp;Вставити</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation>Перемкнути шахову дошку</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>&amp;Відкрити...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation>Фактичний розмір</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation>Перемкнути на максимум</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation>Перегорнути праворуч</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation>Попереднє зображення</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation>Наступне зображення</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>Налаштувати...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation>Допомога</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation>Показати у файловому провіднику</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation>Показати у теці</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>Вийти</translation>
</message>
@ -804,12 +776,7 @@
<translation>Pineapple Pictures</translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation>Список файлів.</translation>
</message>

View File

@ -178,8 +178,8 @@
<context>
<name>GraphicsScene</name>
<message>
<location filename="../mainwindow.cpp" line="264"/>
<location filename="../graphicsscene.cpp" line="90"/>
<location filename="../graphicsscene.cpp" line="89"/>
<location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source>
<translation></translation>
</message>
@ -187,200 +187,172 @@
<context>
<name>GraphicsView</name>
<message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source>
<translation type="vanished"> URL </translation>
<translation> URL </translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="51"/>
<location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source>
<translation></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="55"/>
<location filename="../graphicsview.cpp" line="59"/>
<location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source>
<translation></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source>
<translation type="vanished"></translation>
<translation></translation>
</message>
<message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source>
<translation type="vanished"> MimeData %1</translation>
<translation> MimeData %1</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.cpp" line="175"/>
<location filename="../mainwindow.cpp" line="531"/>
<location filename="../mainwindow.cpp" line="191"/>
<source>File url list is empty</source>
<translation> URL </translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="429"/>
<location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source>
<translation>(&amp;C)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="539"/>
<source>Image data is invalid</source>
<translation></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="546"/>
<source>Not supported mimedata: %1</source>
<translation> MimeData %1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="742"/>
<source>Image From Clipboard</source>
<translation></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="760"/>
<location filename="../mainwindow.cpp" line="737"/>
<source>Are you sure you want to move &quot;%1&quot; to recycle bin?</source>
<translation>%1</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="765"/>
<location filename="../mainwindow.cpp" line="742"/>
<source>Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation.</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="108"/>
<location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source>
<translation>(&amp;I)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source>
<translation>(&amp;F)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="127"/>
<location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="96"/>
<location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="97"/>
<location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="105"/>
<location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source>
<translation>(&amp;H)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="106"/>
<source>Fit to view</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="107"/>
<source>Fit to width</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="110"/>
<location filename="../actionmanager.cpp" line="108"/>
<source>&amp;Paste</source>
<translation>(&amp;P)</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="98"/>
<location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="92"/>
<location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source>
<translation>(&amp;O)...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="94"/>
<location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="95"/>
<location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="99"/>
<location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="100"/>
<source>Rotate left</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="102"/>
<source>Previous image</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="103"/>
<location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source>
<translation></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="759"/>
<location filename="../actionmanager.cpp" line="111"/>
<location filename="../actionmanager.cpp" line="109"/>
<location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="115"/>
<location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source>
<translation>...</translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="116"/>
<location filename="../actionmanager.cpp" line="114"/>
<source>Help</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="119"/>
<location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="125"/>
<location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source>
<translation></translation>
</message>
<message>
<location filename="../actionmanager.cpp" line="128"/>
<location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source>
<translation>退</translation>
</message>
@ -808,12 +780,7 @@
<translation></translation>
</message>
<message>
<location filename="../main.cpp" line="44"/>
<source>List supported image format suffixes, and quit program.</source>
<translation>退</translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<location filename="../main.cpp" line="45"/>
<source>File list.</source>
<translation></translation>
</message>

View File

@ -12,7 +12,7 @@ environment:
QTDIR: C:\Qt\6.7\mingw_64
MINGW64: C:\Qt\Tools\mingw1120_64
KF_BRANCH: master
EXIV2_VERSION: "0.28.3"
EXIV2_VERSION: "0.28.2"
EXIV2_CMAKE_OPTIONS: "-DEXIV2_ENABLE_BROTLI=OFF -DEXIV2_ENABLE_INIH=OFF -DEXIV2_BUILD_EXIV2_COMMAND=OFF"
PPIC_CMAKE_OPTIONS: "-DPREFER_QT_5=OFF"
WINDEPLOYQT_ARGS: "--verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-system-d3d-compiler --skip-plugin-types tls,networkinformation"
@ -67,7 +67,7 @@ build_script:
- cd %APPVEYOR_BUILD_FOLDER%
# install AOM for libavif AV1 decoding support...
- cd 3rdparty
#- git clone -b v3.9.1 --depth 1 https://aomedia.googlesource.com/aom
#- git clone -b v3.6.0 --depth 1 https://aomedia.googlesource.com/aom
#- cd aom
#- mkdir build.aom
#- cd build.aom
@ -76,18 +76,18 @@ build_script:
#- cmake --build . --config Release --target install/strip
- mkdir aom
- cd aom
- curl -fsSL -o ppkg-aom.zip https://sourceforge.net/projects/pineapple-package-manager/files/packages/mingw-w64-x86_64-windows/aom-3.9.1-2.zip
- curl -fsSL -o ppkg-aom.zip https://sourceforge.net/projects/pineapple-package-manager/files/packages/mingw-w64-x86_64-windows/aom-3.6.0-1.zip
- ppkg ppkg-aom.zip
- 7z x ppkg-aom.zip LICENSE -y
- cd %APPVEYOR_BUILD_FOLDER%
# install libavif for avif format support of KImageFormats
- cd %LIBAVIF%
- curl -fsSL -o libavif-v1_1_1.zip https://github.com/AOMediaCodec/libavif/archive/v1.1.1.zip
- 7z x libavif-v1_1_1.zip -y
- cd libavif-1.1.1
- curl -fsSL -o libavif-v0_11_1.zip https://github.com/AOMediaCodec/libavif/archive/v0.11.1.zip
- 7z x libavif-v0_11_1.zip -y
- cd libavif-0.11.1
- mkdir build
- cd build
- cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_PREFIX% -DAVIF_CODEC_AOM=ON -DAVIF_LOCAL_LIBYUV=ON
- cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_PREFIX% -DAVIF_CODEC_AOM=ON
- cmake --build . --config Release
- cmake --build . --config Release --target install/strip
- cd %APPVEYOR_BUILD_FOLDER%
@ -104,9 +104,9 @@ build_script:
- cd %APPVEYOR_BUILD_FOLDER%
# build libexpat for libexiv2
- cd %LIBEXPAT%
- curl -fsSL -o R_2_6_2.zip https://github.com/libexpat/libexpat/archive/R_2_6_2.zip
- 7z x R_2_6_2.zip -y
- cd libexpat-R_2_6_2/expat/
- curl -fsSL -o R_2_5_0.zip https://github.com/libexpat/libexpat/archive/R_2_5_0.zip
- 7z x R_2_5_0.zip -y
- cd libexpat-R_2_5_0/expat/
- cmake -G "Ninja" . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_PREFIX% -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF
- cmake --build . --target install/strip
- cd %APPVEYOR_BUILD_FOLDER%
@ -151,8 +151,8 @@ build_script:
- copy %APPVEYOR_BUILD_FOLDER%\3rdparty\aom\LICENSE License.aom.txt
- copy %APPVEYOR_BUILD_FOLDER%\3rdparty\karchive\LICENSES\LGPL-2.0-or-later.txt License.KArchive.txt
- copy %APPVEYOR_BUILD_FOLDER%\3rdparty\kimageformats\LICENSES\LGPL-2.1-or-later.txt License.kimageformats.txt
- copy %LIBEXPAT%\libexpat-R_2_6_2\expat\COPYING License.expat.txt
- copy %LIBAVIF%\libavif-1.1.1\LICENSE License.libavif.txt
- copy %LIBEXPAT%\libexpat-R_2_5_0\expat\COPYING License.expat.txt
- copy %LIBAVIF%\libavif-0.11.1\LICENSE License.libavif.txt
- copy %LIBEXIV2%\exiv2-%EXIV2_VERSION%\COPYING License.exiv2.txt
# TODO: Qt, zlib
- cd ..

View File

@ -74,16 +74,6 @@
</screenshot>
</screenshots>
<releases>
<release type="stable" version="0.8.1" date="2024-08-25T00:00:00Z">
<description>
<p>This release adds the following feature:</p>
<ul>
<li>New command line option to list all supported formats</li>
</ul>
<p>With contributions from:</p>
<p>albanobattistella, mmahhi, ovl-1, gallegonovato, Oğuz Ersen</p>
</description>
</release>
<release type="stable" version="0.8.0" date="2024-06-29T00:00:00Z">
<description>
<p>This release adds the following feature:</p>