Compare commits

..

No commits in common. "754366546045390613fd31c20ea8163e8a395c8e" and "ae257ea567cafccd8fb47aab254a154635afd1c1" have entirely different histories.

28 changed files with 1004 additions and 1629 deletions

View File

@ -67,30 +67,19 @@ jobs:
:: ------ dep ------ :: ------ dep ------
set CMAKE_PREFIX_PATH=%PWD%/dependencies_bin set CMAKE_PREFIX_PATH=%PWD%/dependencies_bin
mkdir dependencies_src 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 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 7z x exiv2_bin.zip -y
ren .\exiv2-0.28.3-2019msvc64 dependencies_bin ren .\exiv2-0.28.3-2019msvc64 dependencies_bin
:: ===== zlib =====
curl -fsSL -o zlib_src.zip https://zlib.net/zlib131.zip curl -fsSL -o zlib_src.zip https://zlib.net/zlib131.zip
7z x zlib_src.zip -y -o"dependencies_src" 7z x zlib_src.zip -y -o"dependencies_src"
ren .\dependencies_src\zlib-1.3.1 zlib || goto :error 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 ./dependencies_src/zlib -Bbuild_dependencies/zlib -DCMAKE_INSTALL_PREFIX="dependencies_bin" || goto :error
cmake --build build_dependencies/zlib --config Release --target=install || 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 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" 7z x expat_src.zip -y -o"dependencies_src"
ren .\dependencies_src\libexpat-R_2_6_2 expat || goto :error 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 ./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 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 -DCMAKE_INSTALL_PREFIX="dependencies_bin" -DBUILD_TESTING=OFF || goto :error
cmake --build build_dependencies/extra-cmake-modules --config Release --target=install || goto :error
:: ===== KImageFormats =====
git clone -q https://invent.kde.org/frameworks/kimageformats.git dependencies_src/kimageformats
cmake .\dependencies_src\kimageformats -DKDE_INSTALL_QTPLUGINDIR=%QT_ROOT_DIR%\plugins || goto :error
cmake --build build_dependencies/kimageformats --config Release --target=install || goto :error
:: ------ app ------ :: ------ app ------
cmake -Bbuild . -DCMAKE_INSTALL_PREFIX="%PWD%\build\" cmake -Bbuild . -DCMAKE_INSTALL_PREFIX="%PWD%\build\"
cmake --build build --config Release cmake --build build --config Release

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_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) #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, actionPrevPicture);
CREATE_NEW_ACTION(mainWindow, actionNextPicture); CREATE_NEW_ACTION(mainWindow, actionNextPicture);
@ -97,14 +96,13 @@ void ActionManager::retranslateUi(MainWindow *mainWindow)
actionZoomOut->setText(QCoreApplication::translate("MainWindow", "Zoom out", nullptr)); actionZoomOut->setText(QCoreApplication::translate("MainWindow", "Zoom out", nullptr));
actionToggleCheckerboard->setText(QCoreApplication::translate("MainWindow", "Toggle Checkerboard", nullptr)); actionToggleCheckerboard->setText(QCoreApplication::translate("MainWindow", "Toggle Checkerboard", nullptr));
actionRotateClockwise->setText(QCoreApplication::translate("MainWindow", "Rotate right", 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)); actionPrevPicture->setText(QCoreApplication::translate("MainWindow", "Previous image", nullptr));
actionNextPicture->setText(QCoreApplication::translate("MainWindow", "Next image", nullptr)); actionNextPicture->setText(QCoreApplication::translate("MainWindow", "Next image", nullptr));
actionHorizontalFlip->setText(QCoreApplication::translate("MainWindow", "Flip &Horizontally", nullptr)); actionHorizontalFlip->setText(QCoreApplication::translate("MainWindow", "Flip &Horizontally", nullptr));
actionFitInView->setText(QCoreApplication::translate("MainWindow", "Fit to view", nullptr)); actionFitInView->setText("Fit in view"); // TODO: what should it called?
actionFitByWidth->setText(QCoreApplication::translate("MainWindow", "Fit to width", nullptr)); actionFitByWidth->setText("Fit by width"); // TODO: what should it called?
actionCopyPixmap->setText(QCoreApplication::translate("MainWindow", "Copy P&ixmap", nullptr)); actionCopyPixmap->setText(QCoreApplication::translate("MainWindow", "Copy P&ixmap", nullptr));
actionCopyFilePath->setText(QCoreApplication::translate("MainWindow", "Copy &File Path", nullptr)); actionCopyFilePath->setText(QCoreApplication::translate("MainWindow", "Copy &File Path", nullptr));
actionPaste->setText(QCoreApplication::translate("MainWindow", "&Paste", nullptr)); actionPaste->setText(QCoreApplication::translate("MainWindow", "&Paste", nullptr));

