Cherry-picked new upstream version 0.4.0+20160108.

Removed outdated build dependency libfm-qt5-dev,
Added build dependencies libfm-qt-dev and libmenu-cache-dev.
Bump Standards to 3.9.7
Changed the VCS-fields to https://
Fix Years in copyright
Enable hardening=+all
ubuntu/disco debian/0.4.0+20160108-1
Alf Gaida 9 years ago
parent 881089189f
commit bd38d1c7aa

2
.gitignore vendored

@ -0,0 +1,2 @@
build
*.kdev4

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 2.8.11)
cmake_minimum_required(VERSION 3.0.2)
project(lximage-qt)
@ -10,6 +10,7 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
set(MAJOR_VERSION 0)
set(MINOR_VERSION 4)
set(PATCH_VERSION 0)
set(LXIMAGE_VERSION ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION})
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
@ -40,16 +41,14 @@ find_package(Qt5DBus REQUIRED)
find_package(Qt5PrintSupport REQUIRED QUIET)
find_package(Qt5X11Extras REQUIRED QUIET)
find_package(Qt5LinguistTools REQUIRED QUIET)
find_package(fm-qt REQUIRED QUIET)
message(STATUS "Building with Qt ${Qt5Core_VERSION_STRING}")
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB REQUIRED glib-2.0)
# FIXME: we'll need this to provide detail info for photos in the future
pkg_check_modules(EXIF REQUIRED libexif)
pkg_check_modules(LIBFM_QT REQUIRED libfm-qt5 libfm>=1.2)
# TODO: make the X11 stuff optional.
# for screenshot support
find_package(X11 REQUIRED)

12
debian/changelog vendored

@ -1,3 +1,15 @@
lximage-qt (0.4.0+20160108-1) unstable; urgency=medium
* Cherry-picked new upstream version 0.4.0+20160108.
* Removed outdated build dependency libfm-qt5-dev,
* Added build dependencies libfm-qt-dev and libmenu-cache-dev.
* Bump Standards to 3.9.7
* Changed the VCS-fields to https://
* Fix Years in copyright
* Enable hardening=+all
-- Alf Gaida <agaida@siduction.org> Sun, 07 Feb 2016 22:55:06 +0100
lximage-qt (0.4.0+20151117-2) unstable; urgency=medium
* Remove dbg package in favor of dbgsym.

9
debian/control vendored

@ -10,16 +10,17 @@ Build-Depends: debhelper (>= 9),
libexif-dev,
libglib2.0-dev,
libfm-dev,
libfm-qt5-dev,
libfm-qt-dev,
libmenu-cache-dev,
libqt5x11extras5-dev,
libx11-dev,
libxfixes-dev,
pkg-config,
qttools5-dev,
qttools5-dev-tools
Standards-Version: 3.9.6
Vcs-Browser: http://anonscm.debian.org/cgit/pkg-lxqt/lximage-qt.git/?h=debian/sid
Vcs-Git: git://anonscm.debian.org/pkg-lxqt/lximage-qt.git -b debian/sid
Standards-Version: 3.9.7
Vcs-Browser: https://anonscm.debian.org/git/pkg-lxqt/lximage-qt.git/?h=debian/sid
Vcs-Git: https://anonscm.debian.org/git/pkg-lxqt/lximage-qt.git -b debian/sid
Homepage: https://github.com/lxde/lximage-qt
Package: lximage-qt

8
debian/copyright vendored

@ -3,8 +3,8 @@ Upstream-Name: lximage-qt
Source: https://github.com/lxde/lximage-qt
Files: *
Copyright: 2013-2015 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
2013-2015 LXQt team
Copyright: 2013-2016 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
2013-2016 LXQt team
License: GPL-2+ and LGPL-2.1+
Files: src/application.*
@ -14,7 +14,7 @@ Files: src/application.*
src/preferencesdialog.*
src/saveimagejob.*
src/settings.*
Copyright: 2013-2015 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
Copyright: 2013-2016 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
License: GPL-2+
Files: src/imageview.*
@ -27,7 +27,7 @@ Copyright: Copyright (C) 2013 - 2014
License: LGPL-2.1+
Files: debian/*
Copyright: 2014-2015 Alf Gaida <agaida@siduction.org>
Copyright: 2014-2016 Alf Gaida <agaida@siduction.org>
2015 Andrew Lee (李健秋) <ajqlee@debian.org>
2015 ChangZhuo Chen (陳昌倬) <czchen@debian.org>
License: LGPL-2.1+

2
debian/rules vendored

@ -1,7 +1,7 @@
#!/usr/bin/make -f
#export DH_VERBOSE=1
export DEB_CXXFLAGS_MAINT_APPEND = -fPIE -pie
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%:

@ -1,12 +1,7 @@
# set visibility to hidden to hide symbols, unlesss they're exporeted manually in the code
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_KEYWORDS -fno-exceptions")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
include_directories(
${QTX_INCLUDE_DIRS}
${CMAKE_CURRENT_BINARY_DIR}
${GLIB_INCLUDE_DIRS}
${EXIF_INCLUDE_DIRS}
${LIBFM_QT_INCLUDE_DIRS}
${X11_INCLUDE_DIR}
${XFIXES_INCLUDE_DIRS}
)
@ -76,16 +71,15 @@ add_executable(lximage-qt
add_definitions(
-DLXIMAGE_DATA_DIR="${CMAKE_INSTALL_PREFIX}/share/lximage-qt"
-DLIBFM_QT_API=Q_DECL_IMPORT # FIXME: This should be done in libfm-qt headers instead :-(
-DLXIMAGE_VERSION="${LXIMAGE_VERSION}"
)
set(QT_LIBRARIES Qt5::Widgets Qt5::Core Qt5::DBus Qt5::PrintSupport Qt5::X11Extras)
target_link_libraries(lximage-qt
fm-qt
${QT_LIBRARIES}
${GLIB_LIBRARIES}
${EXIF_LIBRARIES}
${LIBFM_QT_LIBRARIES}
${X11_LIBRARIES}
${XFIXES_LIBRARIES}
)

@ -37,6 +37,7 @@ Application::Application(int& argc, char** argv):
QApplication(argc, argv),
windowCount_(0),
libFm() {
setApplicationVersion(LXIMAGE_VERSION);
}
bool Application::init(int argc, char** argv) {
@ -81,6 +82,7 @@ bool Application::init(int argc, char** argv) {
bool Application::parseCommandLineArgs() {
QCommandLineParser parser;
parser.addHelpOption();
parser.addVersionOption();
QCommandLineOption screenshotOption(
QStringList() << "s" << "screenshot",
@ -152,7 +154,9 @@ void Application::newWindow(QStringList files) {
if(settings_.windowMaximized())
window->setWindowState(window->windowState() | Qt::WindowMaximized);
window->show();
/* when there's an image, we show the window AFTER resizing
and centering it appropriately at MainWindow::updateUI() */
//window->show();
}
}
}