View File

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

View File

@ -23,14 +23,14 @@ GraphicsView::GraphicsView(QWidget *parent)
setTransformationAnchor(QGraphicsView::AnchorUnderMouse); setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
setStyleSheet("background-color: rgba(0, 0, 0, 220);" setStyleSheet("background-color: rgba(0, 0, 0, 220);"
"border-radius: 3px;"); "border-radius: 3px;");
setAcceptDrops(false); setAcceptDrops(true);
setCheckerboardEnabled(false); setCheckerboardEnabled(false);
connect(horizontalScrollBar(), &QScrollBar::valueChanged, this, &GraphicsView::viewportRectChanged); connect(horizontalScrollBar(), &QScrollBar::valueChanged, this, &GraphicsView::viewportRectChanged);
connect(verticalScrollBar(), &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()); 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. // 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(); // QImage::Format imageFormat = imageReader.imageFormat();
if (imageReader.format().isEmpty()) { if (imageReader.format().isEmpty()) {
doRequestGallery = false;
showText(tr("File is not a valid image")); showText(tr("File is not a valid image"));
} else if (imageReader.supportsAnimation() && imageReader.imageCount() > 1) { } else if (imageReader.supportsAnimation() && imageReader.imageCount() > 1) {
showAnimated(filePath); showAnimated(filePath);
} else if (!imageReader.canRead()) { } else if (!imageReader.canRead()) {
doRequestGallery = false;
showText(tr("Image data is invalid or currently unsupported")); showText(tr("Image data is invalid or currently unsupported"));
} else { } else {
QPixmap && pixmap = QPixmap::fromImageReader(&imageReader); QPixmap && pixmap = QPixmap::fromImageReader(&imageReader);
if (pixmap.isNull()) { if (pixmap.isNull()) {
doRequestGallery = false;
showText(tr("Image data is invalid or currently unsupported")); showText(tr("Image data is invalid or currently unsupported"));
} else { } else {
pixmap.setDevicePixelRatio(devicePixelRatioF()); pixmap.setDevicePixelRatio(devicePixelRatioF());
@ -63,6 +66,10 @@ void GraphicsView::showFileFromPath(const QString &filePath)
} }
} }
} }
if (doRequestGallery) {
emit requestGallery(filePath);
}
} }
void GraphicsView::showImage(const QPixmap &pixmap) void GraphicsView::showImage(const QPixmap &pixmap)
@ -311,6 +318,55 @@ void GraphicsView::resizeEvent(QResizeEvent *event)
return QGraphicsView::resizeEvent(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 bool GraphicsView::isThingSmallerThanWindowWith(const QTransform &transform) const
{ {
return rect().size().expandedTo(transform.mapRect(sceneRect()).size().toSize()) return rect().size().expandedTo(transform.mapRect(sceneRect()).size().toSize())

View File

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

View File

@ -40,19 +40,12 @@ int main(int argc, char *argv[])
a.setApplicationName("Pineapple Pictures"); a.setApplicationName("Pineapple Pictures");
a.setApplicationDisplayName(QCoreApplication::translate("main", "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 // parse commandline arguments
QCommandLineParser parser; QCommandLineParser parser;
parser.addOption(supportedImageFormats);
parser.addPositionalArgument("File list", QCoreApplication::translate("main", "File list.")); parser.addPositionalArgument("File list", QCoreApplication::translate("main", "File list."));
parser.addHelpOption(); parser.addHelpOption();
parser.process(a);
if (parser.isSet(supportedImageFormats)) { parser.process(a);
fputs(qPrintable(MainWindow::supportedImageFormats().join(QChar('\n'))), stdout);
::exit(EXIT_SUCCESS);
}
MainWindow w; MainWindow w;
w.show(); w.show();

View File

@ -33,7 +33,6 @@
#include <QTimer> #include <QTimer>
#include <QFileDialog> #include <QFileDialog>
#include <QStandardPaths> #include <QStandardPaths>
#include <QStringBuilder>
#include <QProcess> #include <QProcess>
#include <QDesktopServices> #include <QDesktopServices>
#include <QMessageBox> #include <QMessageBox>
@ -46,7 +45,7 @@
MainWindow::MainWindow(QWidget *parent) MainWindow::MainWindow(QWidget *parent)
: FramelessWindow(parent) : FramelessWindow(parent)
, m_am(new ActionManager) , m_am(new ActionManager)
, m_pm(new PlaylistManager(this)) , m_pm(new PlaylistManager(PlaylistManager::PL_SAMEFOLDER, this))
{ {
if (Settings::instance()->stayOnTop()) { if (Settings::instance()->stayOnTop()) {
this->setWindowFlag(Qt::WindowStaysOnTopHint); this->setWindowFlag(Qt::WindowStaysOnTopHint);
@ -56,9 +55,12 @@ MainWindow::MainWindow(QWidget *parent)
this->setMinimumSize(350, 330); this->setMinimumSize(350, 330);
this->setWindowIcon(QIcon(":/icons/app-icon.svg")); this->setWindowIcon(QIcon(":/icons/app-icon.svg"));
this->setMouseTracking(true); 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 = new QPropertyAnimation(this, "windowOpacity");
m_fadeOutAnimation->setDuration(300); m_fadeOutAnimation->setDuration(300);
@ -96,6 +98,9 @@ MainWindow::MainWindow(QWidget *parent)
connect(m_graphicsView, &GraphicsView::viewportRectChanged, connect(m_graphicsView, &GraphicsView::viewportRectChanged,
m_gv, &NavigatorView::updateMainViewportRegion); m_gv, &NavigatorView::updateMainViewportRegion);
connect(m_graphicsView, &GraphicsView::requestGallery,
this, &MainWindow::loadGalleryBySingleLocalFile);
m_closeButton = new ToolButton(true, m_graphicsView); m_closeButton = new ToolButton(true, m_graphicsView);
m_closeButton->setIconSize(QSize(32, 32)); m_closeButton->setIconSize(QSize(32, 32));
m_closeButton->setFixedSize(QSize(50, 50)); m_closeButton->setFixedSize(QSize(50, 50));
@ -135,13 +140,19 @@ MainWindow::MainWindow(QWidget *parent)
m_gv->setOpacity(0, false); m_gv->setOpacity(0, false);
m_closeButton->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_prevButton->setVisible(galleryFileCount > 1);
m_nextButton->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, [this]() {
connect(m_pm, &PlaylistManager::currentIndexChanged, this, std::bind(&MainWindow::galleryCurrent, this, true, false)); 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); QShortcut * fullscreenShorucut = new QShortcut(QKeySequence(QKeySequence::FullScreen), this);
connect(fullscreenShorucut, &QShortcut::activated, connect(fullscreenShorucut, &QShortcut::activated,
@ -169,8 +180,13 @@ MainWindow::~MainWindow()
void MainWindow::showUrls(const QList<QUrl> &urls) void MainWindow::showUrls(const QList<QUrl> &urls)
{ {
if (!urls.isEmpty()) { if (!urls.isEmpty()) {
m_graphicsView->showFileFromPath(urls.first().toLocalFile()); if (urls.count() == 1) {
m_pm->loadPlaylist(urls); m_graphicsView->showFileFromPath(urls.first().toLocalFile(), true);
} else {
m_graphicsView->showFileFromPath(urls.first().toLocalFile(), false);
m_pm->setPlaylist(urls);
m_pm->setCurrentIndex(0);
}
} else { } else {
m_graphicsView->showText(tr("File url list is empty")); m_graphicsView->showText(tr("File url list is empty"));
return; return;
@ -196,7 +212,7 @@ void MainWindow::initWindowSize()
void MainWindow::adjustWindowSizeBySceneRect() void MainWindow::adjustWindowSizeBySceneRect()
{ {
if (m_pm->totalCount() < 1) return; if (m_pm->count() < 1) return;
QSize sceneSize = m_graphicsView->sceneRect().toRect().size(); QSize sceneSize = m_graphicsView->sceneRect().toRect().size();
QSize sceneSizeWithMargins = sceneSize + QSize(130, 125); QSize sceneSizeWithMargins = sceneSize + QSize(130, 125);
@ -227,57 +243,60 @@ void MainWindow::adjustWindowSizeBySceneRect()
// can be empty if it is NOT from a local file. // can be empty if it is NOT from a local file.
QUrl MainWindow::currentImageFileUrl() const 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() void MainWindow::clearGallery()
{ {
m_pm->setPlaylist({}); m_pm->clear();
}
void MainWindow::loadGalleryBySingleLocalFile(const QString &path)
{
m_pm->setCurrentFile(path);
} }
void MainWindow::galleryPrev() void MainWindow::galleryPrev()
{ {
QModelIndex index = m_pm->previousIndex(); int index;
if (index.isValid()) { QString filePath;
std::tie(index, filePath) = m_pm->previousFile();
if (index >= 0) {
m_graphicsView->showFileFromPath(filePath, false);
m_pm->setCurrentIndex(index); m_pm->setCurrentIndex(index);
m_graphicsView->showFileFromPath(m_pm->localFileByIndex(index));
} }
} }
void MainWindow::galleryNext() void MainWindow::galleryNext()
{ {
QModelIndex index = m_pm->nextIndex(); int index;
if (index.isValid()) { QString filePath;
std::tie(index, filePath) = m_pm->nextFile();
if (index >= 0) {
m_graphicsView->showFileFromPath(filePath, false);
m_pm->setCurrentIndex(index); m_pm->setCurrentIndex(index);
m_graphicsView->showFileFromPath(m_pm->localFileByIndex(index));
} }
} }
// Only use this to update minor information. // If playlist (or its index) get changed, use this method to "reload" the current file.
void MainWindow::galleryCurrent(bool showLoadImageHintWhenEmpty, bool reloadImage) void MainWindow::galleryCurrent()
{ {
QModelIndex index = m_pm->curIndex(); int index;
if (index.isValid()) { QString filePath;
if (reloadImage) m_graphicsView->showFileFromPath(m_pm->localFileByIndex(index)); std::tie(index, filePath) = m_pm->currentFile();
setWindowTitle(m_pm->urlByIndex(index).fileName());
} else if (showLoadImageHintWhenEmpty && m_pm->totalCount() <= 0) { if (index >= 0) {
m_graphicsView->showFileFromPath(filePath, false);
} else {
m_graphicsView->showText(QCoreApplication::translate("GraphicsScene", "Drag image here")); 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) void MainWindow::showEvent(QShowEvent *event)
{ {
updateWidgetsPosition(); updateWidgetsPosition();
@ -503,50 +522,6 @@ void MainWindow::contextMenuEvent(QContextMenuEvent *event)
return FramelessWindow::contextMenuEvent(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() void MainWindow::centerWindow()
{ {
this->setGeometry( this->setGeometry(
@ -739,21 +714,23 @@ void MainWindow::on_actionPaste_triggered()
} }
if (!clipboardImage.isNull()) { if (!clipboardImage.isNull()) {
setWindowTitle(tr("Image From Clipboard"));
m_graphicsView->showImage(clipboardImage); m_graphicsView->showImage(clipboardImage);
clearGallery(); clearGallery();
} else if (clipboardFileUrl.isValid()) { } else if (clipboardFileUrl.isValid()) {
m_graphicsView->showFileFromPath(clipboardFileUrl.toLocalFile()); QString localFile(clipboardFileUrl.toLocalFile());
m_pm->loadPlaylist(clipboardFileUrl); m_graphicsView->showFileFromPath(localFile, true);
m_pm->setCurrentFile(localFile);
} }
} }
void MainWindow::on_actionTrash_triggered() void MainWindow::on_actionTrash_triggered()
{ {
QModelIndex index = m_pm->curIndex(); int currentFileIndex;
if (!m_pm->urlByIndex(index).isLocalFile()) return; 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()); QFileInfo fileInfo(file.fileName());
QMessageBox::StandardButton result = QMessageBox::question(this, tr("Move to Trash"), 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", 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.")); tr("Move to trash failed, it might caused by file permission issue, file system limitation, or platform limitation."));
} else { } else {
m_pm->removeAt(index); m_pm->removeFileAt(currentFileIndex);
galleryCurrent(true, true); galleryCurrent();
} }
} }
} }
@ -783,13 +760,6 @@ void MainWindow::on_actionRotateClockwise_triggered()
m_gv->setVisible(false); 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() void MainWindow::on_actionPrevPicture_triggered()
{ {
galleryPrev(); galleryPrev();

View File

@ -42,11 +42,10 @@ public:
QUrl currentImageFileUrl() const; QUrl currentImageFileUrl() const;
void clearGallery(); void clearGallery();
void loadGalleryBySingleLocalFile(const QString &path);
void galleryPrev(); void galleryPrev();
void galleryNext(); void galleryNext();
void galleryCurrent(bool showLoadImageHintWhenEmpty, bool reloadImage); void galleryCurrent();
static QStringList supportedImageFormats();
protected slots: protected slots:
void showEvent(QShowEvent *event) override; void showEvent(QShowEvent *event) override;
@ -59,9 +58,6 @@ protected slots:
void wheelEvent(QWheelEvent *event) override; void wheelEvent(QWheelEvent *event) override;
void resizeEvent(QResizeEvent *event) override; void resizeEvent(QResizeEvent *event) override;
void contextMenuEvent(QContextMenuEvent *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 centerWindow();
void closeWindow(); void closeWindow();
@ -87,7 +83,6 @@ private slots:
void on_actionZoomOut_triggered(); void on_actionZoomOut_triggered();
void on_actionToggleCheckerboard_triggered(); void on_actionToggleCheckerboard_triggered();
void on_actionRotateClockwise_triggered(); void on_actionRotateClockwise_triggered();
void on_actionRotateCounterClockwise_triggered();
void on_actionPrevPicture_triggered(); void on_actionPrevPicture_triggered();
void on_actionNextPicture_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 // SPDX-License-Identifier: MIT
@ -9,154 +9,11 @@
#include <QFileInfo> #include <QFileInfo>
#include <QUrl> #include <QUrl>
PlaylistModel::PlaylistModel(QObject *parent) PlaylistManager::PlaylistManager(PlaylistType type, 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)
: 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() 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) 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); QFileInfo info(filePath);
setProperty("currentIndex", idx.row()); QDir dir(info.path());
return idx; 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;
}
emit currentIndexChanged(m_currentIndex);
emit loaded(m_playlist.count());
} }
QModelIndex PlaylistManager::loadPlaylist(const QUrl &url) void PlaylistManager::setCurrentIndex(int index)
{ {
QModelIndex idx = m_model.loadPlaylist(url); if (index < 0 || index >= m_playlist.count()) return;
setProperty("currentIndex", idx.row()); m_currentIndex = index;
return idx; 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(); m_playlist.removeAt(index);
if (count == 0) return QModelIndex();
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 count = totalCount();
if (count == 0) return QModelIndex();
return m_model.index(m_currentIndex + 1 == count ? 0 : m_currentIndex + 1);
}
QModelIndex PlaylistManager::curIndex() const
{
return m_model.index(m_currentIndex);
}
void PlaylistManager::setCurrentIndex(const QModelIndex &index)
{
if (index.isValid() && index.row() >= 0 && index.row() < totalCount()) {
setProperty("currentIndex", index.row());
} }
} }
QUrl PlaylistManager::urlByIndex(const QModelIndex &index) int PlaylistManager::indexOf(const QString &filePath)
{ {
return m_model.urlByIndex(index.row()); const QUrl & url = QUrl::fromLocalFile(filePath);
return m_playlist.indexOf(url);
} }
QString PlaylistManager::localFileByIndex(const QModelIndex &index) int PlaylistManager::count() const
{ {
return urlByIndex(index).toLocalFile(); return m_playlist.count();
} }
bool PlaylistManager::removeAt(const QModelIndex &index) std::tuple<int, QString> PlaylistManager::previousFile() const
{ {
return m_model.removeAt(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());
} }
void PlaylistManager::setAutoLoadFilterSuffixes(const QStringList &nameFilters) std::tuple<int, QString> PlaylistManager::nextFile() const
{ {
m_model.setProperty("autoLoadFilterSuffixes", nameFilters); 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());
}
std::tuple<int, QString> PlaylistManager::currentFile() const
{
if (m_playlist.count() == 0) return std::make_tuple(-1, QString());
return std::make_tuple(m_currentIndex, m_playlist.at(m_currentIndex).toLocalFile());
}
std::tuple<int, QUrl> PlaylistManager::currentFileUrl() const
{
if (m_playlist.count() == 0) return std::make_tuple(-1, QUrl());
return std::make_tuple(m_currentIndex, m_playlist.at(m_currentIndex));
} }
QList<QUrl> PlaylistManager::convertToUrlList(const QStringList &files) 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 // SPDX-License-Identifier: MIT
#pragma once #pragma once
#include <QUrl> #include <QObject>
#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;
};
class PlaylistManager : public QObject class PlaylistManager : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
Q_PROPERTY(int currentIndex MEMBER m_currentIndex NOTIFY currentIndexChanged) 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(); ~PlaylistManager();
PlaylistModel * model(); void setPlaylistType(PlaylistType type);
PlaylistType playlistType() const;
void setPlaylist(const QList<QUrl> & url); QStringList autoLoadFilterSuffix() const;
Q_INVOKABLE QModelIndex loadPlaylist(const QList<QUrl> & urls); void setAutoLoadFilterSuffix(const QStringList &nameFilters);
Q_INVOKABLE QModelIndex loadPlaylist(const QUrl & url);
int totalCount() const; void clear();
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 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); static QList<QUrl> convertToUrlList(const QStringList & files);
signals: signals:
void loaded(int length);
void currentIndexChanged(int index); void currentIndexChanged(int index);
void totalCountChanged(int count);
private: private:
QList<QUrl> m_playlist;
PlaylistType m_type;
QString m_currentDir;
int m_currentIndex = -1; int m_currentIndex = -1;
PlaylistModel m_model; QStringList m_autoLoadSuffix = {};
}; };

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -178,8 +178,8 @@
<context> <context>
<name>GraphicsScene</name> <name>GraphicsScene</name>
<message> <message>
<location filename="../mainwindow.cpp" line="264"/> <location filename="../graphicsscene.cpp" line="89"/>
<location filename="../graphicsscene.cpp" line="90"/> <location filename="../mainwindow.cpp" line="296"/>
<source>Drag image here</source> <source>Drag image here</source>
<translation>Dra bilde hit</translation> <translation>Dra bilde hit</translation>
</message> </message>
@ -187,200 +187,172 @@
<context> <context>
<name>GraphicsView</name> <name>GraphicsView</name>
<message> <message>
<location filename="../graphicsview.cpp" line="351"/>
<source>File url list is empty</source> <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>
<message> <message>
<location filename="../graphicsview.cpp" line="51"/> <location filename="../graphicsview.cpp" line="52"/>
<source>File is not a valid image</source> <source>File is not a valid image</source>
<translation>Filen er ikke et gyldig bilde</translation> <translation>Filen er ikke et gyldig bilde</translation>
</message> </message>
<message> <message>
<location filename="../graphicsview.cpp" line="55"/> <location filename="../graphicsview.cpp" line="57"/>
<location filename="../graphicsview.cpp" line="59"/> <location filename="../graphicsview.cpp" line="62"/>
<source>Image data is invalid or currently unsupported</source> <source>Image data is invalid or currently unsupported</source>
<translation>Ugyldig bildedata, eller for tiden ustøttet</translation> <translation>Ugyldig bildedata, eller for tiden ustøttet</translation>
</message> </message>
<message> <message>
<location filename="../graphicsview.cpp" line="359"/>
<source>Image data is invalid</source> <source>Image data is invalid</source>
<translation type="vanished">Ugyldig bildedata</translation> <translation>Ugyldig bildedata</translation>
</message> </message>
<message> <message>
<location filename="../graphicsview.cpp" line="366"/>
<source>Not supported mimedata: %1</source> <source>Not supported mimedata: %1</source>
<translation type="vanished">Ustøttet MIME-data: %1</translation> <translation>Ustøttet MIME-data: %1</translation>
</message> </message>
</context> </context>
<context> <context>
<name>MainWindow</name> <name>MainWindow</name>
<message> <message>
<location filename="../mainwindow.cpp" line="175"/> <location filename="../mainwindow.cpp" line="191"/>
<location filename="../mainwindow.cpp" line="531"/>
<source>File url list is empty</source> <source>File url list is empty</source>
<translation>Listen over filnettadresser er ugyldig</translation> <translation>Listen over filnettadresser er ugyldig</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="429"/> <location filename="../mainwindow.cpp" line="448"/>
<source>&amp;Copy</source> <source>&amp;Copy</source>
<translation>&amp;Kopier</translation> <translation>&amp;Kopier</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="539"/> <location filename="../mainwindow.cpp" line="737"/>
<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>
<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> <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> <translation>Er du sikker at du vil flytte &quot;%1&quot; til papirkurven?</translation>
</message> </message>
<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> <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>Flytt til papirkurven mislyktes, det kan skyldes filtillatelsesproblem, filsystembegrensning eller plattformbegrensning.</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="108"/> <location filename="../actionmanager.cpp" line="106"/>
<source>Copy P&amp;ixmap</source> <source>Copy P&amp;ixmap</source>
<translation type="unfinished">Kopier p&amp;ixmap</translation> <translation type="unfinished">Kopier p&amp;ixmap</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="109"/> <location filename="../actionmanager.cpp" line="107"/>
<source>Copy &amp;File Path</source> <source>Copy &amp;File Path</source>
<translation>Kopier &amp;filbane</translation> <translation>Kopier &amp;filbane</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="127"/> <location filename="../actionmanager.cpp" line="125"/>
<source>Properties</source> <source>Properties</source>
<translation>Egenskaper</translation> <translation>Egenskaper</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="112"/>
<location filename="../aboutdialog.cpp" line="39"/> <location filename="../aboutdialog.cpp" line="39"/>
<location filename="../actionmanager.cpp" line="110"/>
<source>Stay on top</source> <source>Stay on top</source>
<translation>Behold øverst</translation> <translation>Behold øverst</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="113"/>
<location filename="../aboutdialog.cpp" line="42"/> <location filename="../aboutdialog.cpp" line="42"/>
<location filename="../actionmanager.cpp" line="111"/>
<source>Protected mode</source> <source>Protected mode</source>
<translation>Beskyttet modus</translation> <translation>Beskyttet modus</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="114"/>
<location filename="../aboutdialog.cpp" line="45"/> <location filename="../aboutdialog.cpp" line="45"/>
<location filename="../actionmanager.cpp" line="112"/>
<source>Keep transformation</source> <source>Keep transformation</source>
<comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment> <comment>The &apos;transformation&apos; means the flip/rotation status that currently applied to the image view</comment>
<translation>Behold transformasjon</translation> <translation>Behold transformasjon</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="96"/> <location filename="../actionmanager.cpp" line="95"/>
<source>Zoom in</source> <source>Zoom in</source>
<translation>Førstørr</translation> <translation>Førstørr</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="97"/> <location filename="../actionmanager.cpp" line="96"/>
<source>Zoom out</source> <source>Zoom out</source>
<translation>Forminsk</translation> <translation>Forminsk</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="105"/> <location filename="../actionmanager.cpp" line="103"/>
<source>Flip &amp;Horizontally</source> <source>Flip &amp;Horizontally</source>
<translation>Speilvend &amp;horisontalt</translation> <translation>Speilvend &amp;horisontalt</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="106"/> <location filename="../actionmanager.cpp" line="108"/>
<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"/>
<source>&amp;Paste</source> <source>&amp;Paste</source>
<translation>&amp;Lim inn</translation> <translation>&amp;Lim inn</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="98"/> <location filename="../actionmanager.cpp" line="97"/>
<source>Toggle Checkerboard</source> <source>Toggle Checkerboard</source>
<translation type="unfinished">Skru av/ rutemønster</translation> <translation type="unfinished">Skru av/ rutemønster</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="92"/> <location filename="../actionmanager.cpp" line="91"/>
<source>&amp;Open...</source> <source>&amp;Open...</source>
<translation>&amp;Åpne </translation> <translation>&amp;Åpne </translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="94"/> <location filename="../actionmanager.cpp" line="93"/>
<source>Actual size</source> <source>Actual size</source>
<translation>Faktisk størrelse</translation> <translation>Faktisk størrelse</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="95"/> <location filename="../actionmanager.cpp" line="94"/>
<source>Toggle maximize</source> <source>Toggle maximize</source>
<translation>Maksimering av/</translation> <translation>Maksimering av/</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="99"/> <location filename="../actionmanager.cpp" line="98"/>
<source>Rotate right</source> <source>Rotate right</source>
<translation>Roter til høyre</translation> <translation>Roter til høyre</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="100"/> <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> <source>Previous image</source>
<translation>Forrige bilde</translation> <translation>Forrige bilde</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="103"/> <location filename="../actionmanager.cpp" line="101"/>
<source>Next image</source> <source>Next image</source>
<translation>Neste bilde</translation> <translation>Neste bilde</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="759"/> <location filename="../actionmanager.cpp" line="109"/>
<location filename="../actionmanager.cpp" line="111"/> <location filename="../mainwindow.cpp" line="736"/>
<source>Move to Trash</source> <source>Move to Trash</source>
<translation>Flytt til papirkurven</translation> <translation>Flytt til papirkurven</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="115"/> <location filename="../actionmanager.cpp" line="113"/>
<source>Configure...</source> <source>Configure...</source>
<translation>Sett opp </translation> <translation>Sett opp </translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="116"/> <location filename="../actionmanager.cpp" line="114"/>
<source>Help</source> <source>Help</source>
<translation>Hjelp</translation> <translation>Hjelp</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="119"/> <location filename="../actionmanager.cpp" line="117"/>
<source>Show in File Explorer</source> <source>Show in File Explorer</source>
<comment>File Explorer is the name of explorer.exe under Windows</comment> <comment>File Explorer is the name of explorer.exe under Windows</comment>
<translation>Vis i filutforsker</translation> <translation>Vis i filutforsker</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="125"/> <location filename="../actionmanager.cpp" line="123"/>
<source>Show in directory</source> <source>Show in directory</source>
<translation type="unfinished">Vis i mappe</translation> <translation type="unfinished">Vis i mappe</translation>
</message> </message>
<message> <message>
<location filename="../actionmanager.cpp" line="128"/> <location filename="../actionmanager.cpp" line="126"/>
<source>Quit</source> <source>Quit</source>
<translation>Avslutt</translation> <translation>Avslutt</translation>
</message> </message>
@ -808,12 +780,7 @@
<translation>Pineapple Pictures</translation> <translation>Pineapple Pictures</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="44"/> <location filename="../main.cpp" line="45"/>
<source>List supported image format suffixes, and quit program.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../main.cpp" line="48"/>
<source>File list.</source> <source>File list.</source>
<translation>Filliste.</translation> <translation>Filliste.</translation>
</message> </message>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -12,7 +12,7 @@ environment:
QTDIR: C:\Qt\6.7\mingw_64 QTDIR: C:\Qt\6.7\mingw_64
MINGW64: C:\Qt\Tools\mingw1120_64 MINGW64: C:\Qt\Tools\mingw1120_64
KF_BRANCH: master 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" EXIV2_CMAKE_OPTIONS: "-DEXIV2_ENABLE_BROTLI=OFF -DEXIV2_ENABLE_INIH=OFF -DEXIV2_BUILD_EXIV2_COMMAND=OFF"
PPIC_CMAKE_OPTIONS: "-DPREFER_QT_5=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" WINDEPLOYQT_ARGS: "--verbose=2 --no-quick-import --no-translations --no-opengl-sw --no-system-d3d-compiler --skip-plugin-types tls,networkinformation"
@ -67,24 +67,24 @@ build_script:
- cd %APPVEYOR_BUILD_FOLDER% - cd %APPVEYOR_BUILD_FOLDER%
# install AOM for libavif AV1 decoding support... # install AOM for libavif AV1 decoding support...
- cd 3rdparty - 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
- cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_PREFIX% -DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DAOM_TARGET_CPU=generic -DENABLE_TESTS=OFF -DENABLE_TESTDATA=OFF -DENABLE_TOOLS=OFF -DENABLE_EXAMPLES=0
- cmake --build . --config Release
- cmake --build . --config Release --target install/strip
#- mkdir aom
#- cd 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-1.zip #- mkdir build.aom
#- ppkg ppkg-aom.zip #- cd build.aom
#- 7z x ppkg-aom.zip LICENSE -y #- cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_PREFIX% -DENABLE_DOCS=OFF -DBUILD_SHARED_LIBS=ON -DAOM_TARGET_CPU=generic -DENABLE_TESTS=OFF -DENABLE_TESTDATA=OFF -DENABLE_TOOLS=OFF -DENABLE_EXAMPLES=0
#- cmake --build . --config Release
#- 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.6.0-1.zip
- ppkg ppkg-aom.zip
- 7z x ppkg-aom.zip LICENSE -y
- cd %APPVEYOR_BUILD_FOLDER% - cd %APPVEYOR_BUILD_FOLDER%
# install libavif for avif format support of KImageFormats # install libavif for avif format support of KImageFormats
- cd %LIBAVIF% - cd %LIBAVIF%
- curl -fsSL -o libavif-v0_11_1.zip https://github.com/AOMediaCodec/libavif/archive/v1.1.1.zip - curl -fsSL -o libavif-v0_11_1.zip https://github.com/AOMediaCodec/libavif/archive/v0.11.1.zip
- 7z x libavif-v1_1_1.zip -y - 7z x libavif-v0_11_1.zip -y
- cd libavif-1.1.1 - cd libavif-0.11.1
- mkdir build - mkdir build
- cd build - cd build
- cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_PREFIX% -DAVIF_CODEC_AOM=ON - cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%CMAKE_INSTALL_PREFIX% -DAVIF_CODEC_AOM=ON
@ -104,9 +104,9 @@ build_script:
- cd %APPVEYOR_BUILD_FOLDER% - cd %APPVEYOR_BUILD_FOLDER%
# build libexpat for libexiv2 # build libexpat for libexiv2
- cd %LIBEXPAT% - cd %LIBEXPAT%
- curl -fsSL -o R_2_6_2.zip https://github.com/libexpat/libexpat/archive/R_2_6_2.zip - curl -fsSL -o R_2_5_0.zip https://github.com/libexpat/libexpat/archive/R_2_5_0.zip
- 7z x R_2_6_2.zip -y - 7z x R_2_5_0.zip -y
- cd libexpat-R_2_6_2/expat/ - 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 -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 - cmake --build . --target install/strip
- cd %APPVEYOR_BUILD_FOLDER% - 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\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\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 %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 %LIBEXPAT%\libexpat-R_2_5_0\expat\COPYING License.expat.txt
- copy %LIBAVIF%\libavif-1.1.1\LICENSE License.libavif.txt - copy %LIBAVIF%\libavif-0.11.1\LICENSE License.libavif.txt
- copy %LIBEXIV2%\exiv2-%EXIV2_VERSION%\COPYING License.exiv2.txt - copy %LIBEXIV2%\exiv2-%EXIV2_VERSION%\COPYING License.exiv2.txt
# TODO: Qt, zlib # TODO: Qt, zlib
- cd .. - cd ..