@ -26,6 +26,8 @@
#include <QPolygon>
#include <QDebug>
#include <QStyle>
#include <QLabel>
#include <QGraphicsProxyWidget>
namespace LxImage {
@ -33,6 +35,7 @@ ImageView::ImageView(QWidget* parent):
QGraphicsView(parent),
imageItem_(new QGraphicsRectItem()),
scene_(new QGraphicsScene(this)),
gifMovie_(NULL),
autoZoomFit_(false),
cacheTimer_(NULL),
scaleFactor_(1.0) {
@ -48,7 +51,9 @@ ImageView::ImageView(QWidget* parent):
}
ImageView::~ImageView() {
delete imageItem_;
scene_->clear(); // deletes all items
if(gifMovie_)
delete gifMovie_;
if(cacheTimer_) {
cacheTimer_->stop();
delete cacheTimer_;
@ -130,7 +135,18 @@ void ImageView::zoomOriginal() {
queueGenerateCache();
}
void ImageView::setImage(QImage image) {
void ImageView::setImage(QImage image, bool show) {
if(gifMovie_ && show) { // a gif animation was shown
scene_->clear();
delete gifMovie_;
gifMovie_ = NULL;
// recreate the rect item
imageItem_ = new QGraphicsRectItem();
imageItem_->hide();
imageItem_->setPen(QPen(Qt::NoPen));
scene_->addItem(imageItem_);
}
image_ = image;
if(image.isNull()) {
imageItem_->hide();
@ -138,9 +154,11 @@ void ImageView::setImage(QImage image) {
scene_->setSceneRect(0, 0, 0, 0);
}
else {
if(show) {
imageItem_->setRect(0, 0, image_.width(), image_.height());
imageItem_->setBrush(image_);
imageItem_->show();
}
scene_->setSceneRect(0, 0, image_.width(), image_.height());
}
@ -149,6 +167,43 @@ void ImageView::setImage(QImage image) {
queueGenerateCache();
}
void ImageView::setGifAnimation(QString fileName) {
QImage image(fileName);
if(image.isNull()) {
image_ = QImage();
imageItem_->hide();
imageItem_->setBrush(QBrush());
scene_->setSceneRect(0, 0, 0, 0);
}
else {
scene_->clear();
imageItem_ = NULL; // it's deleted by clear();
if(gifMovie_) {
delete gifMovie_;
gifMovie_ = NULL;
}
QPixmap pix(image.size());
pix.fill(Qt::transparent);
QGraphicsItem *gifItem = new QGraphicsPixmapItem(pix);
QLabel *gifLabel = new QLabel();
gifMovie_ = new QMovie(fileName);
QGraphicsProxyWidget* gifWidget = new QGraphicsProxyWidget(gifItem);
gifLabel->setAttribute(Qt::WA_NoSystemBackground);
gifLabel->setMovie(gifMovie_);
gifWidget->setWidget(gifLabel);
gifMovie_->start();
/* the first frame won't be shown but will be
used for tracking position and dimensions */
image_ = gifMovie_->currentImage();
scene_->addItem(gifItem);
scene_->setSceneRect(gifItem->boundingRect());
}
if(autoZoomFit_)
zoomFit();
queueGenerateCache(); // deletes the cache timer in this case
}
void ImageView::setScaleFactor(double factor) {
if(factor != scaleFactor_) {
scaleFactor_ = factor;
@ -189,7 +244,8 @@ void ImageView::queueGenerateCache() {
cachedPixmap_ = QPixmap();
// we don't need to cache the scaled image if its the same as the original image (scale:1.0)
if(scaleFactor_ == 1.0) {
// no cache for gif animations either
if(scaleFactor_ == 1.0 || gifMovie_) {
if(cacheTimer_) {
cacheTimer_->stop();
delete cacheTimer_;
@ -198,11 +254,12 @@ void ImageView::queueGenerateCache() {
return;
}
if(!cacheTimer_) {
if(!cacheTimer_ && !gifMovie_) {
cacheTimer_ = new QTimer();
cacheTimer_->setSingleShot(true);
connect(cacheTimer_, SIGNAL(timeout()), SLOT(generateCache()));
}
if(cacheTimer_)
cacheTimer_->start(200); // restart the timer
}

@ -26,6 +26,7 @@
#include <QGraphicsRectItem>
#include <QImage>
#include <QPixmap>
#include <QMovie>
#include <QRect>
class QTimer;
@ -39,7 +40,8 @@ public:
ImageView(QWidget* parent = 0);
virtual ~ImageView();
void setImage(QImage image);
void setImage(QImage image, bool show = true);
void setGifAnimation(QString fileName);
QImage image() {
return image_;
@ -83,6 +85,7 @@ private:
QGraphicsScene* scene_; // the topmost container of all graphic items
QGraphicsRectItem* imageItem_; // the rect item used to draw the image
QImage image_; // image to show
QMovie *gifMovie_; // gif animation to show (should be deleted explicitly)
QPixmap cachedPixmap_; // caching of current viewport content (high quality scaled image)
QRect cachedRect_; // rectangle containing the cached region (in viewport coordinate)
QRect cachedSceneRect_; // rectangle containing the cached region (in scene/original image coordinate)

@ -35,6 +35,7 @@
#include <QShortcut>
#include <QDockWidget>
#include <QScrollBar>
#include <QDesktopWidget>
#include "application.h"
#include <libfm-qt/path.h>
#include <libfm-qt/folderview.h>
@ -437,6 +438,10 @@ void MainWindow::onImageLoaded(LoadImageJob* job) {
// if there are errors
// TODO: show a info bar?
}
/* we resized and moved the window without showing
it in updateUI(), so we need to show it here */
show();
}
void MainWindow::onImageSaved(SaveImageJob* job) {
@ -522,28 +527,56 @@ void MainWindow::updateUI() {
if(currentFile_) {
char* dispName = fm_path_display_basename(currentFile_);
if(loadJob_) { // if loading is in progress
title = tr("%1 (Loading...) - Image Viewer")
title = tr("[*]%1 (Loading...) - Image Viewer")
.arg(QString::fromUtf8(dispName));
}
else {
if(image_.isNull()) {
title = tr("%1 (Failed to Load) - Image Viewer")
title = tr("[*]%1 (Failed to Load) - Image Viewer")
.arg(QString::fromUtf8(dispName));
}
else {
title = tr("%1 (%2x%3) - Image Viewer")
title = tr("[*]%1 (%2x%3) - Image Viewer")
.arg(QString::fromUtf8(dispName))
.arg(image_.width())
.arg(image_.height());
/* Here we try to implement the following behavior as far as possible:
(1) A minimum size of 400x400 is assumed;
(2) The window is scaled to fit the image;
(3) But for too big images, the window is scaled down;
(4) The window is centered on the screen. */
if (!isVisible()) {
/* To have a correct position, we should move the window BEFORE
it's shown but we also need to know the dimensions of its view.
Therefore, we use show() without really showing the window. */
setAttribute(Qt::WA_DontShowOnScreen);
show();
int scrollThickness = style()->pixelMetric(QStyle::PM_ScrollBarExtent);
QSize newSize = size() + image_.size() - ui.view->size() + QSize(scrollThickness, scrollThickness);
QRect ag = QApplication::desktop()->availableGeometry();
// since the window isn't decorated yet, we have to assume a max thickness for its frame
QSize maxFrame = QSize(50, 100);
if (newSize.width() > ag.width() - maxFrame.width() || newSize.height() > ag.height() - maxFrame.height())
newSize.scale (ag.width() - maxFrame.width(), ag.height() - maxFrame.height(), Qt::KeepAspectRatio);
// a minimum size of 400x400 is good
if (newSize.width() < 400) newSize.rwidth() = 400;
if (newSize.height() < 400 ) newSize.rheight() = 400;
move (ag.x() + (ag.width() - newSize.width())/2,
ag.y() + (ag.height() - newSize.height())/2);
resize(newSize);
hide(); // hide it to show it again later, at onImageLoaded()
setAttribute(Qt::WA_DontShowOnScreen, false);
}
}
}
g_free(dispName);
// TODO: update status bar, show current index in the folder
}
else {
title = tr("Image Viewer");
title = tr("[*]Image Viewer");
}
setWindowTitle(title);
setWindowModified(imageModified_);
}
// Load the specified image file asynchronously in a worker thread.
@ -567,12 +600,29 @@ void MainWindow::loadImage(FmPath* filePath, QModelIndex index) {
// clear current image, but do not update the view now to prevent flickers
image_ = QImage();
const char* basename = fm_path_get_basename(currentFile_);
char* mimeType = g_content_type_guess(basename, NULL, 0, NULL);
if(mimeType && strcmp(mimeType, "image/gif") == 0) {
g_free(mimeType);
char *file_Name = fm_path_to_str(currentFile_);
QString fileName(file_Name);
g_free(file_Name);
ui.view->setAutoZoomFit(true); // like in onImageLoaded()
ui.view->setGifAnimation(fileName);
image_ = ui.view->image();
updateUI();
show();
}
else {
if(mimeType)
g_free(mimeType);
// start a new gio job to load the specified image
loadJob_ = new LoadImageJob(this, filePath);
loadJob_->start();
updateUI();
}
}
void MainWindow::saveImage(FmPath* filePath) {
if(saveJob_) // do not launch a new job if the current one is still in progress
@ -583,24 +633,56 @@ void MainWindow::saveImage(FmPath* filePath) {
// FIXME: add a cancel button to the UI? update status bar?
}
QGraphicsItem* MainWindow::getGifItem() {
if(!ui.view->items().isEmpty()) {
QGraphicsItem *gifItem = ui.view->items().at(0);
if(gifItem->isWidget()) // we have gif animation
return gifItem;
}
return NULL;
}
void MainWindow::on_actionRotateClockwise_triggered() {
QGraphicsItem *gifItem = getGifItem();
if(!image_.isNull()) {
QTransform transform;
transform.rotate(90.0);
image_ = image_.transformed(transform, Qt::SmoothTransformation);
ui.view->setImage(image_);
/* when this is a gif animation, we need to rotate the first frame
without showing it to have the right measure for auto-zooming */
ui.view->setImage(image_, gifItem ? false : true);
setModified(true);
}
if(gifItem) {
QTransform transform;
transform.translate(gifItem->sceneBoundingRect().height(), 0);
transform.rotate(90);
// we need to apply transformations in the reverse order
QTransform prevTrans = gifItem->transform();
gifItem->setTransform(transform, false);
gifItem->setTransform(prevTrans, true);
}
}
void MainWindow::on_actionRotateCounterclockwise_triggered() {
QGraphicsItem *gifItem = getGifItem();
if(!image_.isNull()) {
QTransform transform;
transform.rotate(-90.0);
image_ = image_.transformed(transform, Qt::SmoothTransformation);
ui.view->setImage(image_);
ui.view->setImage(image_, gifItem ? false : true);
setModified(true);
}
if(gifItem) {
QTransform transform;
transform.translate(0, gifItem->sceneBoundingRect().width());
transform.rotate(-90);
QTransform prevTrans = gifItem->transform();
gifItem->setTransform(transform, false);
gifItem->setTransform(prevTrans, true);
}
}
void MainWindow::on_actionCopy_triggered() {
@ -626,26 +708,44 @@ void MainWindow::on_actionPaste_triggered() {
}
void MainWindow::on_actionFlipVertical_triggered() {
if(!image_.isNull()) {
if(QGraphicsItem *gifItem = getGifItem()) {
QTransform transform;
transform.scale(1, -1);
transform.translate(0, -gifItem->sceneBoundingRect().height());
QTransform prevTrans = gifItem->transform();
gifItem->setTransform(transform, false);
gifItem->setTransform(prevTrans, true);
setModified(true);
/* we don't need to flip the first frame because its position
and dimensions are the same as before while it isn't shown */
}
else if(!image_.isNull()) {
image_ = image_.mirrored(false, true);
ui.view->setImage(image_);
setModified(true);
}
setModified(true);
}
void MainWindow::on_actionFlipHorizontal_triggered() {
if(!image_.isNull()) {
if(QGraphicsItem *gifItem = getGifItem()) {
QTransform transform;
transform.scale(-1, 1);
transform.translate(-gifItem->sceneBoundingRect().width(), 0);
QTransform prevTrans = gifItem->transform();
gifItem->setTransform(transform, false);
gifItem->setTransform(prevTrans, true);
setModified(true);
}
else if(!image_.isNull()) {
image_ = image_.mirrored(true, false);
ui.view->setImage(image_);
setModified(true);
}
setModified(true);
}
void MainWindow::setModified(bool modified) {
imageModified_ = modified;
updateUI(); // TODO: update title bar to reflect the state change
updateUI();
}
void MainWindow::applySettings() {
@ -731,6 +831,13 @@ void MainWindow::setShowThumbnails(bool show) {
thumbnailsView_->setFixedHeight(listView->gridSize().height() + scrollHeight);
thumbnailsView_->setModel(proxyModel_);
proxyModel_->setShowThumbnails(true);
if (currentFile_) { // select the loaded image
currentIndex_ = indexFromPath(currentFile_);
listView->setCurrentIndex(currentIndex_);
// wait to center the selection
QCoreApplication::processEvents();
listView->scrollTo(currentIndex_, QAbstractItemView::PositionAtCenter);
}
connect(thumbnailsView_->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), SLOT(onThumbnailSelChanged(QItemSelection,QItemSelection)));
}
}

@ -126,6 +126,7 @@ private:
void updateUI();
void setModified(bool modified);
QModelIndex indexFromPath(FmPath* filePath);
QGraphicsItem* getGifItem();
// GObject related signal handers and callbacks
static void _onFolderLoaded(FmFolder* folder, MainWindow* _this) {

@ -150,7 +150,6 @@ void ScreenshotDialog::doScreenshot() {
if(cursor) {
if(cursor->pixels) { // pixles should be an ARGB array
QImage cursorImage;
quint32* buf = NULL;
if(sizeof(long) == 4) {
// FIXME: will we encounter byte-order problems here?
cursorImage = QImage((uchar*)cursor->pixels, cursor->width, cursor->height, QImage::Format_ARGB32);
@ -160,13 +159,11 @@ void ScreenshotDialog::doScreenshot() {
quint32* buf = new quint32[len];
for(long i = 0; i < len; ++i)
buf[i] = (quint32)cursor->pixels[i];
cursorImage = QImage((uchar*)buf, cursor->width, cursor->height, QImage::Format_ARGB32);
cursorImage = QImage((uchar*)buf, cursor->width, cursor->height, QImage::Format_ARGB32, [](void* b) { delete[] (quint32*)b; }, buf);
}
// paint the cursor on the current image
QPainter painter(&image);
painter.drawImage(cursor->x - cursor->xhot, cursor->y - cursor->yhot, cursorImage);
if(buf)
delete []buf;
}
XFree(cursor);
}

@ -0,0 +1,6 @@
[Desktop Entry]
Name[pl]=Zrzut ekranu
GenericName[pl]=Zrzut ekranu
Comment[pl]=Wykonaj zrzut ekranu
#TRANSLATIONS_DIR=translations

@ -0,0 +1,4 @@
#Translations
Name[ru]=Снимок экрана
GenericName[ru]=Снимок экрана
Comment[ru]=Сделать снимок экрана

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="it" sourcelanguage="it">
<TS version="2.0" language="it" sourcelanguage="it">
<context>
<name>LxImage::Application</name>
<message>
@ -19,7 +19,7 @@
<message>
<location filename="../mainwindow.cpp" line="147"/>
<source>About</source>
<translation>A proposito</translation>
<translation>Informazioni</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="148"/>
@ -31,12 +31,12 @@ LXDE Project: http://lxde.org/
Authors:
Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</source>
<translatorcomment>need update...</translatorcomment>
<translation type="unfinished">LXImage - un visualizzatore immagini semplice e veloce
<translation>LXImage - un visualizzatore immagini semplice e veloce
Copyright (C) 2013
LXDE Project: http://lxde.org/
Autor:
Autori:
Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
</message>
<message>
@ -58,17 +58,17 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../mainwindow.cpp" line="525"/>
<source>%1 (Loading...) - Image Viewer</source>
<translation>%1 (Caricando...) - Visualizzatore immagini</translation>
<translation>%1 (Caricamento in corso...) - Visualizzatore immagini</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="530"/>
<source>%1 (Failed to Load) - Image Viewer</source>
<translation>%1 (Errore in caricamento) - Visualizzatore immagini</translation>
<translation>%1 (Caricamento non riuscito) - Visualizzatore immagini</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="534"/>
<source>%1 (%2x%3) - Image Viewer</source>
<translation>%1 (%2x%3) - Visualizzatore Immagini</translation>
<translation>%1 (%2x%3) - Visualizzatore immagini</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="544"/>
@ -91,12 +91,12 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
<source>&amp;About</source>
<translation>A &amp;proposito</translation>
<translation>Inform&amp;azioni</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
<source>&amp;Open File</source>
<translation>&amp;Apri</translation>
<translation>&amp;Apri file</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
@ -112,7 +112,7 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
<source>Ctrl+S</source>
<translation></translation>
<translation>Ctrl+S</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
@ -122,7 +122,7 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
<source>Ctrl+A</source>
<translation></translation>
<translation>Ctrl+A</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
@ -132,7 +132,7 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
<source>Ctrl+W</source>
<translation></translation>
<translation>Ctrl+W</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
@ -142,7 +142,7 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
<source>Ctrl++</source>
<translation></translation>
<translation>Ctrl++</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
@ -152,7 +152,7 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
<source>Ctrl+-</source>
<translation></translation>
<translation>Ctrl+-</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
@ -163,13 +163,13 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
<source>Next File</source>
<translation>Prossimo</translation>
<translation>File successivo</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
<source>Previous File</source>
<translation>Precedente</translation>
<translation>File precedente</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
@ -179,57 +179,57 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
<source>PgUp</source>
<translation>Pagina sù</translation>
<translation>Pagina su</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
<source>Original Size</source>
<translation type="unfinished">&amp;Dimensioni originiali</translation>
<translation>Dimensioni originali</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
<source>&amp;Fit</source>
<translation>&amp;Adatta alla finestra</translation>
<translation>&amp;Adatta</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
<source>&amp;Rotate Clockwise</source>
<translation>Gira a &amp;destra</translation>
<translation>&amp;Ruota in senso orario</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
<source>Rotate &amp;Counterclockwise</source>
<translation>Gira a &amp;sinistra</translation>
<translation>Ruota in &amp;senso antiorario</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
<source>P&amp;references</source>
<translation>&amp;Preferenze</translation>
<translation>P&amp;referenze</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
<source>&amp;Print</source>
<translation>&amp;Stampa</translation>
<translation>Stam&amp;pa</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
<source>Ctrl+P</source>
<translation></translation>
<translation>Ctrl+P</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
<source>First File</source>
<translation>Primo</translation>
<translation>Primo file</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
<source>Home</source>
<translation></translation>
<translation>Home</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
<source>Last File</source>
<translation>Ultimo</translation>
<translation>Ultimo file</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
@ -244,12 +244,12 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
<source>Ctrl+N</source>
<translation></translation>
<translation>Ctrl+N</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
<source>Flip &amp;Horizontally</source>
<translation>Rispecchia &amp;horizzontalmente</translation>
<translation>Rispecchia &amp;orizzontalmente</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
@ -264,7 +264,7 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
<source>F11</source>
<translation></translation>
<translation>F11</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
@ -274,7 +274,7 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
<source>&amp;Paste from Clipboard</source>
<translation>&amp;Incolla da appunti</translation>
<translation>&amp;Incolla dagli appunti</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
@ -284,23 +284,23 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
<source>&amp;Delete</source>
<translation>&amp;Cestina</translation>
<translation>&amp;Elimina</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
<source>Del</source>
<translation></translation>
<translation>Canc</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
<source>Show Thumbnails</source>
<translation type="unfinished">&amp;Mostra barra miniature</translation>
<translation>Mostra miniature</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
<source>File Properties</source>
<translatorcomment>Übersetzung von &apos;file&apos; weggelassen, da redundant.</translatorcomment>
<translation>Proprietà</translation>
<translation>Proprietà del file</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="461"/>

@ -0,0 +1,5 @@
[Desktop Entry]
GenericName[pl]=Przeglądarka obrazów
Comment[pl]=Przeglądarka obrazów LXQt
#TRANSLATIONS_DIR=translations

@ -77,7 +77,7 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../mainwindow.cpp" line="719"/>
<source>Thumbnails</source>
<translation type="unfinished"></translation>
<translation>Miniaturki</translation>
</message>
</context>
<context>
@ -145,7 +145,7 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
<source>Zoom &amp;Out</source>
<translation type="unfinished">Po&amp;mniejsz</translation>
<translation>Po&amp;mniejsz</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
@ -300,12 +300,12 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
<source>Show Thumbnails</source>
<translation type="unfinished"></translation>
<translation>Pokaż miniaturki</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
<source>File Properties</source>
<translation type="unfinished"></translation>
<translation>Właściwości pliku</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
@ -335,7 +335,7 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
<source>Toolbar</source>
<translation type="unfinished"></translation>
<translation>Pasek narzędziowy</translation>
</message>
<message>
<source>toolBar</source>
@ -352,27 +352,27 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
<message>
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
<source>Icon theme:</source>
<translation type="unfinished"></translation>
<translation>Zestaw ikon:</translation>
</message>
<message>
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
<source>Normal background color:</source>
<translation type="unfinished"></translation>
<translation>Kolor tła:</translation>
</message>
<message>
<location filename="../../build/src/ui_preferencesdialog.h" line="129"/>
<source>Fullscreen background color:</source>
<translation type="unfinished"></translation>
<translation>Kolor tła dla pełnego ekranu:</translation>
</message>
<message>
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
<source>Slide show interval (seconds):</source>
<translation type="unfinished"></translation>
<translation>Interwał pokazu slajdów (sekundy):</translation>
</message>
<message>
<location filename="../../build/src/ui_preferencesdialog.h" line="133"/>
<source>General</source>
<translation type="unfinished"></translation>
<translation>Ogólne</translation>
</message>
<message>
<source>TODO: Add configuration options here</source>

@ -0,0 +1,4 @@
#Translations
Name[ru]=LXImage
GenericName[ru]=Просмотрщик изображений
Comment[ru]=Просмотрщик изображений LXQt

@ -6,12 +6,12 @@
<message>
<location filename="../application.cpp" line="87"/>
<source>Take a screenshot</source>
<translation type="unfinished"></translation>
<translation>Сделать снимок экрана</translation>
</message>
<message>
<location filename="../application.cpp" line="91"/>
<source>[FILE1, FILE2,...]</source>
<translation type="unfinished"></translation>
<translation>[ФАЙЛ1, ФАЙЛ2, ...]</translation>
</message>
</context>
<context>
@ -19,7 +19,7 @@
<message>
<location filename="../mainwindow.cpp" line="147"/>
<source>About</source>
<translation type="unfinished"></translation>
<translation>О программе</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="148"/>
@ -30,48 +30,54 @@ LXDE Project: http://lxde.org/
Authors:
Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</source>
<translation type="unfinished"></translation>
<translation>LXImage - простой и быстрый просмотрщик изображений
Copyright (C) 2013
LXDE Project: http://lxde.org/
Authors:
Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="241"/>
<source>Open File</source>
<translation type="unfinished"></translation>
<translation>Открыть файл</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="242"/>
<location filename="../mainwindow.cpp" line="263"/>
<source>Image files (%1)</source>
<translation type="unfinished"></translation>
<translation>Файлы изображений (%1)</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="263"/>
<source>Save File</source>
<translation type="unfinished"></translation>
<translation>Сохранить файл</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="525"/>
<source>%1 (Loading...) - Image Viewer</source>
<translation type="unfinished"></translation>
<translation>%1 (Загружается...) - Просмотрщик изображений</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="530"/>
<source>%1 (Failed to Load) - Image Viewer</source>
<translation type="unfinished"></translation>
<translation>%1 (Ошибка загрузки) - Просмотрщик изображений</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="534"/>
<source>%1 (%2x%3) - Image Viewer</source>
<translation type="unfinished"></translation>
<translation>%1 (%2x%3) - Просмотрщик изображений</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="544"/>
<source>Image Viewer</source>
<translation type="unfinished"></translation>
<translation>Просмотрщик изображений</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="719"/>
<source>Thumbnails</source>
<translation type="unfinished"></translation>
<translation>Эскизы</translation>
</message>
</context>
<context>
@ -79,249 +85,249 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</source>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
<source>Image Viewer</source>
<translation type="unfinished"></translation>
<translation>Просмотрщик изображений</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
<translation>О &amp;программе</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
<source>&amp;Open File</source>
<translation type="unfinished"></translation>
<translation>&amp;Открыть файл</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
<source>Ctrl+O</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
<source>&amp;Save</source>
<translation type="unfinished"></translation>
<translation>&amp;Сохранить</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
<source>Ctrl+S</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
<source>Save &amp;As</source>
<translation type="unfinished"></translation>
<translation>Сохранить &amp;как</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
<translation>&amp;Закрыть</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
<source>Zoom &amp;In</source>
<translation type="unfinished"></translation>
<translation>При&amp;близить</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
<source>Ctrl++</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
<source>Zoom &amp;Out</source>
<translation type="unfinished"></translation>
<translation>От&amp;далить</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
<source>Ctrl+-</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
<source>&amp;Copy to Clipboard</source>
<translation type="unfinished"></translation>
<translation>Скопировать в &amp;буфер обмена</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
<source>Next File</source>
<translation type="unfinished"></translation>
<translation>Следующий файл</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
<source>Previous File</source>
<translation type="unfinished"></translation>
<translation>Предыдущий файл</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
<source>PgDown</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
<source>PgUp</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
<source>Original Size</source>
<translation type="unfinished"></translation>
<translation>Исходный размер</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
<source>&amp;Fit</source>
<translation type="unfinished"></translation>
<translation>&amp;Заполнить</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
<source>&amp;Rotate Clockwise</source>
<translation type="unfinished"></translation>
<translation>Пове&amp;рнуть по часовой стрелке</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
<source>Rotate &amp;Counterclockwise</source>
<translation type="unfinished"></translation>
<translation>Повернуть &amp;против часовой стрелки</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
<source>P&amp;references</source>
<translation type="unfinished"></translation>
<translation>&amp;Настройки</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
<source>&amp;Print</source>
<translation type="unfinished"></translation>
<translation>&amp;Печать</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
<source>Ctrl+P</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
<source>First File</source>
<translation type="unfinished"></translation>
<translation>Первый файл</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
<source>Home</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
<source>Last File</source>
<translation type="unfinished"></translation>
<translation>Последний файл</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
<source>End</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
<source>&amp;New Window</source>
<translation type="unfinished"></translation>
<translation>Новое &amp;окно</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
<source>Ctrl+N</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
<source>Flip &amp;Horizontally</source>
<translation type="unfinished"></translation>
<translation>Отразить &amp;горизонтально</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
<source>Capture Screenshot</source>
<translation type="unfinished"></translation>
<translation>Сделать снимок экрана</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
<source>F&amp;ull Screen</source>
<translation type="unfinished"></translation>
<translation>Полный &amp;экран</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
<source>F11</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
<source>Flip &amp;Vertically</source>
<translation type="unfinished"></translation>
<translation>Отразить &amp;вертикально</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
<source>&amp;Paste from Clipboard</source>
<translation type="unfinished"></translation>
<translation>&amp;Вставить из буфера обмена</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
<source>&amp;Slide Show</source>
<translation type="unfinished"></translation>
<translation>&amp;Слайд-шоу</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
<source>&amp;Delete</source>
<translation type="unfinished"></translation>
<translation>&amp;Удалить</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
<source>Del</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
<source>Show Thumbnails</source>
<translation type="unfinished"></translation>
<translation>Показать эскизы</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
<source>File Properties</source>
<translation type="unfinished"></translation>
<translation>Свойства файла</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
<translation>&amp;Файл</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
<source>&amp;Help</source>
<translation type="unfinished"></translation>
<translation>&amp;Помощь</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
<source>Go</source>
<translation type="unfinished"></translation>
<translation>Перейти</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
<source>&amp;View</source>
<translation type="unfinished"></translation>
<translation>&amp;Вид</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
<source>&amp;Edit</source>
<translation type="unfinished"></translation>
<translation>&amp;Редактировать</translation>
</message>
<message>
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
<source>Toolbar</source>
<translation type="unfinished"></translation>
<translation>Панель инструментов</translation>
</message>
</context>
<context>
@ -329,32 +335,32 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</source>
<message>
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
<source>Preferences</source>
<translation type="unfinished"></translation>
<translation>Настройки</translation>
</message>
<message>
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
<source>Icon theme:</source>
<translation type="unfinished"></translation>
<translation>Тема значков:</translation>
</message>
<message>
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
<source>Normal background color:</source>
<translation type="unfinished"></translation>
<translation>Обычный цвет фона:</translation>
</message>
<message>
<location filename="../../build/src/ui_preferencesdialog.h" line="129"/>
<source>Fullscreen background color:</source>
<translation type="unfinished"></translation>
<translation>Цвет фона для режима полного экрана:</translation>
</message>
<message>
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
<source>Slide show interval (seconds):</source>
<translation type="unfinished"></translation>
<translation>Интервал слайд-шоу (в секундах):</translation>
</message>
<message>
<location filename="../../build/src/ui_preferencesdialog.h" line="133"/>
<source>General</source>
<translation type="unfinished"></translation>
<translation>Общие</translation>
</message>
</context>
<context>
@ -362,47 +368,47 @@ Hong Jen Yee (PCMan) &lt;pcman.tw@gmail.com&gt;</source>
<message>
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
<source>Screenshot</source>
<translation type="unfinished"></translation>
<translation>Снимок экрана</translation>
</message>
<message>
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
<source>Take a screenshot</source>
<translation type="unfinished"></translation>
<translation>Сделать снимок экрана</translation>
</message>
<message>
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
<source>Region</source>
<translation type="unfinished"></translation>
<translation>Область</translation>
</message>
<message>
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
<source>Whole screen</source>
<translation type="unfinished"></translation>
<translation>Весь экран</translation>
</message>
<message>
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
<source>Current window only</source>
<translation type="unfinished"></translation>
<translation>Только активное окно</translation>
</message>
<message>
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
<source>Include mouse cursor</source>
<translation type="unfinished"></translation>
<translation>Показывать курсор мыши</translation>
</message>
<message>
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
<source> seconds</source>
<translation type="unfinished"></translation>
<translation> секунд(ы)</translation>
</message>
<message>
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
<source>Delay:</source>
<translation type="unfinished"></translation>
<translation>Задержка:</translation>
</message>
<message>
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
<source>Include window title and frame</source>
<translation type="unfinished"></translation>
<translation>Показывать заголовок и обрамление окна</translation>
</message>
</context>
</TS>

Loading…
Cancel
Save