added ability to change Snapmatic Location

This commit is contained in:
Syping 2017-11-12 15:58:59 +01:00
parent f62b1b08c0
commit a591adf6ea
33 changed files with 1586 additions and 730 deletions

View File

@ -32,14 +32,14 @@ before_script:
script: script:
- cd qt5 - cd qt5
- qmake -qt=5 GTA5SYNC_PREFIX=/usr QMAKE_CXXFLAGS+=-std=c++11 DEFINES+=GTA5SYNC_BUILDTYPE_DEV "DEFINES+=GTA5SYNC_APPVER=\\\\\\\"$PACKAGE_VERSION-dev2\\\\\\\"" DEFINES+=GTA5SYNC_QCONF ../../gta5view.pro - qmake -qt=5 GTA5SYNC_PREFIX=/usr QMAKE_CXXFLAGS+=-std=c++11 DEFINES+=GTA5SYNC_BUILDTYPE_DEV "DEFINES+=GTA5SYNC_APPVER=\\\\\\\"$PACKAGE_VERSION-dev3\\\\\\\"" DEFINES+=GTA5SYNC_QCONF ../../gta5view.pro
- make -j 4 - make -j 4
- sudo checkinstall -D --default --nodoc --install=no --pkgname=gta5view-qt5 --pkgversion=$PACKAGE_VERSION --pkgrelease=dev2 --pkggroup=utility --maintainer="Syping on Travis \<travisci@syping.de\>" --requires=libqt5core5a,libqt5gui5,libqt5network5,libqt5widgets5,qttranslations5-l10n --conflicts=gta5view,gta5view-qt4 --replaces=gta5view,gta5view-qt4 --pakdir=../../package - sudo checkinstall -D --default --nodoc --install=no --pkgname=gta5view-qt5 --pkgversion=$PACKAGE_VERSION --pkgrelease=dev3 --pkggroup=utility --maintainer="Syping on Travis \<travisci@syping.de\>" --requires=libqt5core5a,libqt5gui5,libqt5network5,libqt5widgets5,qttranslations5-l10n --conflicts=gta5view,gta5view-qt4 --replaces=gta5view,gta5view-qt4 --pakdir=../../package
- cd .. - cd ..
- cd qt4 - cd qt4
- qmake -qt=4 GTA5SYNC_PREFIX=/usr QMAKE_CXXFLAGS+=-std=c++11 DEFINES+=GTA5SYNC_BUILDTYPE_DEV "DEFINES+=GTA5SYNC_APPVER=\\\\\\\"$PACKAGE_VERSION-dev2\\\\\\\"" DEFINES+=GTA5SYNC_QCONF ../../gta5view.pro - qmake -qt=4 GTA5SYNC_PREFIX=/usr QMAKE_CXXFLAGS+=-std=c++11 DEFINES+=GTA5SYNC_BUILDTYPE_DEV "DEFINES+=GTA5SYNC_APPVER=\\\\\\\"$PACKAGE_VERSION-dev3\\\\\\\"" DEFINES+=GTA5SYNC_QCONF ../../gta5view.pro
- make -j 4 - make -j 4
- sudo checkinstall -D --default --nodoc --install=no --pkgname=gta5view-qt4 --pkgversion=$PACKAGE_VERSION --pkgrelease=dev2 --pkggroup=utility --maintainer="Syping on Travis \<travisci@syping.de\>" --requires=libqtcore4,libqtgui4,libqt4-network,qtcore4-l10n --conflicts=gta5view,gta5view-qt5 --replaces=gta5view,gta5view-qt5 --pakdir=../../package - sudo checkinstall -D --default --nodoc --install=no --pkgname=gta5view-qt4 --pkgversion=$PACKAGE_VERSION --pkgrelease=dev3 --pkggroup=utility --maintainer="Syping on Travis \<travisci@syping.de\>" --requires=libqtcore4,libqtgui4,libqt4-network,qtcore4-l10n --conflicts=gta5view,gta5view-qt5 --replaces=gta5view,gta5view-qt5 --pakdir=../../package
- cd .. - cd ..
deploy: deploy:

View File

@ -32,9 +32,11 @@
#include <QUrl> #include <QUrl>
#define crewMaxPages 83 #define crewMaxPages 83
#define maxLoadFails 3
DatabaseThread::DatabaseThread(CrewDatabase *crewDB, QObject *parent) : QThread(parent), crewDB(crewDB) DatabaseThread::DatabaseThread(CrewDatabase *crewDB, QObject *parent) : QThread(parent), crewDB(crewDB)
{ {
continueLastCrew = true;
threadRunning = true; threadRunning = true;
} }
@ -46,7 +48,7 @@ void DatabaseThread::run()
QStringList crewListR; QStringList crewListR;
// Register thread loop end signal // Register thread loop end signal
QObject::connect(this, SIGNAL(threadEndCommited()), &threadLoop, SLOT(quit())); QObject::connect(this, SIGNAL(threadTerminated()), &threadLoop, SLOT(quit()));
// Setup crewList for Quick time scan // Setup crewList for Quick time scan
crewList = crewDB->getCrews(); crewList = crewDB->getCrews();
@ -130,7 +132,6 @@ void DatabaseThread::scanCrewReference(const QStringList &crewList, const int &r
if (threadRunning && crewID != QLatin1String("0")) if (threadRunning && crewID != QLatin1String("0"))
{ {
QNetworkAccessManager *netManager = new QNetworkAccessManager(); QNetworkAccessManager *netManager = new QNetworkAccessManager();
QNetworkRequest netRequest(AppEnv::getCrewFetchingUrl(crewID)); QNetworkRequest netRequest(AppEnv::getCrewFetchingUrl(crewID));
#if QT_VERSION >= 0x050600 #if QT_VERSION >= 0x050600
netRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true); netRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
@ -144,9 +145,10 @@ void DatabaseThread::scanCrewReference(const QStringList &crewList, const int &r
QEventLoop *downloadLoop = new QEventLoop(); QEventLoop *downloadLoop = new QEventLoop();
QObject::connect(netReply, SIGNAL(finished()), downloadLoop, SLOT(quit())); QObject::connect(netReply, SIGNAL(finished()), downloadLoop, SLOT(quit()));
QObject::connect(this, SIGNAL(threadEndCommited()), downloadLoop, SLOT(quit())); if (!continueLastCrew) { QObject::connect(this, SIGNAL(threadTerminated()), downloadLoop, SLOT(quit())); }
QTimer::singleShot(30000, downloadLoop, SLOT(quit())); QTimer::singleShot(30000, downloadLoop, SLOT(quit()));
downloadLoop->exec(); downloadLoop->exec();
downloadLoop->disconnect();
delete downloadLoop; delete downloadLoop;
if (netReply->isFinished()) if (netReply->isFinished())
@ -168,11 +170,15 @@ void DatabaseThread::scanCrewReference(const QStringList &crewList, const int &r
} }
} }
QEventLoop *waitingLoop = new QEventLoop(); if (threadRunning)
QTimer::singleShot(requestDelay, waitingLoop, SLOT(quit())); {
QObject::connect(this, SIGNAL(threadEndCommited()), waitingLoop, SLOT(quit())); QEventLoop *waitingLoop = new QEventLoop();
waitingLoop->exec(); QTimer::singleShot(requestDelay, waitingLoop, SLOT(quit()));
delete waitingLoop; if (!continueLastCrew) { QObject::connect(this, SIGNAL(threadTerminated()), waitingLoop, SLOT(quit())); }
waitingLoop->exec();
waitingLoop->disconnect();
delete waitingLoop;
}
delete netReply; delete netReply;
delete netManager; delete netManager;
@ -186,14 +192,14 @@ void DatabaseThread::scanCrewMembersList(const QStringList &crewList, const int
{ {
if (threadRunning && crewID != QLatin1String("0")) if (threadRunning && crewID != QLatin1String("0"))
{ {
int currentFail = 0;
int currentPage = 0; int currentPage = 0;
int foundPlayers = 0; int foundPlayers = 0;
int totalPlayers = 1000; int totalPlayers = 1000;
while(foundPlayers < totalPlayers && currentPage < maxPages) while(foundPlayers < totalPlayers && currentPage < maxPages && (continueLastCrew ? true : threadRunning))
{ {
QNetworkAccessManager *netManager = new QNetworkAccessManager(); QNetworkAccessManager *netManager = new QNetworkAccessManager();
QNetworkRequest netRequest(AppEnv::getPlayerFetchingUrl(crewID, currentPage)); QNetworkRequest netRequest(AppEnv::getPlayerFetchingUrl(crewID, currentPage));
#if QT_VERSION >= 0x050600 #if QT_VERSION >= 0x050600
netRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true); netRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
@ -207,9 +213,10 @@ void DatabaseThread::scanCrewMembersList(const QStringList &crewList, const int
QEventLoop *downloadLoop = new QEventLoop(); QEventLoop *downloadLoop = new QEventLoop();
QObject::connect(netReply, SIGNAL(finished()), downloadLoop, SLOT(quit())); QObject::connect(netReply, SIGNAL(finished()), downloadLoop, SLOT(quit()));
QObject::connect(this, SIGNAL(threadEndCommited()), downloadLoop, SLOT(quit())); if (!continueLastCrew) { QObject::connect(this, SIGNAL(threadTerminated()), downloadLoop, SLOT(quit())); }
QTimer::singleShot(30000, downloadLoop, SLOT(quit())); QTimer::singleShot(30000, downloadLoop, SLOT(quit()));
downloadLoop->exec(); downloadLoop->exec();
downloadLoop->disconnect();
delete downloadLoop; delete downloadLoop;
if (netReply->isFinished()) if (netReply->isFinished())
@ -227,30 +234,43 @@ void DatabaseThread::scanCrewMembersList(const QStringList &crewList, const int
for (QVariant memberVariant : memberList) for (QVariant memberVariant : memberList)
{ {
QMap<QString, QVariant> memberMap = memberVariant.toMap(); QMap<QString, QVariant> memberMap = memberVariant.toMap();
foundPlayers++;
if (memberMap.contains("RockstarId") && memberMap.contains("Name")) if (memberMap.contains("RockstarId") && memberMap.contains("Name"))
{ {
int RockstarId = memberMap["RockstarId"].toInt(); int RockstarId = memberMap["RockstarId"].toInt();
QString memberName = memberMap["Name"].toString(); QString memberName = memberMap["Name"].toString();
if (!memberName.isEmpty() && RockstarId != 0) if (!memberName.isEmpty() && RockstarId != 0)
{ {
foundPlayers++;
emit playerNameFound(RockstarId, memberName); emit playerNameFound(RockstarId, memberName);
} }
} }
} }
} }
QEventLoop *waitingLoop = new QEventLoop();
QTimer::singleShot(requestDelay, waitingLoop, SLOT(quit()));
QObject::connect(this, SIGNAL(threadEndCommited()), waitingLoop, SLOT(quit()));
waitingLoop->exec();
delete waitingLoop;
currentPage++; currentPage++;
} }
else
{
currentFail++;
if (currentFail == maxLoadFails)
{
currentFail = 0;
currentPage++;
}
}
delete netReply; delete netReply;
delete netManager; delete netManager;
if (foundPlayers < totalPlayers && currentPage < maxPages && (continueLastCrew ? true : threadRunning))
{
QEventLoop *waitingLoop = new QEventLoop();
QTimer::singleShot(requestDelay, waitingLoop, SLOT(quit()));
if (!continueLastCrew) { QObject::connect(this, SIGNAL(threadTerminated()), waitingLoop, SLOT(quit())); }
waitingLoop->exec();
waitingLoop->disconnect();
delete waitingLoop;
}
} }
} }
} }
@ -258,7 +278,7 @@ void DatabaseThread::scanCrewMembersList(const QStringList &crewList, const int
void DatabaseThread::deleteCompatibleCrews(QStringList *crewList) void DatabaseThread::deleteCompatibleCrews(QStringList *crewList)
{ {
for (QString& crewNID : *crewList) for (QString crewNID : *crewList)
{ {
if (crewDB->isCompatibleCrew(crewNID)) if (crewDB->isCompatibleCrew(crewNID))
{ {
@ -270,7 +290,7 @@ void DatabaseThread::deleteCompatibleCrews(QStringList *crewList)
QStringList DatabaseThread::deleteCompatibleCrews(const QStringList &crewList) QStringList DatabaseThread::deleteCompatibleCrews(const QStringList &crewList)
{ {
QStringList crewListR = crewList; QStringList crewListR = crewList;
for (QString& crewNID : crewListR) for (QString crewNID : crewListR)
{ {
if (crewDB->isCompatibleCrew(crewNID)) if (crewDB->isCompatibleCrew(crewNID))
{ {
@ -280,8 +300,8 @@ QStringList DatabaseThread::deleteCompatibleCrews(const QStringList &crewList)
return crewListR; return crewListR;
} }
void DatabaseThread::doEndThread() void DatabaseThread::terminateThread()
{ {
threadRunning = false; threadRunning = false;
emit threadEndCommited(); emit threadTerminated();
} }

View File

@ -30,7 +30,7 @@ public:
explicit DatabaseThread(CrewDatabase *crewDB, QObject *parent = 0); explicit DatabaseThread(CrewDatabase *crewDB, QObject *parent = 0);
public slots: public slots:
void doEndThread(); void terminateThread();
private: private:
CrewDatabase *crewDB; CrewDatabase *crewDB;
@ -38,6 +38,7 @@ private:
void scanCrewReference(const QStringList &crewList, const int &requestDelay); void scanCrewReference(const QStringList &crewList, const int &requestDelay);
void deleteCompatibleCrews(QStringList *crewList); void deleteCompatibleCrews(QStringList *crewList);
QStringList deleteCompatibleCrews(const QStringList &crewList); QStringList deleteCompatibleCrews(const QStringList &crewList);
bool continueLastCrew;
bool threadRunning; bool threadRunning;
int plyrPerReq; int plyrPerReq;
@ -49,7 +50,7 @@ signals:
void crewNameUpdated(); void crewNameUpdated();
void playerNameFound(int playerID, QString playerName); void playerNameFound(int playerID, QString playerName);
void playerNameUpdated(); void playerNameUpdated();
void threadEndCommited(); void threadTerminated();
}; };
#endif // DATABASETHREAD_H #endif // DATABASETHREAD_H

View File

@ -76,7 +76,7 @@ void ExportThread::run()
// End Picture Settings // End Picture Settings
int intExportProgress = 0; int intExportProgress = 0;
foreach(ProfileWidget *widget, profileMap.keys()) for (ProfileWidget *widget : profileMap.keys())
{ {
if (widget->isSelected()) if (widget->isSelected())
{ {

View File

@ -74,11 +74,5 @@ QString GlobalString::getLanguageFile()
QString GlobalString::getLanguage() QString GlobalString::getLanguage()
{ {
QString language = TCInstance->getCurrentLanguage(); return TCInstance->getCurrentAreaLanguage();
QStringList langList = QString(language).replace("-", "_").split("_");
if (langList.length() >= 1)
{
language = langList.at(0);
}
return language;
} }

View File

@ -73,6 +73,7 @@ ImportDialog::~ImportDialog()
void ImportDialog::processImage() void ImportDialog::processImage()
{ {
if (workImage.isNull()) return;
QImage snapmaticImage = workImage; QImage snapmaticImage = workImage;
QPixmap snapmaticPixmap(snapmaticResolutionW, snapmaticResolutionH); QPixmap snapmaticPixmap(snapmaticResolutionW, snapmaticResolutionH);
snapmaticPixmap.fill(selectedColour); snapmaticPixmap.fill(selectedColour);
@ -101,7 +102,7 @@ void ImportDialog::processImage()
snapmaticImage = snapmaticImage.scaled(snapmaticAvatarResolution, snapmaticAvatarResolution, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); snapmaticImage = snapmaticImage.scaled(snapmaticAvatarResolution, snapmaticAvatarResolution, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
} }
snapmaticPainter.drawImage(snapmaticAvatarPlacementW + diffWidth, snapmaticAvatarPlacementH + diffHeight, snapmaticImage); snapmaticPainter.drawImage(snapmaticAvatarPlacementW + diffWidth, snapmaticAvatarPlacementH + diffHeight, snapmaticImage);
imageTitle = "Custom Avatar"; imageTitle = tr("Custom Avatar", "Custom Avatar Description in SC, don't use Special Character!");
} }
else else
{ {
@ -127,7 +128,7 @@ void ImportDialog::processImage()
snapmaticImage = snapmaticImage.scaled(snapmaticResolutionW, snapmaticResolutionH, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); snapmaticImage = snapmaticImage.scaled(snapmaticResolutionW, snapmaticResolutionH, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
} }
snapmaticPainter.drawImage(0 + diffWidth, 0 + diffHeight, snapmaticImage); snapmaticPainter.drawImage(0 + diffWidth, 0 + diffHeight, snapmaticImage);
imageTitle = "Custom Picture"; imageTitle = tr("Custom Picture", "Custom Picture Description in SC, don't use Special Character!");
} }
snapmaticPainter.end(); snapmaticPainter.end();
newImage = snapmaticPixmap.toImage(); newImage = snapmaticPixmap.toImage();
@ -139,13 +140,38 @@ QImage ImportDialog::image()
return newImage; return newImage;
} }
void ImportDialog::setImage(const QImage &image_) void ImportDialog::setImage(QImage *image_)
{ {
workImage = image_; workImage = QImage();
if (workImage.width() == workImage.height()) if (image_->width() == image_->height())
{ {
insideAvatarZone = true; insideAvatarZone = true;
ui->cbAvatar->setChecked(true); ui->cbAvatar->setChecked(true);
if (image_->height() > snapmaticResolutionH)
{
workImage = image_->scaled(snapmaticResolutionH, snapmaticResolutionH, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
delete image_;
}
else
{
workImage = *image_;
delete image_;
}
}
else if (image_->width() > snapmaticResolutionW && image_->width() > image_->height())
{
workImage = image_->scaledToWidth(snapmaticResolutionW, Qt::SmoothTransformation);
delete image_;
}
else if (image_->height() > snapmaticResolutionH && image_->height() > image_->width())
{
workImage = image_->scaledToHeight(snapmaticResolutionH, Qt::SmoothTransformation);
delete image_;
}
else
{
workImage = *image_;
delete image_;
} }
processImage(); processImage();
} }

View File

@ -34,7 +34,7 @@ public:
~ImportDialog(); ~ImportDialog();
QImage image(); QImage image();
QString getImageTitle(); QString getImageTitle();
void setImage(const QImage &image); void setImage(QImage *image);
bool isImportAgreed(); bool isImportAgreed();
private slots: private slots:

197
MapLocationDialog.cpp Normal file
View File

@ -0,0 +1,197 @@
/*****************************************************************************
* gta5sync GRAND THEFT AUTO V SYNC
* Copyright (C) 2017 Syping
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*****************************************************************************/
#include "MapLocationDialog.h"
#include "ui_MapLocationDialog.h"
#include "IconLoader.h"
#include "AppEnv.h"
#include <QPainter>
#include <QDebug>
MapLocationDialog::MapLocationDialog(double x, double y, QWidget *parent) :
QDialog(parent), xpos_old(x), ypos_old(y),
ui(new Ui::MapLocationDialog)
{
// Set Window Flags
setWindowFlags(windowFlags()^Qt::WindowContextHelpButtonHint);
ui->setupUi(this);
ui->cmdDone->setVisible(false);
ui->cmdApply->setVisible(false);
ui->cmdRevert->setVisible(false);
ui->cmdDone->setCursor(Qt::ArrowCursor);
// DPI calculation
qreal screenRatio = AppEnv::screenRatio();
int widgetMargin = qRound(3 * screenRatio);
ui->hlMapDialog->setContentsMargins(widgetMargin, widgetMargin, widgetMargin, widgetMargin);
ui->vlMapDialog->setSpacing(widgetMargin);
setMinimumSize(500 * screenRatio, 600 * screenRatio);
setMaximumSize(500 * screenRatio, 600 * screenRatio);
setFixedSize(500 * screenRatio, 600 * screenRatio);
setMouseTracking(true);
changeMode = false;
propUpdate = false;
drawPointOnMap(xpos_old, ypos_old);
}
MapLocationDialog::~MapLocationDialog()
{
delete ui;
}
void MapLocationDialog::drawPointOnMap(double xpos_d, double ypos_d)
{
qreal screenRatio = AppEnv::screenRatio();
int pointMakerSize = 8 * screenRatio;
QPixmap pointMakerPixmap = IconLoader::loadingPointmakerIcon().pixmap(QSize(pointMakerSize, pointMakerSize));
QSize mapPixelSize = size();
int pointMakerHalfSize = pointMakerSize / 2;
long xpos_ms = qRound(xpos_d);
long ypos_ms = qRound(ypos_d);
double xpos_ma = xpos_ms + 4000;
double ypos_ma = ypos_ms + 4000;
double xrat = (double)mapPixelSize.width() / 10000;
double yrat = (double)mapPixelSize.height() / 12000;
long xpos_mp = qRound(xpos_ma * xrat);
long ypos_mp = qRound(ypos_ma * yrat);
long xpos_pr = xpos_mp - pointMakerHalfSize;
long ypos_pr = ypos_mp + pointMakerHalfSize;
QPixmap mapPixmap(mapPixelSize);
QPainter mapPainter(&mapPixmap);
mapPainter.drawPixmap(0, 0, mapPixelSize.width(), mapPixelSize.height(), QPixmap(":/img/mappreview.jpg").scaled(mapPixelSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
mapPainter.drawPixmap(xpos_pr, mapPixelSize.height() - ypos_pr, pointMakerSize, pointMakerSize, pointMakerPixmap);
mapPainter.end();
QPalette backgroundPalette;
backgroundPalette.setBrush(backgroundRole(), QBrush(mapPixmap));
setPalette(backgroundPalette);
xpos_new = xpos_d;
ypos_new = ypos_d;
ui->labPos->setText(tr("X: %1\nY: %2", "X and Y position").arg(QString::number(xpos_d), QString::number(ypos_d)));
}
void MapLocationDialog::on_cmdChange_clicked()
{
qreal screenRatio = AppEnv::screenRatio();
int pointMakerSize = 8 * screenRatio;
QPixmap pointMakerPixmap = IconLoader::loadingPointmakerIcon().pixmap(QSize(pointMakerSize, pointMakerSize));
QCursor pointMakerCursor(pointMakerPixmap);
ui->cmdDone->setVisible(true);
ui->cmdApply->setVisible(false);
ui->cmdChange->setVisible(false);
ui->cmdRevert->setVisible(false);
setCursor(pointMakerCursor);
changeMode = true;
}
void MapLocationDialog::on_cmdDone_clicked()
{
ui->cmdDone->setVisible(false);
ui->cmdChange->setVisible(true);
if (xpos_new != xpos_old || ypos_new != ypos_old)
{
ui->cmdApply->setVisible(true);
ui->cmdRevert->setVisible(true);
}
setCursor(Qt::ArrowCursor);
changeMode = false;
}
void MapLocationDialog::updatePosFromEvent(int x, int y)
{
QSize mapPixelSize = size();
int xpos_ad = x;
int ypos_ad = mapPixelSize.height() - y;
double xrat = 10000 / (double)mapPixelSize.width();
double yrat = 12000 / (double)mapPixelSize.height();
double xpos_rv = xrat * xpos_ad;
double ypos_rv = yrat * ypos_ad;
double xpos_fp = xpos_rv - 4000;
double ypos_fp = ypos_rv - 4000;
drawPointOnMap(xpos_fp, ypos_fp);
}
void MapLocationDialog::mouseMoveEvent(QMouseEvent *ev)
{
if (!changeMode) { ev->ignore(); }
else if (ev->buttons() & Qt::LeftButton)
{
updatePosFromEvent(ev->x(), ev->y());
ev->accept();
}
else
{
ev->ignore();
}
}
void MapLocationDialog::mouseReleaseEvent(QMouseEvent *ev)
{
if (!changeMode) { ev->ignore(); }
else if (ev->button() == Qt::LeftButton)
{
updatePosFromEvent(ev->x(), ev->y());
ev->accept();
}
else
{
ev->ignore();
}
}
void MapLocationDialog::on_cmdApply_clicked()
{
propUpdate = true;
xpos_old = xpos_new;
ypos_old = ypos_new;
ui->cmdApply->setVisible(false);
ui->cmdRevert->setVisible(false);
}
void MapLocationDialog::on_cmdRevert_clicked()
{
drawPointOnMap(xpos_old, ypos_old);
ui->cmdApply->setVisible(false);
ui->cmdRevert->setVisible(false);
}
bool MapLocationDialog::propUpdated()
{
return propUpdate;
}
double MapLocationDialog::getXpos()
{
return xpos_old;
}
double MapLocationDialog::getYpos()
{
return ypos_old;
}
void MapLocationDialog::on_cmdClose_clicked()
{
close();
}

View File

@ -16,26 +16,48 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*****************************************************************************/ *****************************************************************************/
#ifndef MAPPREVIEWDIALOG_H #ifndef MAPLOCATIONDIALOG_H
#define MAPPREVIEWDIALOG_H #define MAPLOCATIONDIALOG_H
#include <QDialog> #include <QDialog>
#include <QMouseEvent>
namespace Ui { namespace Ui {
class MapPreviewDialog; class MapLocationDialog;
} }
class MapPreviewDialog : public QDialog class MapLocationDialog : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit MapPreviewDialog(QWidget *parent = 0); explicit MapLocationDialog(double x, double y, QWidget *parent = 0);
void drawPointOnMap(double x, double y); void drawPointOnMap(double x, double y);
~MapPreviewDialog(); bool propUpdated();
double getXpos();
double getYpos();
~MapLocationDialog();
protected:
void mouseMoveEvent(QMouseEvent *ev);
void mouseReleaseEvent(QMouseEvent *ev);
private slots:
void on_cmdDone_clicked();
void on_cmdApply_clicked();
void on_cmdChange_clicked();
void on_cmdRevert_clicked();
void updatePosFromEvent(int x, int y);
void on_cmdClose_clicked();
private: private:
Ui::MapPreviewDialog *ui; Ui::MapLocationDialog *ui;
double xpos_old;
double ypos_old;
double xpos_new;
double ypos_new;
bool propUpdate;
bool changeMode;
}; };
#endif // MAPPREVIEWDIALOG_H #endif // MAPLOCATIONDIALOG_H

218
MapLocationDialog.ui Normal file
View File

@ -0,0 +1,218 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MapLocationDialog</class>
<widget class="QDialog" name="MapLocationDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>500</width>
<height>600</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>500</width>
<height>600</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>500</width>
<height>600</height>
</size>
</property>
<property name="windowTitle">
<string>Snapmatic Map Viewer</string>
</property>
<layout class="QVBoxLayout" name="vlMapPreview">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="hlMapDialog">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item>
<layout class="QVBoxLayout" name="vlPosLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="labPos">
<property name="styleSheet">
<string notr="true">QLabel{
color: rgb(255, 255, 255);
}</string>
</property>
</widget>
</item>
<item>
<spacer name="vsPosSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<spacer name="hsMapDialog">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QVBoxLayout" name="vlMapDialog">
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="cmdClose">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>&amp;Close</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<spacer name="vsMapDialog">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="cmdApply">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>&amp;Apply</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="cmdRevert">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>&amp;Revert</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="cmdChange">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>&amp;Set</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="cmdDone">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text">
<string>&amp;Done</string>
</property>
<property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -1,73 +0,0 @@
/*****************************************************************************
* gta5sync GRAND THEFT AUTO V SYNC
* Copyright (C) 2017 Syping
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*****************************************************************************/
#include "MapPreviewDialog.h"
#include "ui_MapPreviewDialog.h"
#include "IconLoader.h"
#include "AppEnv.h"
#include <QPainter>
#include <QDebug>
MapPreviewDialog::MapPreviewDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::MapPreviewDialog)
{
// Set Window Flags
setWindowFlags(windowFlags()^Qt::WindowContextHelpButtonHint);
ui->setupUi(this);
// DPI calculation
qreal screenRatio = AppEnv::screenRatio();
setMinimumSize(500 * screenRatio, 600 * screenRatio);
setMaximumSize(500 * screenRatio, 600 * screenRatio);
setFixedSize(500 * screenRatio, 600 * screenRatio);
}
MapPreviewDialog::~MapPreviewDialog()
{
delete ui;
}
void MapPreviewDialog::drawPointOnMap(double xpos_d, double ypos_d)
{
qreal screenRatio = AppEnv::screenRatio();
int pointMakerSize = 8 * screenRatio;
QPixmap pointMakerPixmap = IconLoader::loadingPointmakerIcon().pixmap(QSize(pointMakerSize, pointMakerSize));
QSize mapPixelSize = size();
int pointMakerHalfSize = pointMakerSize / 2;
long xpos_ms = qRound(xpos_d);
long ypos_ms = qRound(ypos_d);
double xpos_ma = xpos_ms + 4000;
double ypos_ma = ypos_ms + 4000;
double xrat = (double)mapPixelSize.width() / 10000;
double yrat = (double)mapPixelSize.height() / 12000;
long xpos_mp = qRound(xpos_ma * xrat);
long ypos_mp = qRound(ypos_ma * yrat);
long xpos_pr = xpos_mp - pointMakerHalfSize;
long ypos_pr = ypos_mp + pointMakerHalfSize;
QPixmap mapPixmap(mapPixelSize);
QPainter mapPainter(&mapPixmap);
mapPainter.drawPixmap(0, 0, mapPixelSize.width(), mapPixelSize.height(), QPixmap(":/img/mappreview.jpg").scaled(mapPixelSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
mapPainter.drawPixmap(xpos_pr, mapPixelSize.height() - ypos_pr, pointMakerSize, pointMakerSize, pointMakerPixmap);
mapPainter.end();
ui->labPicture->setPixmap(mapPixmap);
}

View File

@ -1,71 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MapPreviewDialog</class>
<widget class="QDialog" name="MapPreviewDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>500</width>
<height>600</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>500</width>
<height>600</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>500</width>
<height>600</height>
</size>
</property>
<property name="windowTitle">
<string>Snapmatic Map Viewer</string>
</property>
<layout class="QVBoxLayout" name="vlMapPreview">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="UiModLabel" name="labPicture">
<property name="text">
<string/>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>UiModLabel</class>
<extends>QLabel</extends>
<header>uimod/UiModLabel.h</header>
<slots>
<signal>mouseMoved()</signal>
<signal>mouseReleased()</signal>
<signal>mousePressed()</signal>
<signal>mouseDoubleClicked()</signal>
</slots>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

View File

@ -125,18 +125,21 @@ void OptionsDialog::setupLanguageBox()
{ {
settings->beginGroup("Interface"); settings->beginGroup("Interface");
currentLanguage = settings->value("Language", "System").toString(); currentLanguage = settings->value("Language", "System").toString();
currentAreaLanguage = settings->value("AreaLanguage", "Auto").toString();
settings->endGroup(); settings->endGroup();
QString cbSysStr = tr("%1 (Next Closest Language)", "First language a person can talk with a different person/application. \"Native\" or \"Not Native\".").arg(tr("System", QString cbSysStr = tr("%1 (Next Closest Language)", "First language a person can talk with a different person/application. \"Native\" or \"Not Native\".").arg(tr("System",
"System in context of System default")); "System in context of System default"));
QString cbAutoStr = tr("%1 (Closest to Interface)", "Next closest language compared to the Interface").arg(tr("Auto", "Automatic language choice."));
ui->cbLanguage->addItem(cbSysStr, "System"); ui->cbLanguage->addItem(cbSysStr, "System");
ui->cbAreaLanguage->addItem(cbAutoStr, "Auto");
QStringList availableLanguages; QStringList availableLanguages;
availableLanguages << QString("en_GB"); availableLanguages << QString("en_GB");
#ifndef GTA5SYNC_QCONF #ifndef GTA5SYNC_QCONF
availableLanguages << TCInstance->listTranslations(AppEnv::getExLangFolder()); availableLanguages << TranslationClass::listTranslations(AppEnv::getExLangFolder());
#endif #endif
availableLanguages << TCInstance->listTranslations(AppEnv::getInLangFolder()); availableLanguages << TranslationClass::listTranslations(AppEnv::getInLangFolder());
availableLanguages.removeDuplicates(); availableLanguages.removeDuplicates();
availableLanguages.sort(); availableLanguages.sort();
@ -144,7 +147,6 @@ void OptionsDialog::setupLanguageBox()
{ {
QLocale langLocale(lang); QLocale langLocale(lang);
QString cbLangStr = langLocale.nativeLanguageName() % " (" % langLocale.nativeCountryName() % ") [" % lang % "]"; QString cbLangStr = langLocale.nativeLanguageName() % " (" % langLocale.nativeCountryName() % ") [" % lang % "]";
QString langIconStr = "flag-" % TranslationClass::getCountryCode(langLocale); QString langIconStr = "flag-" % TranslationClass::getCountryCode(langLocale);
ui->cbLanguage->addItem(QIcon::fromTheme(langIconStr), cbLangStr, lang); ui->cbLanguage->addItem(QIcon::fromTheme(langIconStr), cbLangStr, lang);
@ -158,6 +160,59 @@ void OptionsDialog::setupLanguageBox()
#endif #endif
} }
} }
QString aCurrentLanguage = QString("en_GB");
if (TCInstance->isLanguageLoaded()) { aCurrentLanguage = TCInstance->getCurrentLanguage(); }
QLocale currentLocale = QLocale(aCurrentLanguage);
ui->labCurrentLanguage->setText(tr("Current: %1").arg(currentLocale.nativeLanguageName() % " (" % currentLocale.nativeCountryName() % ") [" % aCurrentLanguage % "]"));
availableLanguages.clear();
availableLanguages << TranslationClass::listAreaTranslations();
availableLanguages.removeDuplicates();
availableLanguages.sort();
for (QString lang : availableLanguages)
{
// correcting Language Location if possible
QString aLang = lang;
if (QFile::exists(":/global/global." % lang % ".loc"))
{
QFile locFile(":/global/global." % lang % ".loc");
if (locFile.open(QFile::ReadOnly))
{
aLang = QString::fromUtf8(locFile.readLine()).trimmed();
locFile.close();
}
}
QLocale langLocale(aLang);
QString cbLangStr = langLocale.nativeLanguageName() % " (" % langLocale.nativeCountryName() % ") [" % aLang % "]";
QString langIconStr = "flag-" % TranslationClass::getCountryCode(langLocale);
ui->cbAreaLanguage->addItem(QIcon::fromTheme(langIconStr), cbLangStr, lang);
if (currentAreaLanguage == lang)
{
#if QT_VERSION >= 0x050000
ui->cbAreaLanguage->setCurrentText(cbLangStr);
#else
int indexOfLang = ui->cbAreaLanguage->findText(cbLangStr);
ui->cbAreaLanguage->setCurrentIndex(indexOfLang);
#endif
}
}
QString aCurrentAreaLanguage = TCInstance->getCurrentAreaLanguage();
if (QFile::exists(":/global/global." % currentAreaLanguage % ".loc"))
{
QFile locFile(":/global/global." % currentAreaLanguage % ".loc");
if (locFile.open(QFile::ReadOnly))
{
aCurrentAreaLanguage = QString::fromUtf8(locFile.readLine()).trimmed();
locFile.close();
}
}
currentLocale = QLocale(aCurrentAreaLanguage);
ui->labCurrentAreaLanguage->setText(tr("Current: %1").arg(currentLocale.nativeLanguageName() % " (" % currentLocale.nativeCountryName() % ") [" % aCurrentAreaLanguage % "]"));
} }
void OptionsDialog::setupRadioButtons() void OptionsDialog::setupRadioButtons()
@ -195,8 +250,10 @@ void OptionsDialog::applySettings()
settings->beginGroup("Interface"); settings->beginGroup("Interface");
#if QT_VERSION >= 0x050000 #if QT_VERSION >= 0x050000
settings->setValue("Language", ui->cbLanguage->currentData()); settings->setValue("Language", ui->cbLanguage->currentData());
settings->setValue("AreaLanguage", ui->cbAreaLanguage->currentData());
#else #else
settings->setValue("Language", ui->cbLanguage->itemData(ui->cbLanguage->currentIndex())); settings->setValue("Language", ui->cbLanguage->itemData(ui->cbLanguage->currentIndex()));
settings->setValue("AreaLanguage", ui->cbAreaLanguage->itemData(ui->cbAreaLanguage->currentIndex()));
#endif #endif
#ifdef GTA5SYNC_WIN #ifdef GTA5SYNC_WIN
#if QT_VERSION >= 0x050200 #if QT_VERSION >= 0x050200
@ -255,8 +312,10 @@ void OptionsDialog::applySettings()
#if QT_VERSION >= 0x050000 #if QT_VERSION >= 0x050000
bool languageChanged = ui->cbLanguage->currentData().toString() != currentLanguage; bool languageChanged = ui->cbLanguage->currentData().toString() != currentLanguage;
bool languageAreaChanged = ui->cbAreaLanguage->currentData().toString() != currentAreaLanguage;
#else #else
bool languageChanged = ui->cbLanguage->itemData(ui->cbLanguage->currentIndex()).toString() != currentLanguage; bool languageChanged = ui->cbLanguage->itemData(ui->cbLanguage->currentIndex()).toString() != currentLanguage;
bool languageAreaChanged = ui->cbAreaLanguage->itemData(ui->cbLanguage->currentIndex()).toString() != currentAreaLanguage;
#endif #endif
if (languageChanged) if (languageChanged)
{ {
@ -264,6 +323,10 @@ void OptionsDialog::applySettings()
TCInstance->initUserLanguage(); TCInstance->initUserLanguage();
TCInstance->loadTranslation(qApp); TCInstance->loadTranslation(qApp);
} }
else if (languageAreaChanged)
{
TCInstance->initUserLanguage();
}
emit settingsApplied(newContentMode, languageChanged); emit settingsApplied(newContentMode, languageChanged);

View File

@ -55,6 +55,7 @@ private:
Ui::OptionsDialog *ui; Ui::OptionsDialog *ui;
QList<QTreeWidgetItem*> playerItems; QList<QTreeWidgetItem*> playerItems;
Qt::AspectRatioMode aspectRatio; Qt::AspectRatioMode aspectRatio;
QString currentAreaLanguage;
QString currentLanguage; QString currentLanguage;
QString currentCFolder; QString currentCFolder;
QString defaultProfile; QString defaultProfile;

View File

@ -390,12 +390,38 @@
<item> <item>
<widget class="QGroupBox" name="gbLanguage"> <widget class="QGroupBox" name="gbLanguage">
<property name="title"> <property name="title">
<string>Language</string> <string>Interface</string>
</property> </property>
<layout class="QVBoxLayout" name="vlLanguage"> <layout class="QVBoxLayout" name="vlLanguage">
<item> <item>
<widget class="QComboBox" name="cbLanguage"/> <widget class="QComboBox" name="cbLanguage"/>
</item> </item>
<item>
<widget class="QLabel" name="labCurrentLanguage">
<property name="text">
<string>Current: %1</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="gbAreas">
<property name="title">
<string>Areas</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QComboBox" name="cbAreaLanguage"/>
</item>
<item>
<widget class="QLabel" name="labCurrentAreaLanguage">
<property name="text">
<string>Current: %1</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>

View File

@ -21,7 +21,7 @@
#include "ProfileDatabase.h" #include "ProfileDatabase.h"
#include "ui_PictureDialog.h" #include "ui_PictureDialog.h"
#include "SidebarGenerator.h" #include "SidebarGenerator.h"
#include "MapPreviewDialog.h" #include "MapLocationDialog.h"
#include "SnapmaticEditor.h" #include "SnapmaticEditor.h"
#include "StandardPaths.h" #include "StandardPaths.h"
#include "PictureExport.h" #include "PictureExport.h"
@ -691,21 +691,48 @@ int PictureDialog::getIndex()
void PictureDialog::openPreviewMap() void PictureDialog::openPreviewMap()
{ {
MapPreviewDialog *mapPreviewDialog; MapLocationDialog *mapLocDialog;
if (rqFullscreen && fullscreenWidget != nullptr) if (rqFullscreen && fullscreenWidget != nullptr)
{ {
mapPreviewDialog = new MapPreviewDialog(fullscreenWidget); mapLocDialog = new MapLocationDialog(smpic->getSnapmaticProperties().location.x, smpic->getSnapmaticProperties().location.y, fullscreenWidget);
} }
else else
{ {
mapPreviewDialog = new MapPreviewDialog(this); mapLocDialog = new MapLocationDialog(smpic->getSnapmaticProperties().location.x, smpic->getSnapmaticProperties().location.y, this);
} }
mapPreviewDialog->setWindowIcon(windowIcon()); mapLocDialog->setWindowIcon(windowIcon());
mapPreviewDialog->setModal(true); mapLocDialog->setModal(true);
mapPreviewDialog->drawPointOnMap(smpic->getSnapmaticProperties().location.x, smpic->getSnapmaticProperties().location.y); mapLocDialog->show();
mapPreviewDialog->show(); mapLocDialog->exec();
mapPreviewDialog->exec(); if (mapLocDialog->propUpdated())
delete mapPreviewDialog; {
// Update Snapmatic Properties
SnapmaticProperties localSpJson = smpic->getSnapmaticProperties();
localSpJson.location.x = mapLocDialog->getXpos();
localSpJson.location.y = mapLocDialog->getYpos();
localSpJson.location.z = 0;
// Update Snapmatic Picture
QString currentFilePath = smpic->getPictureFilePath();
QString originalFilePath = smpic->getOriginalPictureFilePath();
QString backupFileName = originalFilePath % ".bak";
if (!QFile::exists(backupFileName))
{
QFile::copy(currentFilePath, backupFileName);
}
SnapmaticProperties fallbackProperties = smpic->getSnapmaticProperties();
smpic->setSnapmaticProperties(localSpJson);
if (!smpic->exportPicture(currentFilePath))
{
QMessageBox::warning(this, SnapmaticEditor::tr("Snapmatic Properties"), SnapmaticEditor::tr("Patching of Snapmatic Properties failed because of I/O Error"));
smpic->setSnapmaticProperties(fallbackProperties);
}
else
{
updated();
}
}
delete mapLocDialog;
} }
void PictureDialog::editSnapmaticProperties() void PictureDialog::editSnapmaticProperties()
@ -739,6 +766,9 @@ void PictureDialog::updated()
crewID = QString::number(smpic->getSnapmaticProperties().crewID); crewID = QString::number(smpic->getSnapmaticProperties().crewID);
crewStr = QString::number(smpic->getSnapmaticProperties().crewID); crewStr = QString::number(smpic->getSnapmaticProperties().crewID);
} }
locX = QString::number(smpic->getSnapmaticProperties().location.x);
locY = QString::number(smpic->getSnapmaticProperties().location.y);
locZ = QString::number(smpic->getSnapmaticProperties().location.z);
picTitl = StringParser::escapeString(smpic->getPictureTitle()); picTitl = StringParser::escapeString(smpic->getPictureTitle());
ui->labJSON->setText(jsonDrawString.arg(locX, locY, locZ, generatePlayersString(), generateCrewString(), picTitl, picAreaStr, created)); ui->labJSON->setText(jsonDrawString.arg(locX, locY, locZ, generatePlayersString(), generateCrewString(), picTitl, picAreaStr, created));
} }

View File

@ -96,25 +96,27 @@ ProfileInterface::ProfileInterface(ProfileDatabase *profileDB, CrewDatabase *cre
ProfileInterface::~ProfileInterface() ProfileInterface::~ProfileInterface()
{ {
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
widgets.remove(widget);
widget->removeEventFilter(this); widget->removeEventFilter(this);
widget->disconnect(); widget->disconnect();
delete widget; delete widget;
} }
foreach (SavegameData *savegame, savegames) widgets.clear();
for (SavegameData *savegame : savegames)
{ {
savegames.removeAll(savegame);
delete savegame; delete savegame;
} }
foreach (SnapmaticPicture *picture, pictures) savegames.clear();
for (SnapmaticPicture *picture : pictures)
{ {
pictures.removeAll(picture);
delete picture; delete picture;
} }
delete profileLoader; pictures.clear();
delete profileLoader;
delete ui; delete ui;
} }
@ -617,7 +619,7 @@ bool ProfileInterface::importFile(QString selectedFile, bool notMultiple)
} }
QString currentTime = QTime::currentTime().toString("HHmmss"); QString currentTime = QTime::currentTime().toString("HHmmss");
SnapmaticProperties spJson = picture->getSnapmaticProperties(); SnapmaticProperties spJson = picture->getSnapmaticProperties();
spJson.uid = QString(currentTime + spJson.uid = QString(currentTime %
QString::number(QDate::currentDate().dayOfYear())).toInt(); QString::number(QDate::currentDate().dayOfYear())).toInt();
bool fExists = QFile::exists(profileFolder % "/PGTA5" % QString::number(spJson.uid)); bool fExists = QFile::exists(profileFolder % "/PGTA5" % QString::number(spJson.uid));
bool fExistsHidden = QFile::exists(profileFolder % "/PGTA5" % QString::number(spJson.uid) % ".hidden"); bool fExistsHidden = QFile::exists(profileFolder % "/PGTA5" % QString::number(spJson.uid) % ".hidden");
@ -625,7 +627,7 @@ bool ProfileInterface::importFile(QString selectedFile, bool notMultiple)
while ((fExists || fExistsHidden) && cEnough < 5000) while ((fExists || fExistsHidden) && cEnough < 5000)
{ {
currentTime = QString::number(currentTime.toInt() - 1); currentTime = QString::number(currentTime.toInt() - 1);
spJson.uid = QString(currentTime + spJson.uid = QString(currentTime %
QString::number(QDate::currentDate().dayOfYear())).toInt(); QString::number(QDate::currentDate().dayOfYear())).toInt();
fExists = QFile::exists(profileFolder % "/PGTA5" % QString::number(spJson.uid)); fExists = QFile::exists(profileFolder % "/PGTA5" % QString::number(spJson.uid));
fExistsHidden = QFile::exists(profileFolder % "/PGTA5" % QString::number(spJson.uid) % ".hidden"); fExistsHidden = QFile::exists(profileFolder % "/PGTA5" % QString::number(spJson.uid) % ".hidden");
@ -650,11 +652,11 @@ bool ProfileInterface::importFile(QString selectedFile, bool notMultiple)
delete picture; delete picture;
return false; return false;
} }
QImage snapmaticImage; QImage *importImage = new QImage();
QImageReader snapmaticImageReader; QImageReader snapmaticImageReader;
snapmaticImageReader.setDecideFormatFromContent(true); snapmaticImageReader.setDecideFormatFromContent(true);
snapmaticImageReader.setDevice(&snapmaticFile); snapmaticImageReader.setDevice(&snapmaticFile);
if (!snapmaticImageReader.read(&snapmaticImage)) if (!snapmaticImageReader.read(importImage))
{ {
QMessageBox::warning(this, tr("Import"), tr("Can't import %1 because file can't be parsed properly").arg("\""+selectedFileName+"\"")); QMessageBox::warning(this, tr("Import"), tr("Can't import %1 because file can't be parsed properly").arg("\""+selectedFileName+"\""));
delete picture; delete picture;
@ -662,7 +664,7 @@ bool ProfileInterface::importFile(QString selectedFile, bool notMultiple)
} }
ImportDialog *importDialog = new ImportDialog(this); ImportDialog *importDialog = new ImportDialog(this);
importDialog->setWindowFlags(importDialog->windowFlags()^Qt::WindowContextHelpButtonHint); importDialog->setWindowFlags(importDialog->windowFlags()^Qt::WindowContextHelpButtonHint);
importDialog->setImage(snapmaticImage); importDialog->setImage(importImage);
importDialog->setModal(true); importDialog->setModal(true);
importDialog->show(); importDialog->show();
importDialog->exec(); importDialog->exec();
@ -680,7 +682,7 @@ bool ProfileInterface::importFile(QString selectedFile, bool notMultiple)
while ((fExists || fExistsHidden) && cEnough < 25) while ((fExists || fExistsHidden) && cEnough < 25)
{ {
currentTime = QString::number(currentTime.toInt() - 1); currentTime = QString::number(currentTime.toInt() - 1);
spJson.uid = QString(currentTime + spJson.uid = QString(currentTime %
QString::number(QDate::currentDate().dayOfYear())).toInt(); QString::number(QDate::currentDate().dayOfYear())).toInt();
fExists = QFile::exists(profileFolder % "/PGTA5" % QString::number(spJson.uid)); fExists = QFile::exists(profileFolder % "/PGTA5" % QString::number(spJson.uid));
fExistsHidden = QFile::exists(profileFolder % "/PGTA5" % QString::number(spJson.uid) % ".hidden"); fExistsHidden = QFile::exists(profileFolder % "/PGTA5" % QString::number(spJson.uid) % ".hidden");
@ -820,7 +822,7 @@ void ProfileInterface::profileWidgetSelected()
{ {
if (selectedWidgts == 0) if (selectedWidgts == 0)
{ {
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
widget->setSelectionMode(true); widget->setSelectionMode(true);
} }
@ -833,7 +835,7 @@ void ProfileInterface::profileWidgetDeselected()
if (selectedWidgts == 1) if (selectedWidgts == 1)
{ {
int scrollBarValue = ui->saProfile->verticalScrollBar()->value(); int scrollBarValue = ui->saProfile->verticalScrollBar()->value();
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
if (contentMode != 2) if (contentMode != 2)
{ {
@ -847,7 +849,7 @@ void ProfileInterface::profileWidgetDeselected()
void ProfileInterface::selectAllWidgets() void ProfileInterface::selectAllWidgets()
{ {
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
widget->setSelected(true); widget->setSelected(true);
} }
@ -855,7 +857,7 @@ void ProfileInterface::selectAllWidgets()
void ProfileInterface::deselectAllWidgets() void ProfileInterface::deselectAllWidgets()
{ {
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
widget->setSelected(false); widget->setSelected(false);
} }
@ -879,7 +881,7 @@ void ProfileInterface::exportSelected()
if (exportDirectory != "") if (exportDirectory != "")
{ {
settings.setValue(profileName, exportDirectory); settings.setValue(profileName, exportDirectory);
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
if (widget->isSelected()) if (widget->isSelected())
{ {
@ -1022,7 +1024,7 @@ void ProfileInterface::deleteSelected()
{ {
if (QMessageBox::Yes == QMessageBox::warning(this, tr("Remove selected"), tr("You really want remove the selected Snapmatic picutres and Savegame files?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::No)) if (QMessageBox::Yes == QMessageBox::warning(this, tr("Remove selected"), tr("You really want remove the selected Snapmatic picutres and Savegame files?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::No))
{ {
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
if (widget->isSelected()) if (widget->isSelected())
{ {
@ -1069,7 +1071,7 @@ void ProfileInterface::settingsApplied(int _contentMode, bool languageChanged)
contentMode = _contentMode; contentMode = _contentMode;
if (contentMode == 2) if (contentMode == 2)
{ {
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
widget->setSelectionMode(true); widget->setSelectionMode(true);
widget->setContentMode(contentMode); widget->setContentMode(contentMode);
@ -1078,7 +1080,7 @@ void ProfileInterface::settingsApplied(int _contentMode, bool languageChanged)
} }
else else
{ {
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
if (selectedWidgts == 0) if (selectedWidgts == 0)
{ {
@ -1093,7 +1095,7 @@ void ProfileInterface::settingsApplied(int _contentMode, bool languageChanged)
void ProfileInterface::enableSelected() void ProfileInterface::enableSelected()
{ {
int fails = 0; int fails = 0;
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
if (widget->isSelected()) if (widget->isSelected())
{ {
@ -1112,7 +1114,7 @@ void ProfileInterface::enableSelected()
void ProfileInterface::disableSelected() void ProfileInterface::disableSelected()
{ {
int fails = 0; int fails = 0;
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
if (widget->isSelected()) if (widget->isSelected())
{ {
@ -1286,7 +1288,7 @@ bool ProfileInterface::eventFilter(QObject *watched, QEvent *event)
if ((watched->objectName() == "SavegameWidget" || watched->objectName() == "SnapmaticWidget") && isProfileLoaded) if ((watched->objectName() == "SavegameWidget" || watched->objectName() == "SnapmaticWidget") && isProfileLoaded)
{ {
ProfileWidget *pWidget = nullptr; ProfileWidget *pWidget = nullptr;
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
QPoint mousePos = widget->mapFromGlobal(QCursor::pos()); QPoint mousePos = widget->mapFromGlobal(QCursor::pos());
if (widget->rect().contains(mousePos)) if (widget->rect().contains(mousePos))
@ -1355,7 +1357,7 @@ bool ProfileInterface::eventFilter(QObject *watched, QEvent *event)
void ProfileInterface::hoverProfileWidgetCheck() void ProfileInterface::hoverProfileWidgetCheck()
{ {
ProfileWidget *pWidget = nullptr; ProfileWidget *pWidget = nullptr;
foreach (ProfileWidget *widget, widgets.keys()) for (ProfileWidget *widget : widgets.keys())
{ {
if (widget->underMouse()) if (widget->underMouse())
{ {

View File

@ -42,6 +42,7 @@ void TranslationClass::initUserLanguage()
QSettings settings(GTA5SYNC_APPVENDOR, GTA5SYNC_APPSTR); QSettings settings(GTA5SYNC_APPVENDOR, GTA5SYNC_APPSTR);
settings.beginGroup("Interface"); settings.beginGroup("Interface");
userLanguage = settings.value("Language", "System").toString(); userLanguage = settings.value("Language", "System").toString();
userAreaLanguage = settings.value("AreaLanguage", "Auto").toString();
settings.endGroup(); settings.endGroup();
} }
@ -279,13 +280,26 @@ QStringList TranslationClass::listTranslations(const QString &langPath)
langDir.setNameFilters(QStringList("gta5sync_*.qm")); langDir.setNameFilters(QStringList("gta5sync_*.qm"));
langDir.setPath(langPath); langDir.setPath(langPath);
QStringList availableLanguages; QStringList availableLanguages;
for (QString &lang : langDir.entryList(QDir::Files | QDir::NoDotAndDotDot, QDir::NoSort)) for (QString lang : langDir.entryList(QDir::Files | QDir::NoDotAndDotDot, QDir::NoSort))
{ {
availableLanguages << QString(lang).remove("gta5sync_").remove(".qm"); availableLanguages << QString(lang).remove("gta5sync_").remove(".qm");
} }
return availableLanguages; return availableLanguages;
} }
QStringList TranslationClass::listAreaTranslations()
{
QDir langDir;
langDir.setNameFilters(QStringList("global.*.ini"));
langDir.setPath(":/global");
QStringList availableLanguages;
for (QString lang : langDir.entryList(QDir::Files | QDir::NoDotAndDotDot, QDir::NoSort))
{
availableLanguages << QString(lang).remove("global.").remove(".ini");
}
return availableLanguages;
}
bool TranslationClass::loadSystemTranslation_p(const QString &langPath, QTranslator *appTranslator) bool TranslationClass::loadSystemTranslation_p(const QString &langPath, QTranslator *appTranslator)
{ {
#ifdef GTA5SYNC_DEBUG #ifdef GTA5SYNC_DEBUG
@ -498,6 +512,55 @@ bool TranslationClass::isUserLanguageSystem_p()
return (userLanguage == "System" || userLanguage.trimmed().isEmpty()); return (userLanguage == "System" || userLanguage.trimmed().isEmpty());
} }
QString TranslationClass::getCurrentAreaLanguage()
{
const QStringList areaTranslations = listAreaTranslations();
if (userAreaLanguage == "Auto" || userAreaLanguage.trimmed().isEmpty())
{
#ifdef GTA5SYNC_DEBUG
qDebug() << "autoAreaLanguageMode";
#endif
QString langCode = QString(currentLanguage).replace("-", "_");
if (areaTranslations.contains(langCode))
{
#ifdef GTA5SYNC_DEBUG
qDebug() << "autoAreaLanguageSelected" << langCode;
#endif
return langCode;
}
else if (langCode.contains("_"))
{
langCode = langCode.split("_").at(0);
if (!areaTranslations.contains(langCode)) goto outputDefaultLanguage;
#ifdef GTA5SYNC_DEBUG
qDebug() << "autoAreaLanguageSelected" << langCode;
#endif
return langCode;
}
}
else if (areaTranslations.contains(userAreaLanguage))
{
#ifdef GTA5SYNC_DEBUG
qDebug() << "userAreaLanguageSelected" << userAreaLanguage;
#endif
return userAreaLanguage;
}
else if (userAreaLanguage.contains("_"))
{
QString langCode = QString(userAreaLanguage).replace("-", "_").split("_").at(0);
if (!areaTranslations.contains(langCode)) goto outputDefaultLanguage;
#ifdef GTA5SYNC_DEBUG
qDebug() << "userAreaLanguageSelected" << langCode;
#endif
return langCode;
}
outputDefaultLanguage:
#ifdef GTA5SYNC_DEBUG
qDebug() << "defaultAreaLanguageSelected";
#endif
return "en";
}
QString TranslationClass::getCurrentLanguage() QString TranslationClass::getCurrentLanguage()
{ {
return currentLanguage; return currentLanguage;

View File

@ -36,7 +36,9 @@ public:
void initUserLanguage(); void initUserLanguage();
void loadTranslation(QApplication *app); void loadTranslation(QApplication *app);
void unloadTranslation(QApplication *app); void unloadTranslation(QApplication *app);
QStringList listTranslations(const QString &langPath); static QStringList listTranslations(const QString &langPath);
static QStringList listAreaTranslations();
QString getCurrentAreaLanguage();
QString getCurrentLanguage(); QString getCurrentLanguage();
bool isLanguageLoaded(); bool isLanguageLoaded();
@ -50,6 +52,7 @@ private:
QTranslator exQtTranslator; QTranslator exQtTranslator;
QTranslator inAppTranslator; QTranslator inAppTranslator;
QTranslator inQtTranslator; QTranslator inQtTranslator;
QString userAreaLanguage;
QString currentLanguage; QString currentLanguage;
QString userLanguage; QString userLanguage;
int currentLangIndex; int currentLangIndex;

View File

@ -189,12 +189,12 @@ void UserInterface::changeFolder_clicked()
void UserInterface::on_cmdReload_clicked() void UserInterface::on_cmdReload_clicked()
{ {
foreach (QPushButton *profileBtn, profileBtns) for (QPushButton *profileBtn : profileBtns)
{ {
ui->vlButtons->removeWidget(profileBtn); ui->vlButtons->removeWidget(profileBtn);
profileBtns.removeAll(profileBtn);
delete profileBtn; delete profileBtn;
} }
profileBtns.clear();
setupDirEnv(); setupDirEnv();
} }
@ -223,28 +223,40 @@ void UserInterface::closeProfile()
{ {
if (profileOpen) if (profileOpen)
{ {
profileOpen = false; closeProfile_p();
profileName.clear();
ui->menuProfile->setEnabled(false);
ui->actionSelect_profile->setEnabled(false);
ui->swProfile->removeWidget(profileUI);
delete profileUI;
} }
this->setWindowTitle(defaultWindowTitle.arg(tr("Select Profile"))); this->setWindowTitle(defaultWindowTitle.arg(tr("Select Profile")));
} }
void UserInterface::closeProfile_p()
{
profileOpen = false;
profileName.clear();
profileName.squeeze();
ui->menuProfile->setEnabled(false);
ui->actionSelect_profile->setEnabled(false);
ui->swProfile->removeWidget(profileUI);
profileUI->disconnect();
delete profileUI;
}
void UserInterface::closeEvent(QCloseEvent *ev) void UserInterface::closeEvent(QCloseEvent *ev)
{ {
Q_UNUSED(ev) Q_UNUSED(ev)
threadDB->doEndThread(); threadDB->terminateThread();
} }
UserInterface::~UserInterface() UserInterface::~UserInterface()
{ {
foreach (QPushButton *profileBtn, profileBtns) if (profileOpen)
{
closeProfile_p();
}
for (QPushButton *profileBtn : profileBtns)
{ {
delete profileBtn; delete profileBtn;
} }
profileBtns.clear();
delete ui; delete ui;
} }

View File

@ -84,6 +84,7 @@ private:
QStringList GTAV_Profiles; QStringList GTAV_Profiles;
void setupProfileUi(); void setupProfileUi();
void openProfile(const QString &profileName); void openProfile(const QString &profileName);
void closeProfile_p();
void openSelectProfile(); void openSelectProfile();
void retranslateUi(); void retranslateUi();

View File

@ -50,7 +50,7 @@
#ifndef GTA5SYNC_APPVER #ifndef GTA5SYNC_APPVER
#ifndef GTA5SYNC_DAILYB #ifndef GTA5SYNC_DAILYB
#define GTA5SYNC_APPVER "1.5.0-dev2" #define GTA5SYNC_APPVER "1.5.0-dev3"
#else #else
#define GTA5SYNC_APPVER GTA5SYNC_DAILYB #define GTA5SYNC_APPVER GTA5SYNC_DAILYB
#endif #endif

View File

@ -38,7 +38,7 @@ SOURCES += main.cpp \
GlobalString.cpp \ GlobalString.cpp \
IconLoader.cpp \ IconLoader.cpp \
ImportDialog.cpp \ ImportDialog.cpp \
MapPreviewDialog.cpp \ MapLocationDialog.cpp \
OptionsDialog.cpp \ OptionsDialog.cpp \
PictureDialog.cpp \ PictureDialog.cpp \
PictureExport.cpp \ PictureExport.cpp \
@ -72,7 +72,7 @@ HEADERS += \
GlobalString.h \ GlobalString.h \
IconLoader.h \ IconLoader.h \
ImportDialog.h \ ImportDialog.h \
MapPreviewDialog.h \ MapLocationDialog.h \
OptionsDialog.h \ OptionsDialog.h \
PictureDialog.h \ PictureDialog.h \
PictureExport.h \ PictureExport.h \
@ -100,7 +100,7 @@ FORMS += \
AboutDialog.ui \ AboutDialog.ui \
ExportDialog.ui \ ExportDialog.ui \
ImportDialog.ui \ ImportDialog.ui \
MapPreviewDialog.ui \ MapLocationDialog.ui \
OptionsDialog.ui \ OptionsDialog.ui \
PictureDialog.ui \ PictureDialog.ui \
ProfileInterface.ui \ ProfileInterface.ui \

View File

@ -148,20 +148,17 @@ int main(int argc, char *argv[])
if (crewID != 0) { crewDB.addCrew(crewID); } if (crewID != 0) { crewDB.addCrew(crewID); }
if (!readOk) { return 1; } if (!readOk) { return 1; }
QEventLoop threadLoop;
QObject::connect(&threadDB, SIGNAL(crewNameFound(int, QString)), &crewDB, SLOT(setCrewName(int, QString))); QObject::connect(&threadDB, SIGNAL(crewNameFound(int, QString)), &crewDB, SLOT(setCrewName(int, QString)));
QObject::connect(&threadDB, SIGNAL(crewNameUpdated()), &picDialog, SLOT(crewNameUpdated())); QObject::connect(&threadDB, SIGNAL(crewNameUpdated()), &picDialog, SLOT(crewNameUpdated()));
QObject::connect(&threadDB, SIGNAL(playerNameFound(int, QString)), &profileDB, SLOT(setPlayerName(int, QString))); QObject::connect(&threadDB, SIGNAL(playerNameFound(int, QString)), &profileDB, SLOT(setPlayerName(int, QString)));
QObject::connect(&threadDB, SIGNAL(playerNameUpdated()), &picDialog, SLOT(playerNameUpdated())); QObject::connect(&threadDB, SIGNAL(playerNameUpdated()), &picDialog, SLOT(playerNameUpdated()));
QObject::connect(&threadDB, SIGNAL(finished()), &threadLoop, SLOT(quit())); QObject::connect(&threadDB, SIGNAL(finished()), &a, SLOT(quit()));
QObject::connect(&picDialog, SIGNAL(endDatabaseThread()), &threadDB, SLOT(doEndThread())); QObject::connect(&picDialog, SIGNAL(endDatabaseThread()), &threadDB, SLOT(terminateThread()));
threadDB.start(); threadDB.start();
picDialog.show(); picDialog.show();
threadLoop.exec(); return a.exec();
return 0;
} }
else if (selectedAction == "showsgd") else if (selectedAction == "showsgd")
{ {
@ -174,6 +171,7 @@ int main(int argc, char *argv[])
if (!readOk) { return 1; } if (!readOk) { return 1; }
a.setQuitOnLastWindowClosed(true);
savegameDialog.show(); savegameDialog.show();
return a.exec(); return a.exec();
@ -197,7 +195,5 @@ int main(int argc, char *argv[])
uiWindow.show(); uiWindow.show();
#endif #endif
a.exec(); return a.exec();
return 0;
} }

View File

@ -30,6 +30,7 @@
<file>global.ja.ini</file> <file>global.ja.ini</file>
<file>global.ru.ini</file> <file>global.ru.ini</file>
<file>global.zh.ini</file> <file>global.zh.ini</file>
<file>global.zh.loc</file>
</qresource> </qresource>
<qresource prefix="/template"> <qresource prefix="/template">
<file>template.g5e</file> <file>template.g5e</file>

View File

@ -25,12 +25,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Syping" VALUE "CompanyName", "Syping"
VALUE "FileDescription", "gta5view\0" VALUE "FileDescription", "gta5view\0"
VALUE "FileVersion", "1.5.0-dev2\0" VALUE "FileVersion", "1.5.0-dev3\0"
VALUE "InternalName", "gta5view\0" VALUE "InternalName", "gta5view\0"
VALUE "LegalCopyright", "Copyright © 2016-2017 Syping\0" VALUE "LegalCopyright", "Copyright © 2016-2017 Syping\0"
VALUE "OriginalFilename", "gta5view.exe\0" VALUE "OriginalFilename", "gta5view.exe\0"
VALUE "ProductName", "gta5view\0" VALUE "ProductName", "gta5view\0"
VALUE "ProductVersion", "1.5.0-dev2\0" VALUE "ProductVersion", "1.5.0-dev3\0"
END END
END END
END END

1
res/global.zh.loc Normal file
View File

@ -0,0 +1 @@
zh_TW

Binary file not shown.

View File

@ -385,7 +385,7 @@ Grand Theft Auto V Snapmatic Bilder und Spielständen</translation>
<message> <message>
<location filename="../ImportDialog.ui" line="98"/> <location filename="../ImportDialog.ui" line="98"/>
<location filename="../ImportDialog.cpp" line="57"/> <location filename="../ImportDialog.cpp" line="57"/>
<location filename="../ImportDialog.cpp" line="216"/> <location filename="../ImportDialog.cpp" line="242"/>
<source>Background Colour: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</source> <source>Background Colour: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</source>
<translation>Hintergrundfarbe: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</translation> <translation>Hintergrundfarbe: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</translation>
</message> </message>
@ -425,25 +425,37 @@ When you plan to use it as Avatar the picture will be cut!</source>
Wenn du planst es als Avatar zu verwenden das Bild wird abgetrennt!</translation> Wenn du planst es als Avatar zu verwenden das Bild wird abgetrennt!</translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="173"/> <location filename="../ImportDialog.cpp" line="105"/>
<source>Custom Avatar</source>
<comment>Custom Avatar Description in SC, don&apos;t use Special Character!</comment>
<translation>Eigener Avatar</translation>
</message>
<message>
<location filename="../ImportDialog.cpp" line="131"/>
<source>Custom Picture</source>
<comment>Custom Picture Description in SC, don&apos;t use Special Character!</comment>
<translation>Eigenes Bild</translation>
</message>
<message>
<location filename="../ImportDialog.cpp" line="199"/>
<source>Are you sure to use a square image outside of the Avatar Zone? <source>Are you sure to use a square image outside of the Avatar Zone?
When you want to use it as Avatar the image will be detached!</source> When you want to use it as Avatar the image will be detached!</source>
<translation>Bist du sicher ein Quadrat Bild außerhalb der Avatar Zone zu verwenden? <translation>Bist du sicher ein Quadrat Bild außerhalb der Avatar Zone zu verwenden?
Wenn du es als Avatar verwenden möchtest wird es abgetrennt!</translation> Wenn du es als Avatar verwenden möchtest wird es abgetrennt!</translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="173"/> <location filename="../ImportDialog.cpp" line="199"/>
<source>Snapmatic Avatar Zone</source> <source>Snapmatic Avatar Zone</source>
<translation>Snapmatic Avatar Zone</translation> <translation>Snapmatic Avatar Zone</translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="212"/> <location filename="../ImportDialog.cpp" line="238"/>
<source>Select Colour...</source> <source>Select Colour...</source>
<translation>Farbe auswählen...</translation> <translation>Farbe auswählen...</translation>
</message> </message>
</context> </context>
<context> <context>
<name>MapPreviewDialog</name> <name>MapLocationDialog</name>
<message> <message>
<source>Map Preview</source> <source>Map Preview</source>
<translation type="vanished">Map Vorschau</translation> <translation type="vanished">Map Vorschau</translation>
@ -453,10 +465,50 @@ Wenn du es als Avatar verwenden möchtest wird es abgetrennt!</translation>
<translation type="vanished">Snapmatic Koordinatenansicht</translation> <translation type="vanished">Snapmatic Koordinatenansicht</translation>
</message> </message>
<message> <message>
<location filename="../MapPreviewDialog.ui" line="26"/> <location filename="../MapLocationDialog.ui" line="26"/>
<source>Snapmatic Map Viewer</source> <source>Snapmatic Map Viewer</source>
<translation>Snapmatic Kartenansicht</translation> <translation>Snapmatic Kartenansicht</translation>
</message> </message>
<message>
<source>X: %1
Y: %2</source>
<extracomment>X and Y position</extracomment>
<translation type="vanished">X: %1
Y: %2</translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="138"/>
<source>&amp;Close</source>
<translation>S&amp;chließen</translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="164"/>
<source>&amp;Apply</source>
<translation>&amp;Übernehmen</translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="177"/>
<source>&amp;Revert</source>
<translation>&amp;Zurücksetzen</translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="190"/>
<source>&amp;Set</source>
<translation>&amp;Ändern</translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="203"/>
<source>&amp;Done</source>
<translation>&amp;Fertig</translation>
</message>
<message>
<location filename="../MapLocationDialog.cpp" line="89"/>
<source>X: %1
Y: %2</source>
<comment>X and Y position</comment>
<translation>X: %1
Y: %2</translation>
</message>
</context> </context>
<context> <context>
<name>OptionsDialog</name> <name>OptionsDialog</name>
@ -621,38 +673,55 @@ Wenn du es als Avatar verwenden möchtest wird es abgetrennt!</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="387"/> <location filename="../OptionsDialog.ui" line="387"/>
<location filename="../OptionsDialog.ui" line="393"/>
<source>Language</source> <source>Language</source>
<translation>Sprache</translation> <translation>Sprache</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="419"/> <location filename="../OptionsDialog.ui" line="393"/>
<source>Interface</source>
<translation>Oberfläche</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="402"/>
<location filename="../OptionsDialog.ui" line="421"/>
<location filename="../OptionsDialog.cpp" line="167"/>
<location filename="../OptionsDialog.cpp" line="215"/>
<source>Current: %1</source>
<translation>Aktuell: %1</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="412"/>
<source>Areas</source>
<translation>Standorte</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="445"/>
<source>Sync</source> <source>Sync</source>
<translation>Sync</translation> <translation>Sync</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="425"/> <location filename="../OptionsDialog.ui" line="451"/>
<source>Sync is not implemented at current time</source> <source>Sync is not implemented at current time</source>
<translation>Sync wurde bisher nicht implementiert</translation> <translation>Sync wurde bisher nicht implementiert</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="463"/> <location filename="../OptionsDialog.ui" line="489"/>
<source>Apply changes</source> <source>Apply changes</source>
<translation>Änderungen übernehmen</translation> <translation>Änderungen übernehmen</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="466"/> <location filename="../OptionsDialog.ui" line="492"/>
<source>&amp;OK</source> <source>&amp;OK</source>
<extracomment>OK, Cancel, Apply</extracomment> <extracomment>OK, Cancel, Apply</extracomment>
<translation>&amp;OK</translation> <translation>&amp;OK</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="479"/> <location filename="../OptionsDialog.ui" line="505"/>
<source>Discard changes</source> <source>Discard changes</source>
<translation>Änderungen verwerfen</translation> <translation>Änderungen verwerfen</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="482"/> <location filename="../OptionsDialog.ui" line="508"/>
<source>&amp;Cancel</source> <source>&amp;Cancel</source>
<extracomment>OK, Cancel, Apply</extracomment> <extracomment>OK, Cancel, Apply</extracomment>
<translation>Abbre&amp;chen</translation> <translation>Abbre&amp;chen</translation>
@ -673,7 +742,7 @@ Wenn du es als Avatar verwenden möchtest wird es abgetrennt!</translation>
<translation type="vanished">%1 (%2 wenn verfügbar)</translation> <translation type="vanished">%1 (%2 wenn verfügbar)</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="272"/> <location filename="../OptionsDialog.cpp" line="335"/>
<source>%1</source> <source>%1</source>
<comment>%1</comment> <comment>%1</comment>
<translation>%1</translation> <translation>%1</translation>
@ -687,19 +756,31 @@ Wenn du es als Avatar verwenden möchtest wird es abgetrennt!</translation>
<translation type="vanished">Der eigene Ordner initialisiert sobald du %1 neugestartet hast.</translation> <translation type="vanished">Der eigene Ordner initialisiert sobald du %1 neugestartet hast.</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="130"/> <location filename="../OptionsDialog.cpp" line="131"/>
<source>%1 (Next Closest Language)</source> <source>%1 (Next Closest Language)</source>
<comment>First language a person can talk with a different person/application. &quot;Native&quot; or &quot;Not Native&quot;.</comment> <comment>First language a person can talk with a different person/application. &quot;Native&quot; or &quot;Not Native&quot;.</comment>
<translation>%1 (Erste näheste Sprache)</translation> <translation>%1 (Erste näheste Sprache)</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="130"/> <location filename="../OptionsDialog.cpp" line="131"/>
<source>System</source> <source>System</source>
<comment>System in context of System default</comment> <comment>System in context of System default</comment>
<translation>System</translation> <translation>System</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="272"/> <location filename="../OptionsDialog.cpp" line="133"/>
<source>%1 (Closest to Interface)</source>
<comment>Next closest language compared to the Interface</comment>
<translation>%1 (Näheste zur Oberfläche)</translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="133"/>
<source>Auto</source>
<comment>Automatic language choice.</comment>
<translation>Automatisch</translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="335"/>
<source>The new Custom Folder will initialise after you restart %1.</source> <source>The new Custom Folder will initialise after you restart %1.</source>
<translation>Der eigene Ordner wird initialisiert sobald du %1 neugestartet hast.</translation> <translation>Der eigene Ordner wird initialisiert sobald du %1 neugestartet hast.</translation>
</message> </message>
@ -708,15 +789,15 @@ Wenn du es als Avatar verwenden möchtest wird es abgetrennt!</translation>
<translation type="vanished">Die Änderung der Sprache nimmt Effekt sobald du %1 neugestartet hast.</translation> <translation type="vanished">Die Änderung der Sprache nimmt Effekt sobald du %1 neugestartet hast.</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="282"/> <location filename="../OptionsDialog.cpp" line="345"/>
<source>No Profile</source> <source>No Profile</source>
<comment>No Profile, as default</comment> <comment>No Profile, as default</comment>
<translation>Kein Profil</translation> <translation>Kein Profil</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="290"/> <location filename="../OptionsDialog.cpp" line="353"/>
<location filename="../OptionsDialog.cpp" line="294"/> <location filename="../OptionsDialog.cpp" line="357"/>
<location filename="../OptionsDialog.cpp" line="296"/> <location filename="../OptionsDialog.cpp" line="359"/>
<source>Profile: %1</source> <source>Profile: %1</source>
<translation>Profil: %1</translation> <translation>Profil: %1</translation>
</message> </message>
@ -831,7 +912,7 @@ Wenn du es als Avatar verwenden möchtest wird es abgetrennt!</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="145"/> <location filename="../PictureDialog.cpp" line="145"/>
<location filename="../ProfileInterface.cpp" line="1160"/> <location filename="../ProfileInterface.cpp" line="1162"/>
<source>Export as &amp;Picture...</source> <source>Export as &amp;Picture...</source>
<translation>Als &amp;Bild exportieren...</translation> <translation>Als &amp;Bild exportieren...</translation>
</message> </message>
@ -841,7 +922,7 @@ Wenn du es als Avatar verwenden möchtest wird es abgetrennt!</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="146"/> <location filename="../PictureDialog.cpp" line="146"/>
<location filename="../ProfileInterface.cpp" line="1161"/> <location filename="../ProfileInterface.cpp" line="1163"/>
<source>Export as &amp;Snapmatic...</source> <source>Export as &amp;Snapmatic...</source>
<translation>Als &amp;Snapmatic exportieren...</translation> <translation>Als &amp;Snapmatic exportieren...</translation>
</message> </message>
@ -856,7 +937,7 @@ Wenn du es als Avatar verwenden möchtest wird es abgetrennt!</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="150"/> <location filename="../PictureDialog.cpp" line="150"/>
<location filename="../ProfileInterface.cpp" line="1158"/> <location filename="../ProfileInterface.cpp" line="1160"/>
<source>&amp;Edit Properties...</source> <source>&amp;Edit Properties...</source>
<translation>Eigenschaften bearb&amp;eiten...</translation> <translation>Eigenschaften bearb&amp;eiten...</translation>
</message> </message>
@ -1177,30 +1258,30 @@ Drücke A für Standardansicht</translation>
<translation type="obsolete">Profil schließen</translation> <translation type="obsolete">Profil schließen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="129"/> <location filename="../ProfileInterface.cpp" line="131"/>
<source>Loading...</source> <source>Loading...</source>
<translation>Lade...</translation> <translation>Lade...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="411"/> <location filename="../ProfileInterface.cpp" line="413"/>
<location filename="../ProfileInterface.cpp" line="476"/> <location filename="../ProfileInterface.cpp" line="478"/>
<source>Import...</source> <source>Import...</source>
<translation>Importieren...</translation> <translation>Importieren...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="412"/> <location filename="../ProfileInterface.cpp" line="414"/>
<location filename="../ProfileInterface.cpp" line="455"/> <location filename="../ProfileInterface.cpp" line="457"/>
<location filename="../ProfileInterface.cpp" line="507"/> <location filename="../ProfileInterface.cpp" line="509"/>
<location filename="../ProfileInterface.cpp" line="527"/> <location filename="../ProfileInterface.cpp" line="529"/>
<location filename="../ProfileInterface.cpp" line="543"/> <location filename="../ProfileInterface.cpp" line="545"/>
<location filename="../ProfileInterface.cpp" line="659"/> <location filename="../ProfileInterface.cpp" line="661"/>
<location filename="../ProfileInterface.cpp" line="740"/> <location filename="../ProfileInterface.cpp" line="742"/>
<location filename="../ProfileInterface.cpp" line="745"/> <location filename="../ProfileInterface.cpp" line="747"/>
<location filename="../ProfileInterface.cpp" line="755"/> <location filename="../ProfileInterface.cpp" line="757"/>
<location filename="../ProfileInterface.cpp" line="760"/> <location filename="../ProfileInterface.cpp" line="762"/>
<location filename="../ProfileInterface.cpp" line="771"/> <location filename="../ProfileInterface.cpp" line="773"/>
<location filename="../ProfileInterface.cpp" line="808"/> <location filename="../ProfileInterface.cpp" line="810"/>
<location filename="../ProfileInterface.cpp" line="814"/> <location filename="../ProfileInterface.cpp" line="816"/>
<source>Import</source> <source>Import</source>
<translation>Importieren</translation> <translation>Importieren</translation>
</message> </message>
@ -1213,14 +1294,14 @@ Drücke A für Standardansicht</translation>
<translation type="vanished">Importfähige Dateien (*.g5e *.jpg *.png SGTA* PGTA*)</translation> <translation type="vanished">Importfähige Dateien (*.g5e *.jpg *.png SGTA* PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="429"/> <location filename="../ProfileInterface.cpp" line="431"/>
<location filename="../UserInterface.cpp" line="364"/> <location filename="../UserInterface.cpp" line="376"/>
<source>Savegames files (SGTA*)</source> <source>Savegames files (SGTA*)</source>
<translation>Spielstanddateien (SGTA*)</translation> <translation>Spielstanddateien (SGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="430"/> <location filename="../ProfileInterface.cpp" line="432"/>
<location filename="../UserInterface.cpp" line="365"/> <location filename="../UserInterface.cpp" line="377"/>
<source>Snapmatic pictures (PGTA*)</source> <source>Snapmatic pictures (PGTA*)</source>
<translation>Snapmatic Bilder (PGTA*)</translation> <translation>Snapmatic Bilder (PGTA*)</translation>
</message> </message>
@ -1229,29 +1310,29 @@ Drücke A für Standardansicht</translation>
<translation type="vanished">Alle Bilddateien (*.jpg *.png)</translation> <translation type="vanished">Alle Bilddateien (*.jpg *.png)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="427"/> <location filename="../ProfileInterface.cpp" line="429"/>
<source>Importable files (%1)</source> <source>Importable files (%1)</source>
<translation>Importfähige Dateien (%1)</translation> <translation>Importfähige Dateien (%1)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="431"/> <location filename="../ProfileInterface.cpp" line="433"/>
<source>All image files (%1)</source> <source>All image files (%1)</source>
<translation>Alle Bilddateien (%1)</translation> <translation>Alle Bilddateien (%1)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="432"/> <location filename="../ProfileInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="366"/> <location filename="../UserInterface.cpp" line="378"/>
<source>All files (**)</source> <source>All files (**)</source>
<translation>Alle Dateien (**)</translation> <translation>Alle Dateien (**)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="477"/> <location filename="../ProfileInterface.cpp" line="479"/>
<location filename="../ProfileInterface.cpp" line="492"/> <location filename="../ProfileInterface.cpp" line="494"/>
<source>Import file %1 of %2 files</source> <source>Import file %1 of %2 files</source>
<translation>Importiere Datei %1 von %2 Dateien</translation> <translation>Importiere Datei %1 von %2 Dateien</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="507"/> <location filename="../ProfileInterface.cpp" line="509"/>
<source>Import failed with... <source>Import failed with...
%1</source> %1</source>
@ -1260,29 +1341,29 @@ Drücke A für Standardansicht</translation>
%1</translation> %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="527"/> <location filename="../ProfileInterface.cpp" line="529"/>
<location filename="../UserInterface.cpp" line="406"/> <location filename="../UserInterface.cpp" line="418"/>
<source>Failed to read Snapmatic picture</source> <source>Failed to read Snapmatic picture</source>
<translation>Fehler beim Lesen vom Snapmatic Bild</translation> <translation>Fehler beim Lesen vom Snapmatic Bild</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="543"/> <location filename="../ProfileInterface.cpp" line="545"/>
<location filename="../UserInterface.cpp" line="422"/> <location filename="../UserInterface.cpp" line="434"/>
<source>Failed to read Savegame file</source> <source>Failed to read Savegame file</source>
<translation>Fehler beim Lesen von Spielstanddatei</translation> <translation>Fehler beim Lesen von Spielstanddatei</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="659"/> <location filename="../ProfileInterface.cpp" line="661"/>
<source>Can&apos;t import %1 because file can&apos;t be parsed properly</source> <source>Can&apos;t import %1 because file can&apos;t be parsed properly</source>
<translation>Kann %1 nicht importieren weil die Datei nicht richtig gelesen werden kann</translation> <translation>Kann %1 nicht importieren weil die Datei nicht richtig gelesen werden kann</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="740"/> <location filename="../ProfileInterface.cpp" line="742"/>
<source>Can&apos;t import %1 because file format can&apos;t be detected</source> <source>Can&apos;t import %1 because file format can&apos;t be detected</source>
<translation>Kann %1 nicht importieren weil das Dateiformat nicht erkannt werden kann</translation> <translation>Kann %1 nicht importieren weil das Dateiformat nicht erkannt werden kann</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="962"/> <location filename="../ProfileInterface.cpp" line="964"/>
<source>Initialising export...</source> <source>Initialising export...</source>
<translation>Initialisiere Export...</translation> <translation>Initialisiere Export...</translation>
</message> </message>
@ -1291,24 +1372,24 @@ Drücke A für Standardansicht</translation>
<translation type="vanished">Kann %1 nicht importieren weil das Dateiformat nicht gültig ist</translation> <translation type="vanished">Kann %1 nicht importieren weil das Dateiformat nicht gültig ist</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="755"/> <location filename="../ProfileInterface.cpp" line="757"/>
<source>Failed to import the Snapmatic picture, file not begin with PGTA or end with .g5e</source> <source>Failed to import the Snapmatic picture, file not begin with PGTA or end with .g5e</source>
<translation>Fehlgeschlagen beim Importieren vom Snapmatic Bild, Datei beginnt nicht mit PGTA oder endet mit .g5e</translation> <translation>Fehlgeschlagen beim Importieren vom Snapmatic Bild, Datei beginnt nicht mit PGTA oder endet mit .g5e</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="760"/> <location filename="../ProfileInterface.cpp" line="762"/>
<source>Failed to import the Snapmatic picture, the picture is already in the game</source> <source>Failed to import the Snapmatic picture, the picture is already in the game</source>
<translation>Fehlgeschlagen beim Importieren vom Snapmatic Bild, dieses Bild ist bereits im Spiel</translation> <translation>Fehlgeschlagen beim Importieren vom Snapmatic Bild, dieses Bild ist bereits im Spiel</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="916"/> <location filename="../ProfileInterface.cpp" line="918"/>
<source>%1Export Snapmatic pictures%2&lt;br&gt;&lt;br&gt;JPG pictures make it possible to open the picture with a Image Viewer&lt;br&gt;GTA Snapmatic make it possible to import the picture into the game&lt;br&gt;&lt;br&gt;Export as:</source> <source>%1Export Snapmatic pictures%2&lt;br&gt;&lt;br&gt;JPG pictures make it possible to open the picture with a Image Viewer&lt;br&gt;GTA Snapmatic make it possible to import the picture into the game&lt;br&gt;&lt;br&gt;Export as:</source>
<translation>%1Exportiere Snapmatic Bilder%2&lt;br&gt;&lt;br&gt;JPG Bilder machen es möglich sie mit ein Bildansicht Programm zu öffnen&lt;br&gt;Das GTA Snapmatic Format macht es möglich sie wieder ins Game zu importieren&lt;br&gt;&lt;br&gt;Exportieren als:</translation> <translation>%1Exportiere Snapmatic Bilder%2&lt;br&gt;&lt;br&gt;JPG Bilder machen es möglich sie mit ein Bildansicht Programm zu öffnen&lt;br&gt;Das GTA Snapmatic Format macht es möglich sie wieder ins Game zu importieren&lt;br&gt;&lt;br&gt;Exportieren als:</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="455"/> <location filename="../ProfileInterface.cpp" line="457"/>
<location filename="../ProfileInterface.cpp" line="745"/> <location filename="../ProfileInterface.cpp" line="747"/>
<location filename="../UserInterface.cpp" line="454"/> <location filename="../UserInterface.cpp" line="466"/>
<source>No valid file is selected</source> <source>No valid file is selected</source>
<translation>Keine gültige Datei wurde ausgewählt</translation> <translation>Keine gültige Datei wurde ausgewählt</translation>
</message> </message>
@ -1322,35 +1403,35 @@ Drücke A für Standardansicht</translation>
<translation type="vanished">Fehlgeschlagen beim Importieren vom Snapmatic Bild, Datei beginnt nicht mit PGTA</translation> <translation type="vanished">Fehlgeschlagen beim Importieren vom Snapmatic Bild, Datei beginnt nicht mit PGTA</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="771"/> <location filename="../ProfileInterface.cpp" line="773"/>
<source>Failed to import the Snapmatic picture, can&apos;t copy the file into profile</source> <source>Failed to import the Snapmatic picture, can&apos;t copy the file into profile</source>
<translation>Fehlgeschlagen beim Importieren vom Snapmatic Bild, kann Snapmatic Bild nicht ins Profil kopieren</translation> <translation>Fehlgeschlagen beim Importieren vom Snapmatic Bild, kann Snapmatic Bild nicht ins Profil kopieren</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="808"/> <location filename="../ProfileInterface.cpp" line="810"/>
<source>Failed to import the Savegame, can&apos;t copy the file into profile</source> <source>Failed to import the Savegame, can&apos;t copy the file into profile</source>
<translation>Fehlgeschlagen beim Importieren vom Spielstand, kann Spielstanddatei nicht ins Profil kopieren</translation> <translation>Fehlgeschlagen beim Importieren vom Spielstand, kann Spielstanddatei nicht ins Profil kopieren</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="814"/> <location filename="../ProfileInterface.cpp" line="816"/>
<source>Failed to import the Savegame, no Savegame slot is left</source> <source>Failed to import the Savegame, no Savegame slot is left</source>
<translation>Fehlgeschlagen beim Importieren vom Spielstand, kein Spielstandslot mehr frei</translation> <translation>Fehlgeschlagen beim Importieren vom Spielstand, kein Spielstandslot mehr frei</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="901"/> <location filename="../ProfileInterface.cpp" line="903"/>
<location filename="../ProfileInterface.cpp" line="919"/> <location filename="../ProfileInterface.cpp" line="921"/>
<source>JPG pictures and GTA Snapmatic</source> <source>JPG pictures and GTA Snapmatic</source>
<translation>JPG Bilder und GTA Snapmatic</translation> <translation>JPG Bilder und GTA Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="902"/> <location filename="../ProfileInterface.cpp" line="904"/>
<location filename="../ProfileInterface.cpp" line="924"/> <location filename="../ProfileInterface.cpp" line="926"/>
<source>JPG pictures only</source> <source>JPG pictures only</source>
<translation>Nur JPG Bilder</translation> <translation>Nur JPG Bilder</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="903"/> <location filename="../ProfileInterface.cpp" line="905"/>
<location filename="../ProfileInterface.cpp" line="928"/> <location filename="../ProfileInterface.cpp" line="930"/>
<source>GTA Snapmatic only</source> <source>GTA Snapmatic only</source>
<translation>Nur GTA Snapmatic</translation> <translation>Nur GTA Snapmatic</translation>
</message> </message>
@ -1369,25 +1450,25 @@ Das GTA Snapmatic Format macht es möglich sie wieder ins Game zu importieren
Exportieren als:</translation> Exportieren als:</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1015"/> <location filename="../ProfileInterface.cpp" line="1017"/>
<location filename="../ProfileInterface.cpp" line="1057"/> <location filename="../ProfileInterface.cpp" line="1059"/>
<source>No Snapmatic pictures or Savegames files are selected</source> <source>No Snapmatic pictures or Savegames files are selected</source>
<translation>Keine Snapmatic Bilder oder Spielstände ausgewählt</translation> <translation>Keine Snapmatic Bilder oder Spielstände ausgewählt</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1023"/> <location filename="../ProfileInterface.cpp" line="1025"/>
<location filename="../ProfileInterface.cpp" line="1051"/> <location filename="../ProfileInterface.cpp" line="1053"/>
<location filename="../ProfileInterface.cpp" line="1057"/> <location filename="../ProfileInterface.cpp" line="1059"/>
<source>Remove selected</source> <source>Remove selected</source>
<translation>Auswahl löschen</translation> <translation>Auswahl löschen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1023"/> <location filename="../ProfileInterface.cpp" line="1025"/>
<source>You really want remove the selected Snapmatic picutres and Savegame files?</source> <source>You really want remove the selected Snapmatic picutres and Savegame files?</source>
<translation>Möchtest du wirklich die ausgewählten Snapmatic Bilder und Spielstanddateien löschen?</translation> <translation>Möchtest du wirklich die ausgewählten Snapmatic Bilder und Spielstanddateien löschen?</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1051"/> <location filename="../ProfileInterface.cpp" line="1053"/>
<source>Failed at remove the complete selected Snapmatic pictures and/or Savegame files</source> <source>Failed at remove the complete selected Snapmatic pictures and/or Savegame files</source>
<translation>Fehlgeschlagen beim kompletten entfernen der ausgewählten Snapmatic Bilder und/oder der Spielstanddateien</translation> <translation>Fehlgeschlagen beim kompletten entfernen der ausgewählten Snapmatic Bilder und/oder der Spielstanddateien</translation>
</message> </message>
@ -1408,10 +1489,10 @@ Exportieren als:</translation>
<translation type="obsolete">Fehlgeschlagenen beim Import vom Spielstand weil kein Spielstandslot mehr übrig ist</translation> <translation type="obsolete">Fehlgeschlagenen beim Import vom Spielstand weil kein Spielstandslot mehr übrig ist</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="878"/> <location filename="../ProfileInterface.cpp" line="880"/>
<location filename="../ProfileInterface.cpp" line="916"/> <location filename="../ProfileInterface.cpp" line="918"/>
<location filename="../ProfileInterface.cpp" line="995"/> <location filename="../ProfileInterface.cpp" line="997"/>
<location filename="../ProfileInterface.cpp" line="1015"/> <location filename="../ProfileInterface.cpp" line="1017"/>
<source>Export selected</source> <source>Export selected</source>
<translation>Auswahl exportieren</translation> <translation>Auswahl exportieren</translation>
</message> </message>
@ -1432,7 +1513,7 @@ Exportieren als:</translation>
<translation type="obsolete">Wie sollen wir mit den Snapmatic Bilder umgehen?</translation> <translation type="obsolete">Wie sollen wir mit den Snapmatic Bilder umgehen?</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="961"/> <location filename="../ProfileInterface.cpp" line="963"/>
<source>Export selected...</source> <source>Export selected...</source>
<translation>Auswahl exportieren...</translation> <translation>Auswahl exportieren...</translation>
</message> </message>
@ -1445,7 +1526,7 @@ Exportieren als:</translation>
<translation type="obsolete">Initialisierung...</translation> <translation type="obsolete">Initialisierung...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="995"/> <location filename="../ProfileInterface.cpp" line="997"/>
<source>Export failed with... <source>Export failed with...
%1</source> %1</source>
@ -1475,13 +1556,13 @@ Exportieren als:</translation>
<translation>Exportiere Datei %1 von %2 Dateien</translation> <translation>Exportiere Datei %1 von %2 Dateien</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="362"/> <location filename="../UserInterface.cpp" line="374"/>
<source>All profile files (*.g5e SGTA* PGTA*)</source> <source>All profile files (*.g5e SGTA* PGTA*)</source>
<translation>Alle Profildateien (*.g5e SGTA* PGTA*)</translation> <translation>Alle Profildateien (*.g5e SGTA* PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="428"/> <location filename="../ProfileInterface.cpp" line="430"/>
<location filename="../UserInterface.cpp" line="363"/> <location filename="../UserInterface.cpp" line="375"/>
<source>GTA V Export (*.g5e)</source> <source>GTA V Export (*.g5e)</source>
<translation>GTA V Export (*.g5e)</translation> <translation>GTA V Export (*.g5e)</translation>
</message> </message>
@ -1644,32 +1725,32 @@ Exportieren als:</translation>
<translation>Fehlgeschlagen beim Löschen %1 von deinen Spielständen</translation> <translation>Fehlgeschlagen beim Löschen %1 von deinen Spielständen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1196"/> <location filename="../ProfileInterface.cpp" line="1198"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation>A&amp;nsehen</translation> <translation>A&amp;nsehen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1198"/> <location filename="../ProfileInterface.cpp" line="1200"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation>Entfe&amp;rnen</translation> <translation>Entfe&amp;rnen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1200"/> <location filename="../ProfileInterface.cpp" line="1202"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation>Au&amp;swählen</translation> <translation>Au&amp;swählen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1201"/> <location filename="../ProfileInterface.cpp" line="1203"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation>A&amp;bwählen</translation> <translation>A&amp;bwählen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1204"/> <location filename="../ProfileInterface.cpp" line="1206"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation>&amp;Alles auswählen</translation> <translation>&amp;Alles auswählen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1208"/> <location filename="../ProfileInterface.cpp" line="1210"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation>Alles a&amp;bwählen</translation> <translation>Alles a&amp;bwählen</translation>
</message> </message>
@ -1708,7 +1789,7 @@ Exportieren als:</translation>
<translation>Spielstand kopieren</translation> <translation>Spielstand kopieren</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1197"/> <location filename="../ProfileInterface.cpp" line="1199"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation>&amp;Exportieren</translation> <translation>&amp;Exportieren</translation>
</message> </message>
@ -1784,6 +1865,7 @@ Exportieren als:</translation>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="14"/> <location filename="../SnapmaticEditor.ui" line="14"/>
<location filename="../SnapmaticEditor.ui" line="81"/> <location filename="../SnapmaticEditor.ui" line="81"/>
<location filename="../PictureDialog.cpp" line="727"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../SnapmaticEditor.cpp" line="241"/>
<source>Snapmatic Properties</source> <source>Snapmatic Properties</source>
<translation>Snapmatic Eigenschaften</translation> <translation>Snapmatic Eigenschaften</translation>
@ -1908,6 +1990,7 @@ Exportieren als:</translation>
<translation>Nein</translation> <translation>Nein</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="727"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../SnapmaticEditor.cpp" line="241"/>
<source>Patching of Snapmatic Properties failed because of I/O Error</source> <source>Patching of Snapmatic Properties failed because of I/O Error</source>
<translation>Patchen von Snapmatic Eigenschaften fehlgeschlagen wegen I/O Fehler</translation> <translation>Patchen von Snapmatic Eigenschaften fehlgeschlagen wegen I/O Fehler</translation>
@ -1981,7 +2064,7 @@ Exportieren als:</translation>
<translation>Bist du sicher %1 von deine Snapmatic Bilder zu löschen?</translation> <translation>Bist du sicher %1 von deine Snapmatic Bilder zu löschen?</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1149"/> <location filename="../ProfileInterface.cpp" line="1151"/>
<source>Edi&amp;t</source> <source>Edi&amp;t</source>
<translation>Bearbei&amp;ten</translation> <translation>Bearbei&amp;ten</translation>
</message> </message>
@ -1994,7 +2077,7 @@ Exportieren als:</translation>
<translation type="vanished">&amp;Im Spiel deaktivieren</translation> <translation type="vanished">&amp;Im Spiel deaktivieren</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1159"/> <location filename="../ProfileInterface.cpp" line="1161"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation>&amp;Exportieren</translation> <translation>&amp;Exportieren</translation>
</message> </message>
@ -2007,12 +2090,12 @@ Exportieren als:</translation>
<translation type="obsolete">Exportiere als &amp;GTA Snapmatic</translation> <translation type="obsolete">Exportiere als &amp;GTA Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1152"/> <location filename="../ProfileInterface.cpp" line="1154"/>
<source>Show &amp;In-game</source> <source>Show &amp;In-game</source>
<translation>&amp;Im Spiel anzeigen</translation> <translation>&amp;Im Spiel anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1156"/> <location filename="../ProfileInterface.cpp" line="1158"/>
<source>Hide &amp;In-game</source> <source>Hide &amp;In-game</source>
<translation>&amp;Im Spiel ausblenden</translation> <translation>&amp;Im Spiel ausblenden</translation>
</message> </message>
@ -2045,32 +2128,32 @@ Exportieren als:</translation>
<translation type="vanished">Exportiere als &amp;Snapmatic...</translation> <translation type="vanished">Exportiere als &amp;Snapmatic...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1162"/> <location filename="../ProfileInterface.cpp" line="1164"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation>A&amp;nsehen</translation> <translation>A&amp;nsehen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1165"/> <location filename="../ProfileInterface.cpp" line="1167"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation>Entfe&amp;rnen</translation> <translation>Entfe&amp;rnen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1167"/> <location filename="../ProfileInterface.cpp" line="1169"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation>Au&amp;swählen</translation> <translation>Au&amp;swählen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1168"/> <location filename="../ProfileInterface.cpp" line="1170"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation>A&amp;bwählen</translation> <translation>A&amp;bwählen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1171"/> <location filename="../ProfileInterface.cpp" line="1173"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation>Alles &amp;auswählen</translation> <translation>Alles &amp;auswählen</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1175"/> <location filename="../ProfileInterface.cpp" line="1177"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation>Alles a&amp;bwählen</translation> <translation>Alles a&amp;bwählen</translation>
</message> </message>
@ -2409,16 +2492,16 @@ Exportieren als:</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="63"/> <location filename="../UserInterface.cpp" line="63"/>
<location filename="../UserInterface.cpp" line="233"/> <location filename="../UserInterface.cpp" line="228"/>
<location filename="../UserInterface.cpp" line="548"/> <location filename="../UserInterface.cpp" line="560"/>
<source>Select Profile</source> <source>Select Profile</source>
<translation>Profil auswählen</translation> <translation>Profil auswählen</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.ui" line="312"/> <location filename="../UserInterface.ui" line="312"/>
<location filename="../OptionsDialog.cpp" line="428"/> <location filename="../OptionsDialog.cpp" line="491"/>
<location filename="../UserInterface.cpp" line="103"/> <location filename="../UserInterface.cpp" line="103"/>
<location filename="../UserInterface.cpp" line="511"/> <location filename="../UserInterface.cpp" line="523"/>
<source>Select GTA V Folder...</source> <source>Select GTA V Folder...</source>
<translation>Wähle GTA V Ordner...</translation> <translation>Wähle GTA V Ordner...</translation>
</message> </message>
@ -2427,7 +2510,7 @@ Exportieren als:</translation>
<translation type="vanished">Wähle GTA V &amp;Ordner...</translation> <translation type="vanished">Wähle GTA V &amp;Ordner...</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="359"/> <location filename="../UserInterface.cpp" line="371"/>
<source>Open File...</source> <source>Open File...</source>
<translation>Datei öffnen...</translation> <translation>Datei öffnen...</translation>
</message> </message>
@ -2444,20 +2527,20 @@ Exportieren als:</translation>
<message> <message>
<location filename="../UserInterface.ui" line="226"/> <location filename="../UserInterface.ui" line="226"/>
<location filename="../UserInterface.cpp" line="59"/> <location filename="../UserInterface.cpp" line="59"/>
<location filename="../UserInterface.cpp" line="540"/> <location filename="../UserInterface.cpp" line="552"/>
<source>&amp;About %1</source> <source>&amp;About %1</source>
<translation>&amp;Über %1</translation> <translation>&amp;Über %1</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="406"/> <location filename="../UserInterface.cpp" line="418"/>
<location filename="../UserInterface.cpp" line="422"/> <location filename="../UserInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="449"/> <location filename="../UserInterface.cpp" line="461"/>
<location filename="../UserInterface.cpp" line="454"/> <location filename="../UserInterface.cpp" line="466"/>
<source>Open File</source> <source>Open File</source>
<translation>Datei öffnen</translation> <translation>Datei öffnen</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="449"/> <location filename="../UserInterface.cpp" line="461"/>
<source>Can&apos;t open %1 because of not valid file format</source> <source>Can&apos;t open %1 because of not valid file format</source>
<translation>Kann nicht %1 öffnen weil Dateiformat nicht gültig ist</translation> <translation>Kann nicht %1 öffnen weil Dateiformat nicht gültig ist</translation>
</message> </message>

View File

@ -196,7 +196,7 @@ Pictures and Savegames</source>
<message> <message>
<location filename="../ImportDialog.ui" line="98"/> <location filename="../ImportDialog.ui" line="98"/>
<location filename="../ImportDialog.cpp" line="57"/> <location filename="../ImportDialog.cpp" line="57"/>
<location filename="../ImportDialog.cpp" line="216"/> <location filename="../ImportDialog.cpp" line="242"/>
<source>Background Colour: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</source> <source>Background Colour: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</source>
<translation>Background Color: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</translation> <translation>Background Color: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</translation>
</message> </message>
@ -236,28 +236,72 @@ Pictures and Savegames</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="173"/> <location filename="../ImportDialog.cpp" line="105"/>
<source>Custom Avatar</source>
<comment>Custom Avatar Description in SC, don&apos;t use Special Character!</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ImportDialog.cpp" line="131"/>
<source>Custom Picture</source>
<comment>Custom Picture Description in SC, don&apos;t use Special Character!</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ImportDialog.cpp" line="199"/>
<source>Snapmatic Avatar Zone</source> <source>Snapmatic Avatar Zone</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="173"/> <location filename="../ImportDialog.cpp" line="199"/>
<source>Are you sure to use a square image outside of the Avatar Zone? <source>Are you sure to use a square image outside of the Avatar Zone?
When you want to use it as Avatar the image will be detached!</source> When you want to use it as Avatar the image will be detached!</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="212"/> <location filename="../ImportDialog.cpp" line="238"/>
<source>Select Colour...</source> <source>Select Colour...</source>
<translation>Select Color...</translation> <translation>Select Color...</translation>
</message> </message>
</context> </context>
<context> <context>
<name>MapPreviewDialog</name> <name>MapLocationDialog</name>
<message> <message>
<location filename="../MapPreviewDialog.ui" line="26"/> <location filename="../MapLocationDialog.ui" line="26"/>
<source>Snapmatic Map Viewer</source> <source>Snapmatic Map Viewer</source>
<translation></translation> <translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="138"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="164"/>
<source>&amp;Apply</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="177"/>
<source>&amp;Revert</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="190"/>
<source>&amp;Set</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="203"/>
<source>&amp;Done</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.cpp" line="89"/>
<source>X: %1
Y: %2</source>
<comment>X and Y position</comment>
<translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
@ -395,75 +439,104 @@ When you want to use it as Avatar the image will be detached!</source>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="387"/> <location filename="../OptionsDialog.ui" line="387"/>
<location filename="../OptionsDialog.ui" line="393"/>
<source>Language</source> <source>Language</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="419"/> <location filename="../OptionsDialog.ui" line="393"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="402"/>
<location filename="../OptionsDialog.ui" line="421"/>
<location filename="../OptionsDialog.cpp" line="167"/>
<location filename="../OptionsDialog.cpp" line="215"/>
<source>Current: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="412"/>
<source>Areas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="445"/>
<source>Sync</source> <source>Sync</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="425"/> <location filename="../OptionsDialog.ui" line="451"/>
<source>Sync is not implemented at current time</source> <source>Sync is not implemented at current time</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="463"/> <location filename="../OptionsDialog.ui" line="489"/>
<source>Apply changes</source> <source>Apply changes</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="466"/> <location filename="../OptionsDialog.ui" line="492"/>
<source>&amp;OK</source> <source>&amp;OK</source>
<extracomment>OK, Cancel, Apply</extracomment> <extracomment>OK, Cancel, Apply</extracomment>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="479"/> <location filename="../OptionsDialog.ui" line="505"/>
<source>Discard changes</source> <source>Discard changes</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="482"/> <location filename="../OptionsDialog.ui" line="508"/>
<source>&amp;Cancel</source> <source>&amp;Cancel</source>
<extracomment>OK, Cancel, Apply</extracomment> <extracomment>OK, Cancel, Apply</extracomment>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="130"/> <location filename="../OptionsDialog.cpp" line="131"/>
<source>%1 (Next Closest Language)</source> <source>%1 (Next Closest Language)</source>
<comment>First language a person can talk with a different person/application. &quot;Native&quot; or &quot;Not Native&quot;.</comment> <comment>First language a person can talk with a different person/application. &quot;Native&quot; or &quot;Not Native&quot;.</comment>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="130"/> <location filename="../OptionsDialog.cpp" line="131"/>
<source>System</source> <source>System</source>
<comment>System in context of System default</comment> <comment>System in context of System default</comment>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="272"/> <location filename="../OptionsDialog.cpp" line="133"/>
<source>%1 (Closest to Interface)</source>
<comment>Next closest language compared to the Interface</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="133"/>
<source>Auto</source>
<comment>Automatic language choice.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="335"/>
<source>%1</source> <source>%1</source>
<comment>%1</comment> <comment>%1</comment>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="272"/> <location filename="../OptionsDialog.cpp" line="335"/>
<source>The new Custom Folder will initialise after you restart %1.</source> <source>The new Custom Folder will initialise after you restart %1.</source>
<translation>The new Custom Folder will initialize after you restart %1.</translation> <translation>The new Custom Folder will initialize after you restart %1.</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="282"/> <location filename="../OptionsDialog.cpp" line="345"/>
<source>No Profile</source> <source>No Profile</source>
<comment>No Profile, as default</comment> <comment>No Profile, as default</comment>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="290"/> <location filename="../OptionsDialog.cpp" line="353"/>
<location filename="../OptionsDialog.cpp" line="294"/> <location filename="../OptionsDialog.cpp" line="357"/>
<location filename="../OptionsDialog.cpp" line="296"/> <location filename="../OptionsDialog.cpp" line="359"/>
<source>Profile: %1</source> <source>Profile: %1</source>
<translation></translation> <translation></translation>
</message> </message>
@ -505,13 +578,13 @@ When you want to use it as Avatar the image will be detached!</source>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="145"/> <location filename="../PictureDialog.cpp" line="145"/>
<location filename="../ProfileInterface.cpp" line="1160"/> <location filename="../ProfileInterface.cpp" line="1162"/>
<source>Export as &amp;Picture...</source> <source>Export as &amp;Picture...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="146"/> <location filename="../PictureDialog.cpp" line="146"/>
<location filename="../ProfileInterface.cpp" line="1161"/> <location filename="../ProfileInterface.cpp" line="1163"/>
<source>Export as &amp;Snapmatic...</source> <source>Export as &amp;Snapmatic...</source>
<translation></translation> <translation></translation>
</message> </message>
@ -522,7 +595,7 @@ When you want to use it as Avatar the image will be detached!</source>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="150"/> <location filename="../PictureDialog.cpp" line="150"/>
<location filename="../ProfileInterface.cpp" line="1158"/> <location filename="../ProfileInterface.cpp" line="1160"/>
<source>&amp;Edit Properties...</source> <source>&amp;Edit Properties...</source>
<translation></translation> <translation></translation>
</message> </message>
@ -722,207 +795,207 @@ Press 1 for Default View</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="129"/> <location filename="../ProfileInterface.cpp" line="131"/>
<source>Loading...</source> <source>Loading...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="411"/> <location filename="../ProfileInterface.cpp" line="413"/>
<location filename="../ProfileInterface.cpp" line="476"/> <location filename="../ProfileInterface.cpp" line="478"/>
<source>Import...</source> <source>Import...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="412"/> <location filename="../ProfileInterface.cpp" line="414"/>
<location filename="../ProfileInterface.cpp" line="455"/> <location filename="../ProfileInterface.cpp" line="457"/>
<location filename="../ProfileInterface.cpp" line="507"/> <location filename="../ProfileInterface.cpp" line="509"/>
<location filename="../ProfileInterface.cpp" line="527"/> <location filename="../ProfileInterface.cpp" line="529"/>
<location filename="../ProfileInterface.cpp" line="543"/> <location filename="../ProfileInterface.cpp" line="545"/>
<location filename="../ProfileInterface.cpp" line="659"/> <location filename="../ProfileInterface.cpp" line="661"/>
<location filename="../ProfileInterface.cpp" line="740"/> <location filename="../ProfileInterface.cpp" line="742"/>
<location filename="../ProfileInterface.cpp" line="745"/> <location filename="../ProfileInterface.cpp" line="747"/>
<location filename="../ProfileInterface.cpp" line="755"/> <location filename="../ProfileInterface.cpp" line="757"/>
<location filename="../ProfileInterface.cpp" line="760"/> <location filename="../ProfileInterface.cpp" line="762"/>
<location filename="../ProfileInterface.cpp" line="771"/> <location filename="../ProfileInterface.cpp" line="773"/>
<location filename="../ProfileInterface.cpp" line="808"/> <location filename="../ProfileInterface.cpp" line="810"/>
<location filename="../ProfileInterface.cpp" line="814"/> <location filename="../ProfileInterface.cpp" line="816"/>
<source>Import</source> <source>Import</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="427"/> <location filename="../ProfileInterface.cpp" line="429"/>
<source>Importable files (%1)</source> <source>Importable files (%1)</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="428"/> <location filename="../ProfileInterface.cpp" line="430"/>
<location filename="../UserInterface.cpp" line="363"/> <location filename="../UserInterface.cpp" line="375"/>
<source>GTA V Export (*.g5e)</source> <source>GTA V Export (*.g5e)</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="429"/> <location filename="../ProfileInterface.cpp" line="431"/>
<location filename="../UserInterface.cpp" line="364"/> <location filename="../UserInterface.cpp" line="376"/>
<source>Savegames files (SGTA*)</source> <source>Savegames files (SGTA*)</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="430"/> <location filename="../ProfileInterface.cpp" line="432"/>
<location filename="../UserInterface.cpp" line="365"/> <location filename="../UserInterface.cpp" line="377"/>
<source>Snapmatic pictures (PGTA*)</source> <source>Snapmatic pictures (PGTA*)</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="431"/> <location filename="../ProfileInterface.cpp" line="433"/>
<source>All image files (%1)</source> <source>All image files (%1)</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="432"/> <location filename="../ProfileInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="366"/> <location filename="../UserInterface.cpp" line="378"/>
<source>All files (**)</source> <source>All files (**)</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="455"/> <location filename="../ProfileInterface.cpp" line="457"/>
<location filename="../ProfileInterface.cpp" line="745"/> <location filename="../ProfileInterface.cpp" line="747"/>
<location filename="../UserInterface.cpp" line="454"/> <location filename="../UserInterface.cpp" line="466"/>
<source>No valid file is selected</source> <source>No valid file is selected</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="477"/> <location filename="../ProfileInterface.cpp" line="479"/>
<location filename="../ProfileInterface.cpp" line="492"/> <location filename="../ProfileInterface.cpp" line="494"/>
<source>Import file %1 of %2 files</source> <source>Import file %1 of %2 files</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="507"/> <location filename="../ProfileInterface.cpp" line="509"/>
<source>Import failed with... <source>Import failed with...
%1</source> %1</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="527"/> <location filename="../ProfileInterface.cpp" line="529"/>
<location filename="../UserInterface.cpp" line="406"/> <location filename="../UserInterface.cpp" line="418"/>
<source>Failed to read Snapmatic picture</source> <source>Failed to read Snapmatic picture</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="543"/> <location filename="../ProfileInterface.cpp" line="545"/>
<location filename="../UserInterface.cpp" line="422"/> <location filename="../UserInterface.cpp" line="434"/>
<source>Failed to read Savegame file</source> <source>Failed to read Savegame file</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="659"/> <location filename="../ProfileInterface.cpp" line="661"/>
<source>Can&apos;t import %1 because file can&apos;t be parsed properly</source> <source>Can&apos;t import %1 because file can&apos;t be parsed properly</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="740"/> <location filename="../ProfileInterface.cpp" line="742"/>
<source>Can&apos;t import %1 because file format can&apos;t be detected</source> <source>Can&apos;t import %1 because file format can&apos;t be detected</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="755"/> <location filename="../ProfileInterface.cpp" line="757"/>
<source>Failed to import the Snapmatic picture, file not begin with PGTA or end with .g5e</source> <source>Failed to import the Snapmatic picture, file not begin with PGTA or end with .g5e</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="760"/> <location filename="../ProfileInterface.cpp" line="762"/>
<source>Failed to import the Snapmatic picture, the picture is already in the game</source> <source>Failed to import the Snapmatic picture, the picture is already in the game</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="771"/> <location filename="../ProfileInterface.cpp" line="773"/>
<source>Failed to import the Snapmatic picture, can&apos;t copy the file into profile</source> <source>Failed to import the Snapmatic picture, can&apos;t copy the file into profile</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="808"/> <location filename="../ProfileInterface.cpp" line="810"/>
<source>Failed to import the Savegame, can&apos;t copy the file into profile</source> <source>Failed to import the Savegame, can&apos;t copy the file into profile</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="814"/> <location filename="../ProfileInterface.cpp" line="816"/>
<source>Failed to import the Savegame, no Savegame slot is left</source> <source>Failed to import the Savegame, no Savegame slot is left</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="878"/> <location filename="../ProfileInterface.cpp" line="880"/>
<location filename="../ProfileInterface.cpp" line="916"/> <location filename="../ProfileInterface.cpp" line="918"/>
<location filename="../ProfileInterface.cpp" line="995"/> <location filename="../ProfileInterface.cpp" line="997"/>
<location filename="../ProfileInterface.cpp" line="1015"/> <location filename="../ProfileInterface.cpp" line="1017"/>
<source>Export selected</source> <source>Export selected</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="901"/> <location filename="../ProfileInterface.cpp" line="903"/>
<location filename="../ProfileInterface.cpp" line="919"/> <location filename="../ProfileInterface.cpp" line="921"/>
<source>JPG pictures and GTA Snapmatic</source> <source>JPG pictures and GTA Snapmatic</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="902"/> <location filename="../ProfileInterface.cpp" line="904"/>
<location filename="../ProfileInterface.cpp" line="924"/> <location filename="../ProfileInterface.cpp" line="926"/>
<source>JPG pictures only</source> <source>JPG pictures only</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="903"/> <location filename="../ProfileInterface.cpp" line="905"/>
<location filename="../ProfileInterface.cpp" line="928"/> <location filename="../ProfileInterface.cpp" line="930"/>
<source>GTA Snapmatic only</source> <source>GTA Snapmatic only</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="916"/> <location filename="../ProfileInterface.cpp" line="918"/>
<source>%1Export Snapmatic pictures%2&lt;br&gt;&lt;br&gt;JPG pictures make it possible to open the picture with a Image Viewer&lt;br&gt;GTA Snapmatic make it possible to import the picture into the game&lt;br&gt;&lt;br&gt;Export as:</source> <source>%1Export Snapmatic pictures%2&lt;br&gt;&lt;br&gt;JPG pictures make it possible to open the picture with a Image Viewer&lt;br&gt;GTA Snapmatic make it possible to import the picture into the game&lt;br&gt;&lt;br&gt;Export as:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="961"/> <location filename="../ProfileInterface.cpp" line="963"/>
<source>Export selected...</source> <source>Export selected...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="962"/> <location filename="../ProfileInterface.cpp" line="964"/>
<source>Initialising export...</source> <source>Initialising export...</source>
<translation>Initializing export...</translation> <translation>Initializing export...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="995"/> <location filename="../ProfileInterface.cpp" line="997"/>
<source>Export failed with... <source>Export failed with...
%1</source> %1</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1015"/> <location filename="../ProfileInterface.cpp" line="1017"/>
<location filename="../ProfileInterface.cpp" line="1057"/> <location filename="../ProfileInterface.cpp" line="1059"/>
<source>No Snapmatic pictures or Savegames files are selected</source> <source>No Snapmatic pictures or Savegames files are selected</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1023"/> <location filename="../ProfileInterface.cpp" line="1025"/>
<location filename="../ProfileInterface.cpp" line="1051"/> <location filename="../ProfileInterface.cpp" line="1053"/>
<location filename="../ProfileInterface.cpp" line="1057"/> <location filename="../ProfileInterface.cpp" line="1059"/>
<source>Remove selected</source> <source>Remove selected</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1023"/> <location filename="../ProfileInterface.cpp" line="1025"/>
<source>You really want remove the selected Snapmatic picutres and Savegame files?</source> <source>You really want remove the selected Snapmatic picutres and Savegame files?</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1051"/> <location filename="../ProfileInterface.cpp" line="1053"/>
<source>Failed at remove the complete selected Snapmatic pictures and/or Savegame files</source> <source>Failed at remove the complete selected Snapmatic pictures and/or Savegame files</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="362"/> <location filename="../UserInterface.cpp" line="374"/>
<source>All profile files (*.g5e SGTA* PGTA*)</source> <source>All profile files (*.g5e SGTA* PGTA*)</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1013,37 +1086,37 @@ Press 1 for Default View</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1196"/> <location filename="../ProfileInterface.cpp" line="1198"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1197"/> <location filename="../ProfileInterface.cpp" line="1199"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1198"/> <location filename="../ProfileInterface.cpp" line="1200"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1200"/> <location filename="../ProfileInterface.cpp" line="1202"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1201"/> <location filename="../ProfileInterface.cpp" line="1203"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1204"/> <location filename="../ProfileInterface.cpp" line="1206"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1208"/> <location filename="../ProfileInterface.cpp" line="1210"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1137,6 +1210,7 @@ Press 1 for Default View</source>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="14"/> <location filename="../SnapmaticEditor.ui" line="14"/>
<location filename="../SnapmaticEditor.ui" line="81"/> <location filename="../SnapmaticEditor.ui" line="81"/>
<location filename="../PictureDialog.cpp" line="727"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../SnapmaticEditor.cpp" line="241"/>
<source>Snapmatic Properties</source> <source>Snapmatic Properties</source>
<translation></translation> <translation></translation>
@ -1244,6 +1318,7 @@ Press 1 for Default View</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="727"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../SnapmaticEditor.cpp" line="241"/>
<source>Patching of Snapmatic Properties failed because of I/O Error</source> <source>Patching of Snapmatic Properties failed because of I/O Error</source>
<translation></translation> <translation></translation>
@ -1332,52 +1407,52 @@ Press 1 for Default View</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1149"/> <location filename="../ProfileInterface.cpp" line="1151"/>
<source>Edi&amp;t</source> <source>Edi&amp;t</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1152"/> <location filename="../ProfileInterface.cpp" line="1154"/>
<source>Show &amp;In-game</source> <source>Show &amp;In-game</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1156"/> <location filename="../ProfileInterface.cpp" line="1158"/>
<source>Hide &amp;In-game</source> <source>Hide &amp;In-game</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1159"/> <location filename="../ProfileInterface.cpp" line="1161"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1162"/> <location filename="../ProfileInterface.cpp" line="1164"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1165"/> <location filename="../ProfileInterface.cpp" line="1167"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1167"/> <location filename="../ProfileInterface.cpp" line="1169"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1168"/> <location filename="../ProfileInterface.cpp" line="1170"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1171"/> <location filename="../ProfileInterface.cpp" line="1173"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1175"/> <location filename="../ProfileInterface.cpp" line="1177"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1459,7 +1534,7 @@ Press 1 for Default View</source>
<message> <message>
<location filename="../UserInterface.ui" line="226"/> <location filename="../UserInterface.ui" line="226"/>
<location filename="../UserInterface.cpp" line="59"/> <location filename="../UserInterface.cpp" line="59"/>
<location filename="../UserInterface.cpp" line="540"/> <location filename="../UserInterface.cpp" line="552"/>
<source>&amp;About %1</source> <source>&amp;About %1</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1571,9 +1646,9 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../UserInterface.ui" line="312"/> <location filename="../UserInterface.ui" line="312"/>
<location filename="../OptionsDialog.cpp" line="428"/> <location filename="../OptionsDialog.cpp" line="491"/>
<location filename="../UserInterface.cpp" line="103"/> <location filename="../UserInterface.cpp" line="103"/>
<location filename="../UserInterface.cpp" line="511"/> <location filename="../UserInterface.cpp" line="523"/>
<source>Select GTA V Folder...</source> <source>Select GTA V Folder...</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1604,26 +1679,26 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="63"/> <location filename="../UserInterface.cpp" line="63"/>
<location filename="../UserInterface.cpp" line="233"/> <location filename="../UserInterface.cpp" line="228"/>
<location filename="../UserInterface.cpp" line="548"/> <location filename="../UserInterface.cpp" line="560"/>
<source>Select Profile</source> <source>Select Profile</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="359"/> <location filename="../UserInterface.cpp" line="371"/>
<source>Open File...</source> <source>Open File...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="406"/> <location filename="../UserInterface.cpp" line="418"/>
<location filename="../UserInterface.cpp" line="422"/> <location filename="../UserInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="449"/> <location filename="../UserInterface.cpp" line="461"/>
<location filename="../UserInterface.cpp" line="454"/> <location filename="../UserInterface.cpp" line="466"/>
<source>Open File</source> <source>Open File</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="449"/> <location filename="../UserInterface.cpp" line="461"/>
<source>Can&apos;t open %1 because of not valid file format</source> <source>Can&apos;t open %1 because of not valid file format</source>
<translation></translation> <translation></translation>
</message> </message>

View File

@ -331,7 +331,7 @@ et les fichiers de sauvegarde de Grand Theft Auto V</translation>
<message> <message>
<location filename="../ImportDialog.ui" line="98"/> <location filename="../ImportDialog.ui" line="98"/>
<location filename="../ImportDialog.cpp" line="57"/> <location filename="../ImportDialog.cpp" line="57"/>
<location filename="../ImportDialog.cpp" line="216"/> <location filename="../ImportDialog.cpp" line="242"/>
<source>Background Colour: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</source> <source>Background Colour: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -361,28 +361,79 @@ et les fichiers de sauvegarde de Grand Theft Auto V</translation>
<translation>A&amp;nnuler</translation> <translation>A&amp;nnuler</translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="173"/> <location filename="../ImportDialog.cpp" line="105"/>
<source>Custom Avatar</source>
<comment>Custom Avatar Description in SC, don&apos;t use Special Character!</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ImportDialog.cpp" line="131"/>
<source>Custom Picture</source>
<comment>Custom Picture Description in SC, don&apos;t use Special Character!</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ImportDialog.cpp" line="199"/>
<source>Are you sure to use a square image outside of the Avatar Zone? <source>Are you sure to use a square image outside of the Avatar Zone?
When you want to use it as Avatar the image will be detached!</source> When you want to use it as Avatar the image will be detached!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="173"/> <location filename="../ImportDialog.cpp" line="199"/>
<source>Snapmatic Avatar Zone</source> <source>Snapmatic Avatar Zone</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="212"/> <location filename="../ImportDialog.cpp" line="238"/>
<source>Select Colour...</source> <source>Select Colour...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>MapLocationDialog</name>
<message>
<location filename="../MapLocationDialog.ui" line="26"/>
<source>Snapmatic Map Viewer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="138"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="164"/>
<source>&amp;Apply</source>
<translation type="unfinished">A&amp;ppliquer</translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="177"/>
<source>&amp;Revert</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="190"/>
<source>&amp;Set</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="203"/>
<source>&amp;Done</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.cpp" line="89"/>
<source>X: %1
Y: %2</source>
<comment>X and Y position</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>MapPreviewDialog</name> <name>MapPreviewDialog</name>
<message> <message>
<location filename="../MapPreviewDialog.ui" line="26"/> <source>&amp;Apply</source>
<source>Snapmatic Map Viewer</source> <translation type="obsolete">A&amp;ppliquer</translation>
<translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
@ -520,38 +571,55 @@ When you want to use it as Avatar the image will be detached!</source>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="387"/> <location filename="../OptionsDialog.ui" line="387"/>
<location filename="../OptionsDialog.ui" line="393"/>
<source>Language</source> <source>Language</source>
<translation>Langue</translation> <translation>Langue</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="419"/> <location filename="../OptionsDialog.ui" line="393"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="402"/>
<location filename="../OptionsDialog.ui" line="421"/>
<location filename="../OptionsDialog.cpp" line="167"/>
<location filename="../OptionsDialog.cpp" line="215"/>
<source>Current: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="412"/>
<source>Areas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="445"/>
<source>Sync</source> <source>Sync</source>
<translation>Synchronisation</translation> <translation>Synchronisation</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="425"/> <location filename="../OptionsDialog.ui" line="451"/>
<source>Sync is not implemented at current time</source> <source>Sync is not implemented at current time</source>
<translation>La synchronisation n&apos;est pas encore implémentée</translation> <translation>La synchronisation n&apos;est pas encore implémentée</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="463"/> <location filename="../OptionsDialog.ui" line="489"/>
<source>Apply changes</source> <source>Apply changes</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="466"/> <location filename="../OptionsDialog.ui" line="492"/>
<source>&amp;OK</source> <source>&amp;OK</source>
<extracomment>OK, Cancel, Apply</extracomment> <extracomment>OK, Cancel, Apply</extracomment>
<translation>&amp;OK</translation> <translation>&amp;OK</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="479"/> <location filename="../OptionsDialog.ui" line="505"/>
<source>Discard changes</source> <source>Discard changes</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="482"/> <location filename="../OptionsDialog.ui" line="508"/>
<source>&amp;Cancel</source> <source>&amp;Cancel</source>
<extracomment>OK, Cancel, Apply</extracomment> <extracomment>OK, Cancel, Apply</extracomment>
<translation>&amp;Annuler</translation> <translation>&amp;Annuler</translation>
@ -567,25 +635,37 @@ When you want to use it as Avatar the image will be detached!</source>
<translation type="vanished">Système</translation> <translation type="vanished">Système</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="130"/> <location filename="../OptionsDialog.cpp" line="131"/>
<source>%1 (Next Closest Language)</source> <source>%1 (Next Closest Language)</source>
<comment>First language a person can talk with a different person/application. &quot;Native&quot; or &quot;Not Native&quot;.</comment> <comment>First language a person can talk with a different person/application. &quot;Native&quot; or &quot;Not Native&quot;.</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="130"/> <location filename="../OptionsDialog.cpp" line="131"/>
<source>System</source> <source>System</source>
<comment>System in context of System default</comment> <comment>System in context of System default</comment>
<translation>Système</translation> <translation>Système</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="272"/> <location filename="../OptionsDialog.cpp" line="133"/>
<source>%1 (Closest to Interface)</source>
<comment>Next closest language compared to the Interface</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="133"/>
<source>Auto</source>
<comment>Automatic language choice.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="335"/>
<source>%1</source> <source>%1</source>
<comment>%1</comment> <comment>%1</comment>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="272"/> <location filename="../OptionsDialog.cpp" line="335"/>
<source>The new Custom Folder will initialise after you restart %1.</source> <source>The new Custom Folder will initialise after you restart %1.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -598,15 +678,15 @@ When you want to use it as Avatar the image will be detached!</source>
<translation type="vanished">Le changement de langue sera actif au prochain lancement de %1.</translation> <translation type="vanished">Le changement de langue sera actif au prochain lancement de %1.</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="282"/> <location filename="../OptionsDialog.cpp" line="345"/>
<source>No Profile</source> <source>No Profile</source>
<comment>No Profile, as default</comment> <comment>No Profile, as default</comment>
<translation>Aucun profil</translation> <translation>Aucun profil</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="290"/> <location filename="../OptionsDialog.cpp" line="353"/>
<location filename="../OptionsDialog.cpp" line="294"/> <location filename="../OptionsDialog.cpp" line="357"/>
<location filename="../OptionsDialog.cpp" line="296"/> <location filename="../OptionsDialog.cpp" line="359"/>
<source>Profile: %1</source> <source>Profile: %1</source>
<translation>Profil : %1</translation> <translation>Profil : %1</translation>
</message> </message>
@ -773,7 +853,7 @@ When you want to use it as Avatar the image will be detached!</source>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="145"/> <location filename="../PictureDialog.cpp" line="145"/>
<location filename="../ProfileInterface.cpp" line="1160"/> <location filename="../ProfileInterface.cpp" line="1162"/>
<source>Export as &amp;Picture...</source> <source>Export as &amp;Picture...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -783,7 +863,7 @@ When you want to use it as Avatar the image will be detached!</source>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="146"/> <location filename="../PictureDialog.cpp" line="146"/>
<location filename="../ProfileInterface.cpp" line="1161"/> <location filename="../ProfileInterface.cpp" line="1163"/>
<source>Export as &amp;Snapmatic...</source> <source>Export as &amp;Snapmatic...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -798,7 +878,7 @@ When you want to use it as Avatar the image will be detached!</source>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="150"/> <location filename="../PictureDialog.cpp" line="150"/>
<location filename="../ProfileInterface.cpp" line="1158"/> <location filename="../ProfileInterface.cpp" line="1160"/>
<source>&amp;Edit Properties...</source> <source>&amp;Edit Properties...</source>
<translation>Modifier les &amp;propriétés...</translation> <translation>Modifier les &amp;propriétés...</translation>
</message> </message>
@ -943,30 +1023,30 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation>Photos activées : %1 sur %2</translation> <translation>Photos activées : %1 sur %2</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="129"/> <location filename="../ProfileInterface.cpp" line="131"/>
<source>Loading...</source> <source>Loading...</source>
<translation>Chargement...</translation> <translation>Chargement...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="411"/> <location filename="../ProfileInterface.cpp" line="413"/>
<location filename="../ProfileInterface.cpp" line="476"/> <location filename="../ProfileInterface.cpp" line="478"/>
<source>Import...</source> <source>Import...</source>
<translation>Importer...</translation> <translation>Importer...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="412"/> <location filename="../ProfileInterface.cpp" line="414"/>
<location filename="../ProfileInterface.cpp" line="455"/> <location filename="../ProfileInterface.cpp" line="457"/>
<location filename="../ProfileInterface.cpp" line="507"/> <location filename="../ProfileInterface.cpp" line="509"/>
<location filename="../ProfileInterface.cpp" line="527"/> <location filename="../ProfileInterface.cpp" line="529"/>
<location filename="../ProfileInterface.cpp" line="543"/> <location filename="../ProfileInterface.cpp" line="545"/>
<location filename="../ProfileInterface.cpp" line="659"/> <location filename="../ProfileInterface.cpp" line="661"/>
<location filename="../ProfileInterface.cpp" line="740"/> <location filename="../ProfileInterface.cpp" line="742"/>
<location filename="../ProfileInterface.cpp" line="745"/> <location filename="../ProfileInterface.cpp" line="747"/>
<location filename="../ProfileInterface.cpp" line="755"/> <location filename="../ProfileInterface.cpp" line="757"/>
<location filename="../ProfileInterface.cpp" line="760"/> <location filename="../ProfileInterface.cpp" line="762"/>
<location filename="../ProfileInterface.cpp" line="771"/> <location filename="../ProfileInterface.cpp" line="773"/>
<location filename="../ProfileInterface.cpp" line="808"/> <location filename="../ProfileInterface.cpp" line="810"/>
<location filename="../ProfileInterface.cpp" line="814"/> <location filename="../ProfileInterface.cpp" line="816"/>
<source>Import</source> <source>Import</source>
<translation>Importer</translation> <translation>Importer</translation>
</message> </message>
@ -975,36 +1055,36 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation type="vanished">Fichiers de profil GTA (SGTA* PGTA*)</translation> <translation type="vanished">Fichiers de profil GTA (SGTA* PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="429"/> <location filename="../ProfileInterface.cpp" line="431"/>
<location filename="../UserInterface.cpp" line="364"/> <location filename="../UserInterface.cpp" line="376"/>
<source>Savegames files (SGTA*)</source> <source>Savegames files (SGTA*)</source>
<translation>Fichiers de sauvegarde GTA (SGTA*)</translation> <translation>Fichiers de sauvegarde GTA (SGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="430"/> <location filename="../ProfileInterface.cpp" line="432"/>
<location filename="../UserInterface.cpp" line="365"/> <location filename="../UserInterface.cpp" line="377"/>
<source>Snapmatic pictures (PGTA*)</source> <source>Snapmatic pictures (PGTA*)</source>
<translation>Photos Snapmatic (PGTA*)</translation> <translation>Photos Snapmatic (PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="431"/> <location filename="../ProfileInterface.cpp" line="433"/>
<source>All image files (%1)</source> <source>All image files (%1)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="432"/> <location filename="../ProfileInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="366"/> <location filename="../UserInterface.cpp" line="378"/>
<source>All files (**)</source> <source>All files (**)</source>
<translation>Tous les fichiers (**)</translation> <translation>Tous les fichiers (**)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="477"/> <location filename="../ProfileInterface.cpp" line="479"/>
<location filename="../ProfileInterface.cpp" line="492"/> <location filename="../ProfileInterface.cpp" line="494"/>
<source>Import file %1 of %2 files</source> <source>Import file %1 of %2 files</source>
<translation>Importation du fichier %1 sur %2</translation> <translation>Importation du fichier %1 sur %2</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="507"/> <location filename="../ProfileInterface.cpp" line="509"/>
<source>Import failed with... <source>Import failed with...
%1</source> %1</source>
@ -1013,26 +1093,26 @@ Appuyer sur 1 pour le mode par défaut</translation>
%1</translation> %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="455"/> <location filename="../ProfileInterface.cpp" line="457"/>
<location filename="../ProfileInterface.cpp" line="745"/> <location filename="../ProfileInterface.cpp" line="747"/>
<location filename="../UserInterface.cpp" line="454"/> <location filename="../UserInterface.cpp" line="466"/>
<source>No valid file is selected</source> <source>No valid file is selected</source>
<translation>Fichier invalide</translation> <translation>Fichier invalide</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="427"/> <location filename="../ProfileInterface.cpp" line="429"/>
<source>Importable files (%1)</source> <source>Importable files (%1)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="527"/> <location filename="../ProfileInterface.cpp" line="529"/>
<location filename="../UserInterface.cpp" line="406"/> <location filename="../UserInterface.cpp" line="418"/>
<source>Failed to read Snapmatic picture</source> <source>Failed to read Snapmatic picture</source>
<translation>Impossible d&apos;ouvrir la photo Snapmatic</translation> <translation>Impossible d&apos;ouvrir la photo Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="543"/> <location filename="../ProfileInterface.cpp" line="545"/>
<location filename="../UserInterface.cpp" line="422"/> <location filename="../UserInterface.cpp" line="434"/>
<source>Failed to read Savegame file</source> <source>Failed to read Savegame file</source>
<translation>Impossible de lire le fichier de sauvegarde</translation> <translation>Impossible de lire le fichier de sauvegarde</translation>
</message> </message>
@ -1053,78 +1133,78 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation type="vanished">Tous les fichiers image (*.jpg *.png)</translation> <translation type="vanished">Tous les fichiers image (*.jpg *.png)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="659"/> <location filename="../ProfileInterface.cpp" line="661"/>
<source>Can&apos;t import %1 because file can&apos;t be parsed properly</source> <source>Can&apos;t import %1 because file can&apos;t be parsed properly</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="740"/> <location filename="../ProfileInterface.cpp" line="742"/>
<source>Can&apos;t import %1 because file format can&apos;t be detected</source> <source>Can&apos;t import %1 because file format can&apos;t be detected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="755"/> <location filename="../ProfileInterface.cpp" line="757"/>
<source>Failed to import the Snapmatic picture, file not begin with PGTA or end with .g5e</source> <source>Failed to import the Snapmatic picture, file not begin with PGTA or end with .g5e</source>
<translation>Impossible d&apos;importer la photo Snapmatic,nom de fichier incorrect (PGTA*, *.g5e)</translation> <translation>Impossible d&apos;importer la photo Snapmatic,nom de fichier incorrect (PGTA*, *.g5e)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="760"/> <location filename="../ProfileInterface.cpp" line="762"/>
<source>Failed to import the Snapmatic picture, the picture is already in the game</source> <source>Failed to import the Snapmatic picture, the picture is already in the game</source>
<translation>Impossible d&apos;importer la photo Snapmatic, un fichier du même nom existe déjà</translation> <translation>Impossible d&apos;importer la photo Snapmatic, un fichier du même nom existe déjà</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="771"/> <location filename="../ProfileInterface.cpp" line="773"/>
<source>Failed to import the Snapmatic picture, can&apos;t copy the file into profile</source> <source>Failed to import the Snapmatic picture, can&apos;t copy the file into profile</source>
<translation>Impossible d&apos;importer la photo Snapmatic, impossible de copier le fichier dans le profil</translation> <translation>Impossible d&apos;importer la photo Snapmatic, impossible de copier le fichier dans le profil</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="808"/> <location filename="../ProfileInterface.cpp" line="810"/>
<source>Failed to import the Savegame, can&apos;t copy the file into profile</source> <source>Failed to import the Savegame, can&apos;t copy the file into profile</source>
<translation>Impossible d&apos;importer la sauvegarde, impossible de copier le fichier dans le profil</translation> <translation>Impossible d&apos;importer la sauvegarde, impossible de copier le fichier dans le profil</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="814"/> <location filename="../ProfileInterface.cpp" line="816"/>
<source>Failed to import the Savegame, no Savegame slot is left</source> <source>Failed to import the Savegame, no Savegame slot is left</source>
<translation>Impossible d&apos;importer la sauvegarde, aucun emplacement libre</translation> <translation>Impossible d&apos;importer la sauvegarde, aucun emplacement libre</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="878"/> <location filename="../ProfileInterface.cpp" line="880"/>
<location filename="../ProfileInterface.cpp" line="916"/> <location filename="../ProfileInterface.cpp" line="918"/>
<location filename="../ProfileInterface.cpp" line="995"/> <location filename="../ProfileInterface.cpp" line="997"/>
<location filename="../ProfileInterface.cpp" line="1015"/> <location filename="../ProfileInterface.cpp" line="1017"/>
<source>Export selected</source> <source>Export selected</source>
<translation>Exporter la sélection</translation> <translation>Exporter la sélection</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="901"/> <location filename="../ProfileInterface.cpp" line="903"/>
<location filename="../ProfileInterface.cpp" line="919"/> <location filename="../ProfileInterface.cpp" line="921"/>
<source>JPG pictures and GTA Snapmatic</source> <source>JPG pictures and GTA Snapmatic</source>
<translation>Images JPG et GTA Snapmatic</translation> <translation>Images JPG et GTA Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="902"/> <location filename="../ProfileInterface.cpp" line="904"/>
<location filename="../ProfileInterface.cpp" line="924"/> <location filename="../ProfileInterface.cpp" line="926"/>
<source>JPG pictures only</source> <source>JPG pictures only</source>
<translation>Images JPG seulement</translation> <translation>Images JPG seulement</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="903"/> <location filename="../ProfileInterface.cpp" line="905"/>
<location filename="../ProfileInterface.cpp" line="928"/> <location filename="../ProfileInterface.cpp" line="930"/>
<source>GTA Snapmatic only</source> <source>GTA Snapmatic only</source>
<translation>GTA Snapmatic seulement</translation> <translation>GTA Snapmatic seulement</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="916"/> <location filename="../ProfileInterface.cpp" line="918"/>
<source>%1Export Snapmatic pictures%2&lt;br&gt;&lt;br&gt;JPG pictures make it possible to open the picture with a Image Viewer&lt;br&gt;GTA Snapmatic make it possible to import the picture into the game&lt;br&gt;&lt;br&gt;Export as:</source> <source>%1Export Snapmatic pictures%2&lt;br&gt;&lt;br&gt;JPG pictures make it possible to open the picture with a Image Viewer&lt;br&gt;GTA Snapmatic make it possible to import the picture into the game&lt;br&gt;&lt;br&gt;Export as:</source>
<translation>%1Exporter les photos Snapmatic%2&lt;br&gt;&lt;br&gt;Les fichiers JPG permettent d&apos;ouvrir les photos avec une visionneuse d&apos;images&lt;br&gt;Les GTA Snapmatic permettent d&apos;importer les photos dans le jeu&lt;br&gt;&lt;br&gt;Exporter comme :</translation> <translation>%1Exporter les photos Snapmatic%2&lt;br&gt;&lt;br&gt;Les fichiers JPG permettent d&apos;ouvrir les photos avec une visionneuse d&apos;images&lt;br&gt;Les GTA Snapmatic permettent d&apos;importer les photos dans le jeu&lt;br&gt;&lt;br&gt;Exporter comme :</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="961"/> <location filename="../ProfileInterface.cpp" line="963"/>
<source>Export selected...</source> <source>Export selected...</source>
<translation>Exporter la sélection...</translation> <translation>Exporter la sélection...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="962"/> <location filename="../ProfileInterface.cpp" line="964"/>
<source>Initialising export...</source> <source>Initialising export...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1133,7 +1213,7 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation type="vanished">Initialisation de l&apos;export...</translation> <translation type="vanished">Initialisation de l&apos;export...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="995"/> <location filename="../ProfileInterface.cpp" line="997"/>
<source>Export failed with... <source>Export failed with...
%1</source> %1</source>
@ -1142,36 +1222,36 @@ Appuyer sur 1 pour le mode par défaut</translation>
%1</translation> %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1015"/> <location filename="../ProfileInterface.cpp" line="1017"/>
<location filename="../ProfileInterface.cpp" line="1057"/> <location filename="../ProfileInterface.cpp" line="1059"/>
<source>No Snapmatic pictures or Savegames files are selected</source> <source>No Snapmatic pictures or Savegames files are selected</source>
<translation>Aucun fichier de sauvegarde ou photo Snapmatic sélectionné</translation> <translation>Aucun fichier de sauvegarde ou photo Snapmatic sélectionné</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1023"/> <location filename="../ProfileInterface.cpp" line="1025"/>
<location filename="../ProfileInterface.cpp" line="1051"/> <location filename="../ProfileInterface.cpp" line="1053"/>
<location filename="../ProfileInterface.cpp" line="1057"/> <location filename="../ProfileInterface.cpp" line="1059"/>
<source>Remove selected</source> <source>Remove selected</source>
<translation>Supprimer la sélection</translation> <translation>Supprimer la sélection</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1023"/> <location filename="../ProfileInterface.cpp" line="1025"/>
<source>You really want remove the selected Snapmatic picutres and Savegame files?</source> <source>You really want remove the selected Snapmatic picutres and Savegame files?</source>
<translation>Supprimer la sélection ?</translation> <translation>Supprimer la sélection ?</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1051"/> <location filename="../ProfileInterface.cpp" line="1053"/>
<source>Failed at remove the complete selected Snapmatic pictures and/or Savegame files</source> <source>Failed at remove the complete selected Snapmatic pictures and/or Savegame files</source>
<translation>Impossible de supprimer la sélection</translation> <translation>Impossible de supprimer la sélection</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="362"/> <location filename="../UserInterface.cpp" line="374"/>
<source>All profile files (*.g5e SGTA* PGTA*)</source> <source>All profile files (*.g5e SGTA* PGTA*)</source>
<translation>Tous les fichiers de profil (*.g5e SGTA* PGTA*)</translation> <translation>Tous les fichiers de profil (*.g5e SGTA* PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="428"/> <location filename="../ProfileInterface.cpp" line="430"/>
<location filename="../UserInterface.cpp" line="363"/> <location filename="../UserInterface.cpp" line="375"/>
<source>GTA V Export (*.g5e)</source> <source>GTA V Export (*.g5e)</source>
<translation>GTA V Export (*.g5e)</translation> <translation>GTA V Export (*.g5e)</translation>
</message> </message>
@ -1262,7 +1342,7 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation>Supprimer</translation> <translation>Supprimer</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1197"/> <location filename="../ProfileInterface.cpp" line="1199"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation>&amp;Exporter</translation> <translation>&amp;Exporter</translation>
</message> </message>
@ -1353,32 +1433,32 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation>Impossible de supprimer %1</translation> <translation>Impossible de supprimer %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1196"/> <location filename="../ProfileInterface.cpp" line="1198"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation>&amp;Voir</translation> <translation>&amp;Voir</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1198"/> <location filename="../ProfileInterface.cpp" line="1200"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation>&amp;Supprimer</translation> <translation>&amp;Supprimer</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1200"/> <location filename="../ProfileInterface.cpp" line="1202"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation>&amp;Sélectionner</translation> <translation>&amp;Sélectionner</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1201"/> <location filename="../ProfileInterface.cpp" line="1203"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation>&amp;Déselectionner</translation> <translation>&amp;Déselectionner</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1204"/> <location filename="../ProfileInterface.cpp" line="1206"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation>Sélectionner to&amp;ut</translation> <translation>Sélectionner to&amp;ut</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1208"/> <location filename="../ProfileInterface.cpp" line="1210"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation>&amp;Déselectionner tout</translation> <translation>&amp;Déselectionner tout</translation>
</message> </message>
@ -1388,6 +1468,7 @@ Appuyer sur 1 pour le mode par défaut</translation>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="14"/> <location filename="../SnapmaticEditor.ui" line="14"/>
<location filename="../SnapmaticEditor.ui" line="81"/> <location filename="../SnapmaticEditor.ui" line="81"/>
<location filename="../PictureDialog.cpp" line="727"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../SnapmaticEditor.cpp" line="241"/>
<source>Snapmatic Properties</source> <source>Snapmatic Properties</source>
<translation>Propriétés Snapmatic</translation> <translation>Propriétés Snapmatic</translation>
@ -1506,6 +1587,7 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation>Non</translation> <translation>Non</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="727"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../SnapmaticEditor.cpp" line="241"/>
<source>Patching of Snapmatic Properties failed because of I/O Error</source> <source>Patching of Snapmatic Properties failed because of I/O Error</source>
<translation>La modification des propriétés Snapmatic a échoué : erreur d&apos;entrée/sortie</translation> <translation>La modification des propriétés Snapmatic a échoué : erreur d&apos;entrée/sortie</translation>
@ -1599,17 +1681,17 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation>Impossible de supprimer %1</translation> <translation>Impossible de supprimer %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1149"/> <location filename="../ProfileInterface.cpp" line="1151"/>
<source>Edi&amp;t</source> <source>Edi&amp;t</source>
<translation>Édi&amp;ter</translation> <translation>Édi&amp;ter</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1152"/> <location filename="../ProfileInterface.cpp" line="1154"/>
<source>Show &amp;In-game</source> <source>Show &amp;In-game</source>
<translation>&amp;Visible en jeu</translation> <translation>&amp;Visible en jeu</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1156"/> <location filename="../ProfileInterface.cpp" line="1158"/>
<source>Hide &amp;In-game</source> <source>Hide &amp;In-game</source>
<translation>&amp;Invisible en jeu</translation> <translation>&amp;Invisible en jeu</translation>
</message> </message>
@ -1618,7 +1700,7 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation type="vanished">Modifier les &amp;propriétés...</translation> <translation type="vanished">Modifier les &amp;propriétés...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1159"/> <location filename="../ProfileInterface.cpp" line="1161"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation>&amp;Exporter</translation> <translation>&amp;Exporter</translation>
</message> </message>
@ -1631,32 +1713,32 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation type="vanished">Exporter comme &amp;GTA Snapmatic...</translation> <translation type="vanished">Exporter comme &amp;GTA Snapmatic...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1162"/> <location filename="../ProfileInterface.cpp" line="1164"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation>&amp;Voir</translation> <translation>&amp;Voir</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1165"/> <location filename="../ProfileInterface.cpp" line="1167"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation>S&amp;upprimer</translation> <translation>S&amp;upprimer</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1167"/> <location filename="../ProfileInterface.cpp" line="1169"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation>&amp;Sélectionner</translation> <translation>&amp;Sélectionner</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1168"/> <location filename="../ProfileInterface.cpp" line="1170"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation>&amp;Déselectionner</translation> <translation>&amp;Déselectionner</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1171"/> <location filename="../ProfileInterface.cpp" line="1173"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation>Sélectionner &amp;tout</translation> <translation>Sélectionner &amp;tout</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1175"/> <location filename="../ProfileInterface.cpp" line="1177"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation>&amp;Déselectionner tout</translation> <translation>&amp;Déselectionner tout</translation>
</message> </message>
@ -1830,9 +1912,9 @@ Appuyer sur 1 pour le mode par défaut</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.ui" line="312"/> <location filename="../UserInterface.ui" line="312"/>
<location filename="../OptionsDialog.cpp" line="428"/> <location filename="../OptionsDialog.cpp" line="491"/>
<location filename="../UserInterface.cpp" line="103"/> <location filename="../UserInterface.cpp" line="103"/>
<location filename="../UserInterface.cpp" line="511"/> <location filename="../UserInterface.cpp" line="523"/>
<source>Select GTA V Folder...</source> <source>Select GTA V Folder...</source>
<translation>Modifier l&apos;emplacement de GTA V...</translation> <translation>Modifier l&apos;emplacement de GTA V...</translation>
</message> </message>
@ -1875,32 +1957,32 @@ Appuyer sur 1 pour le mode par défaut</translation>
<message> <message>
<location filename="../UserInterface.ui" line="226"/> <location filename="../UserInterface.ui" line="226"/>
<location filename="../UserInterface.cpp" line="59"/> <location filename="../UserInterface.cpp" line="59"/>
<location filename="../UserInterface.cpp" line="540"/> <location filename="../UserInterface.cpp" line="552"/>
<source>&amp;About %1</source> <source>&amp;About %1</source>
<translation>&amp;À propos de %1</translation> <translation>&amp;À propos de %1</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="63"/> <location filename="../UserInterface.cpp" line="63"/>
<location filename="../UserInterface.cpp" line="233"/> <location filename="../UserInterface.cpp" line="228"/>
<location filename="../UserInterface.cpp" line="548"/> <location filename="../UserInterface.cpp" line="560"/>
<source>Select Profile</source> <source>Select Profile</source>
<translation>Sélectionner un profil</translation> <translation>Sélectionner un profil</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="359"/> <location filename="../UserInterface.cpp" line="371"/>
<source>Open File...</source> <source>Open File...</source>
<translation>Ouvrir...</translation> <translation>Ouvrir...</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="406"/> <location filename="../UserInterface.cpp" line="418"/>
<location filename="../UserInterface.cpp" line="422"/> <location filename="../UserInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="449"/> <location filename="../UserInterface.cpp" line="461"/>
<location filename="../UserInterface.cpp" line="454"/> <location filename="../UserInterface.cpp" line="466"/>
<source>Open File</source> <source>Open File</source>
<translation>Ouvrir</translation> <translation>Ouvrir</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="449"/> <location filename="../UserInterface.cpp" line="461"/>
<source>Can&apos;t open %1 because of not valid file format</source> <source>Can&apos;t open %1 because of not valid file format</source>
<translation>Impossible d&apos;ouvrir %1, format invalide</translation> <translation>Impossible d&apos;ouvrir %1, format invalide</translation>
</message> </message>

Binary file not shown.

View File

@ -293,7 +293,7 @@ Grand Theft Auto V Snapmatic картинок и сохранений</translati
<message> <message>
<location filename="../ImportDialog.ui" line="98"/> <location filename="../ImportDialog.ui" line="98"/>
<location filename="../ImportDialog.cpp" line="57"/> <location filename="../ImportDialog.cpp" line="57"/>
<location filename="../ImportDialog.cpp" line="216"/> <location filename="../ImportDialog.cpp" line="242"/>
<source>Background Colour: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</source> <source>Background Colour: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</source>
<translation>Цвет фона: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</translation> <translation>Цвет фона: &lt;span style=&quot;color: %1&quot;&gt;%1&lt;/span&gt;</translation>
</message> </message>
@ -324,29 +324,81 @@ Grand Theft Auto V Snapmatic картинок и сохранений</translati
<translation>От&amp;мена</translation> <translation>От&amp;мена</translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="173"/> <location filename="../ImportDialog.cpp" line="105"/>
<source>Custom Avatar</source>
<comment>Custom Avatar Description in SC, don&apos;t use Special Character!</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ImportDialog.cpp" line="131"/>
<source>Custom Picture</source>
<comment>Custom Picture Description in SC, don&apos;t use Special Character!</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ImportDialog.cpp" line="199"/>
<source>Are you sure to use a square image outside of the Avatar Zone? <source>Are you sure to use a square image outside of the Avatar Zone?
When you want to use it as Avatar the image will be detached!</source> When you want to use it as Avatar the image will be detached!</source>
<translation>Ты точно хочешь использовать квадратное изображение вне зоны аватарки? Если это аватар, то изображение будет обрезано!</translation> <translation>Ты точно хочешь использовать квадратное изображение вне зоны аватарки? Если это аватар, то изображение будет обрезано!</translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="173"/> <location filename="../ImportDialog.cpp" line="199"/>
<source>Snapmatic Avatar Zone</source> <source>Snapmatic Avatar Zone</source>
<translation>Зона Snapmatic Аватарки</translation> <translation>Зона Snapmatic Аватарки</translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="212"/> <location filename="../ImportDialog.cpp" line="238"/>
<source>Select Colour...</source> <source>Select Colour...</source>
<translation>Выбрать цвет...</translation> <translation>Выбрать цвет...</translation>
</message> </message>
</context> </context>
<context> <context>
<name>MapPreviewDialog</name> <name>MapLocationDialog</name>
<message> <message>
<location filename="../MapPreviewDialog.ui" line="26"/> <location filename="../MapLocationDialog.ui" line="26"/>
<source>Snapmatic Map Viewer</source> <source>Snapmatic Map Viewer</source>
<translation>Просмотрщик карты Snapmatic</translation> <translation>Просмотрщик карты Snapmatic</translation>
</message> </message>
<message>
<source>X: %1
Y: %2</source>
<extracomment>X and Y position</extracomment>
<translation type="vanished">X: %1
Y: %2</translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="138"/>
<source>&amp;Close</source>
<translation>&amp;Закрыть</translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="164"/>
<source>&amp;Apply</source>
<translation>&amp;Применить</translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="177"/>
<source>&amp;Revert</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="190"/>
<source>&amp;Set</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.ui" line="203"/>
<source>&amp;Done</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MapLocationDialog.cpp" line="89"/>
<source>X: %1
Y: %2</source>
<comment>X and Y position</comment>
<translation>X: %1
Y: %2</translation>
</message>
</context> </context>
<context> <context>
<name>OptionsDialog</name> <name>OptionsDialog</name>
@ -483,38 +535,55 @@ When you want to use it as Avatar the image will be detached!</source>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="387"/> <location filename="../OptionsDialog.ui" line="387"/>
<location filename="../OptionsDialog.ui" line="393"/>
<source>Language</source> <source>Language</source>
<translation>Язык</translation> <translation>Язык</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="419"/> <location filename="../OptionsDialog.ui" line="393"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="402"/>
<location filename="../OptionsDialog.ui" line="421"/>
<location filename="../OptionsDialog.cpp" line="167"/>
<location filename="../OptionsDialog.cpp" line="215"/>
<source>Current: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="412"/>
<source>Areas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="445"/>
<source>Sync</source> <source>Sync</source>
<translation>Sync</translation> <translation>Sync</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="425"/> <location filename="../OptionsDialog.ui" line="451"/>
<source>Sync is not implemented at current time</source> <source>Sync is not implemented at current time</source>
<translation>Синхронизация пока ещё не реализована</translation> <translation>Синхронизация пока ещё не реализована</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="463"/> <location filename="../OptionsDialog.ui" line="489"/>
<source>Apply changes</source> <source>Apply changes</source>
<translation>Применить изменения</translation> <translation>Применить изменения</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="466"/> <location filename="../OptionsDialog.ui" line="492"/>
<source>&amp;OK</source> <source>&amp;OK</source>
<extracomment>OK, Cancel, Apply</extracomment> <extracomment>OK, Cancel, Apply</extracomment>
<translation>&amp;ОК</translation> <translation>&amp;ОК</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="479"/> <location filename="../OptionsDialog.ui" line="505"/>
<source>Discard changes</source> <source>Discard changes</source>
<translation>Отвергнуть изменения</translation> <translation>Отвергнуть изменения</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="482"/> <location filename="../OptionsDialog.ui" line="508"/>
<source>&amp;Cancel</source> <source>&amp;Cancel</source>
<extracomment>OK, Cancel, Apply</extracomment> <extracomment>OK, Cancel, Apply</extracomment>
<translation>От&amp;мена</translation> <translation>От&amp;мена</translation>
@ -531,25 +600,37 @@ When you want to use it as Avatar the image will be detached!</source>
<translation type="vanished">%1 (%2 если имеется)</translation> <translation type="vanished">%1 (%2 если имеется)</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="130"/> <location filename="../OptionsDialog.cpp" line="131"/>
<source>%1 (Next Closest Language)</source> <source>%1 (Next Closest Language)</source>
<comment>First language a person can talk with a different person/application. &quot;Native&quot; or &quot;Not Native&quot;.</comment> <comment>First language a person can talk with a different person/application. &quot;Native&quot; or &quot;Not Native&quot;.</comment>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="130"/> <location filename="../OptionsDialog.cpp" line="131"/>
<source>System</source> <source>System</source>
<comment>System in context of System default</comment> <comment>System in context of System default</comment>
<translation>Система</translation> <translation>Система</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="272"/> <location filename="../OptionsDialog.cpp" line="133"/>
<source>%1 (Closest to Interface)</source>
<comment>Next closest language compared to the Interface</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="133"/>
<source>Auto</source>
<comment>Automatic language choice.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="335"/>
<source>%1</source> <source>%1</source>
<comment>%1</comment> <comment>%1</comment>
<translation>%1</translation> <translation>%1</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="272"/> <location filename="../OptionsDialog.cpp" line="335"/>
<source>The new Custom Folder will initialise after you restart %1.</source> <source>The new Custom Folder will initialise after you restart %1.</source>
<translation>Другая папка будет загружена после перезапуска %1.</translation> <translation>Другая папка будет загружена после перезапуска %1.</translation>
</message> </message>
@ -562,15 +643,15 @@ When you want to use it as Avatar the image will be detached!</source>
<translation type="vanished">Язык изменится после перезапуска %1.</translation> <translation type="vanished">Язык изменится после перезапуска %1.</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="282"/> <location filename="../OptionsDialog.cpp" line="345"/>
<source>No Profile</source> <source>No Profile</source>
<comment>No Profile, as default</comment> <comment>No Profile, as default</comment>
<translation>Нет профиля</translation> <translation>Нет профиля</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="290"/> <location filename="../OptionsDialog.cpp" line="353"/>
<location filename="../OptionsDialog.cpp" line="294"/> <location filename="../OptionsDialog.cpp" line="357"/>
<location filename="../OptionsDialog.cpp" line="296"/> <location filename="../OptionsDialog.cpp" line="359"/>
<source>Profile: %1</source> <source>Profile: %1</source>
<translation>Профиль: %1</translation> <translation>Профиль: %1</translation>
</message> </message>
@ -651,7 +732,7 @@ When you want to use it as Avatar the image will be detached!</source>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="145"/> <location filename="../PictureDialog.cpp" line="145"/>
<location filename="../ProfileInterface.cpp" line="1160"/> <location filename="../ProfileInterface.cpp" line="1162"/>
<source>Export as &amp;Picture...</source> <source>Export as &amp;Picture...</source>
<translation>Экспортировать как &amp;картинку...</translation> <translation>Экспортировать как &amp;картинку...</translation>
</message> </message>
@ -661,7 +742,7 @@ When you want to use it as Avatar the image will be detached!</source>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="146"/> <location filename="../PictureDialog.cpp" line="146"/>
<location filename="../ProfileInterface.cpp" line="1161"/> <location filename="../ProfileInterface.cpp" line="1163"/>
<source>Export as &amp;Snapmatic...</source> <source>Export as &amp;Snapmatic...</source>
<translation>Экспортировать как &amp;Snapmatic...</translation> <translation>Экспортировать как &amp;Snapmatic...</translation>
</message> </message>
@ -676,7 +757,7 @@ When you want to use it as Avatar the image will be detached!</source>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="150"/> <location filename="../PictureDialog.cpp" line="150"/>
<location filename="../ProfileInterface.cpp" line="1158"/> <location filename="../ProfileInterface.cpp" line="1160"/>
<source>&amp;Edit Properties...</source> <source>&amp;Edit Properties...</source>
<translation>&amp;Изменить свойства...</translation> <translation>&amp;Изменить свойства...</translation>
</message> </message>
@ -917,30 +998,30 @@ Press 1 for Default View</source>
<translation type="obsolete">Закрыть профиль</translation> <translation type="obsolete">Закрыть профиль</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="129"/> <location filename="../ProfileInterface.cpp" line="131"/>
<source>Loading...</source> <source>Loading...</source>
<translation>Загрузка...</translation> <translation>Загрузка...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="411"/> <location filename="../ProfileInterface.cpp" line="413"/>
<location filename="../ProfileInterface.cpp" line="476"/> <location filename="../ProfileInterface.cpp" line="478"/>
<source>Import...</source> <source>Import...</source>
<translation>Импортировать...</translation> <translation>Импортировать...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="412"/> <location filename="../ProfileInterface.cpp" line="414"/>
<location filename="../ProfileInterface.cpp" line="455"/> <location filename="../ProfileInterface.cpp" line="457"/>
<location filename="../ProfileInterface.cpp" line="507"/> <location filename="../ProfileInterface.cpp" line="509"/>
<location filename="../ProfileInterface.cpp" line="527"/> <location filename="../ProfileInterface.cpp" line="529"/>
<location filename="../ProfileInterface.cpp" line="543"/> <location filename="../ProfileInterface.cpp" line="545"/>
<location filename="../ProfileInterface.cpp" line="659"/> <location filename="../ProfileInterface.cpp" line="661"/>
<location filename="../ProfileInterface.cpp" line="740"/> <location filename="../ProfileInterface.cpp" line="742"/>
<location filename="../ProfileInterface.cpp" line="745"/> <location filename="../ProfileInterface.cpp" line="747"/>
<location filename="../ProfileInterface.cpp" line="755"/> <location filename="../ProfileInterface.cpp" line="757"/>
<location filename="../ProfileInterface.cpp" line="760"/> <location filename="../ProfileInterface.cpp" line="762"/>
<location filename="../ProfileInterface.cpp" line="771"/> <location filename="../ProfileInterface.cpp" line="773"/>
<location filename="../ProfileInterface.cpp" line="808"/> <location filename="../ProfileInterface.cpp" line="810"/>
<location filename="../ProfileInterface.cpp" line="814"/> <location filename="../ProfileInterface.cpp" line="816"/>
<source>Import</source> <source>Import</source>
<translation>Импортировать</translation> <translation>Импортировать</translation>
</message> </message>
@ -949,31 +1030,31 @@ Press 1 for Default View</source>
<translation type="vanished">Все файлы профиля (SGTA* PGTA*)</translation> <translation type="vanished">Все файлы профиля (SGTA* PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="429"/> <location filename="../ProfileInterface.cpp" line="431"/>
<location filename="../UserInterface.cpp" line="364"/> <location filename="../UserInterface.cpp" line="376"/>
<source>Savegames files (SGTA*)</source> <source>Savegames files (SGTA*)</source>
<translation>Файлы сохранения (SGTA*)</translation> <translation>Файлы сохранения (SGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="430"/> <location filename="../ProfileInterface.cpp" line="432"/>
<location filename="../UserInterface.cpp" line="365"/> <location filename="../UserInterface.cpp" line="377"/>
<source>Snapmatic pictures (PGTA*)</source> <source>Snapmatic pictures (PGTA*)</source>
<translation>Картинка Snapmatic (PGTA*)</translation> <translation>Картинка Snapmatic (PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="432"/> <location filename="../ProfileInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="366"/> <location filename="../UserInterface.cpp" line="378"/>
<source>All files (**)</source> <source>All files (**)</source>
<translation>Все файлы (**)</translation> <translation>Все файлы (**)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="477"/> <location filename="../ProfileInterface.cpp" line="479"/>
<location filename="../ProfileInterface.cpp" line="492"/> <location filename="../ProfileInterface.cpp" line="494"/>
<source>Import file %1 of %2 files</source> <source>Import file %1 of %2 files</source>
<translation>Импортируются файлы %1 из %2</translation> <translation>Импортируются файлы %1 из %2</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="507"/> <location filename="../ProfileInterface.cpp" line="509"/>
<source>Import failed with... <source>Import failed with...
%1</source> %1</source>
@ -982,14 +1063,14 @@ Press 1 for Default View</source>
%1</translation> %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="527"/> <location filename="../ProfileInterface.cpp" line="529"/>
<location filename="../UserInterface.cpp" line="406"/> <location filename="../UserInterface.cpp" line="418"/>
<source>Failed to read Snapmatic picture</source> <source>Failed to read Snapmatic picture</source>
<translation>Не удалось загрузить картинку Snapmatic</translation> <translation>Не удалось загрузить картинку Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="543"/> <location filename="../ProfileInterface.cpp" line="545"/>
<location filename="../UserInterface.cpp" line="422"/> <location filename="../UserInterface.cpp" line="434"/>
<source>Failed to read Savegame file</source> <source>Failed to read Savegame file</source>
<translation>Не удалось загрузить файл сохранения</translation> <translation>Не удалось загрузить файл сохранения</translation>
</message> </message>
@ -998,9 +1079,9 @@ Press 1 for Default View</source>
<translation type="vanished">Не получилось импортировать %1 из-за неправильного формата файла</translation> <translation type="vanished">Не получилось импортировать %1 из-за неправильного формата файла</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="455"/> <location filename="../ProfileInterface.cpp" line="457"/>
<location filename="../ProfileInterface.cpp" line="745"/> <location filename="../ProfileInterface.cpp" line="747"/>
<location filename="../UserInterface.cpp" line="454"/> <location filename="../UserInterface.cpp" line="466"/>
<source>No valid file is selected</source> <source>No valid file is selected</source>
<translation>Выбранный файл неверен</translation> <translation>Выбранный файл неверен</translation>
</message> </message>
@ -1018,93 +1099,93 @@ Press 1 for Default View</source>
<translation type="vanished">Все изображения (*.jpg *.png)</translation> <translation type="vanished">Все изображения (*.jpg *.png)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="427"/> <location filename="../ProfileInterface.cpp" line="429"/>
<source>Importable files (%1)</source> <source>Importable files (%1)</source>
<translation>Файлы для импорта (%1)</translation> <translation>Файлы для импорта (%1)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="431"/> <location filename="../ProfileInterface.cpp" line="433"/>
<source>All image files (%1)</source> <source>All image files (%1)</source>
<translation>Все файлы изображений (%1)</translation> <translation>Все файлы изображений (%1)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="659"/> <location filename="../ProfileInterface.cpp" line="661"/>
<source>Can&apos;t import %1 because file can&apos;t be parsed properly</source> <source>Can&apos;t import %1 because file can&apos;t be parsed properly</source>
<translation>Не получилось импортировать %1, файл не может быть правильно обработан</translation> <translation>Не получилось импортировать %1, файл не может быть правильно обработан</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="740"/> <location filename="../ProfileInterface.cpp" line="742"/>
<source>Can&apos;t import %1 because file format can&apos;t be detected</source> <source>Can&apos;t import %1 because file format can&apos;t be detected</source>
<translation>Не получилось импортировать %1, не удалось определить формат файла</translation> <translation>Не получилось импортировать %1, не удалось определить формат файла</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="755"/> <location filename="../ProfileInterface.cpp" line="757"/>
<source>Failed to import the Snapmatic picture, file not begin with PGTA or end with .g5e</source> <source>Failed to import the Snapmatic picture, file not begin with PGTA or end with .g5e</source>
<translation>Не удалось импортировать картинку Snapmatic, название не начинается с PGTA или не заканчивается с .g5e</translation> <translation>Не удалось импортировать картинку Snapmatic, название не начинается с PGTA или не заканчивается с .g5e</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="760"/> <location filename="../ProfileInterface.cpp" line="762"/>
<source>Failed to import the Snapmatic picture, the picture is already in the game</source> <source>Failed to import the Snapmatic picture, the picture is already in the game</source>
<translation>Не удалось импортировать картинку Snapmatic, картинка уже в игре</translation> <translation>Не удалось импортировать картинку Snapmatic, картинка уже в игре</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="771"/> <location filename="../ProfileInterface.cpp" line="773"/>
<source>Failed to import the Snapmatic picture, can&apos;t copy the file into profile</source> <source>Failed to import the Snapmatic picture, can&apos;t copy the file into profile</source>
<translation>Не удалось импортировать картинку Snapmatic, не получилось скопировать файл в профиль</translation> <translation>Не удалось импортировать картинку Snapmatic, не получилось скопировать файл в профиль</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="808"/> <location filename="../ProfileInterface.cpp" line="810"/>
<source>Failed to import the Savegame, can&apos;t copy the file into profile</source> <source>Failed to import the Savegame, can&apos;t copy the file into profile</source>
<translation>Не удалось импортировать сохранение, не получилось скопировать файл в профиль</translation> <translation>Не удалось импортировать сохранение, не получилось скопировать файл в профиль</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="814"/> <location filename="../ProfileInterface.cpp" line="816"/>
<source>Failed to import the Savegame, no Savegame slot is left</source> <source>Failed to import the Savegame, no Savegame slot is left</source>
<translation>Не удалось импортировать сохранение, нет пустых ячеек под сохранения</translation> <translation>Не удалось импортировать сохранение, нет пустых ячеек под сохранения</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="901"/> <location filename="../ProfileInterface.cpp" line="903"/>
<location filename="../ProfileInterface.cpp" line="919"/> <location filename="../ProfileInterface.cpp" line="921"/>
<source>JPG pictures and GTA Snapmatic</source> <source>JPG pictures and GTA Snapmatic</source>
<translation>Картинки JPG и GTA Snapmatic</translation> <translation>Картинки JPG и GTA Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="902"/> <location filename="../ProfileInterface.cpp" line="904"/>
<location filename="../ProfileInterface.cpp" line="924"/> <location filename="../ProfileInterface.cpp" line="926"/>
<source>JPG pictures only</source> <source>JPG pictures only</source>
<translation>Только картинки JPG</translation> <translation>Только картинки JPG</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="903"/> <location filename="../ProfileInterface.cpp" line="905"/>
<location filename="../ProfileInterface.cpp" line="928"/> <location filename="../ProfileInterface.cpp" line="930"/>
<source>GTA Snapmatic only</source> <source>GTA Snapmatic only</source>
<translation>Только GTA Snapmatic</translation> <translation>Только GTA Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="962"/> <location filename="../ProfileInterface.cpp" line="964"/>
<source>Initialising export...</source> <source>Initialising export...</source>
<translation>Подготовка к экспорту...</translation> <translation>Подготовка к экспорту...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1015"/> <location filename="../ProfileInterface.cpp" line="1017"/>
<location filename="../ProfileInterface.cpp" line="1057"/> <location filename="../ProfileInterface.cpp" line="1059"/>
<source>No Snapmatic pictures or Savegames files are selected</source> <source>No Snapmatic pictures or Savegames files are selected</source>
<translation>Не выделены ни один Snapmatic или сохранение</translation> <translation>Не выделены ни один Snapmatic или сохранение</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1023"/> <location filename="../ProfileInterface.cpp" line="1025"/>
<location filename="../ProfileInterface.cpp" line="1051"/> <location filename="../ProfileInterface.cpp" line="1053"/>
<location filename="../ProfileInterface.cpp" line="1057"/> <location filename="../ProfileInterface.cpp" line="1059"/>
<source>Remove selected</source> <source>Remove selected</source>
<translation>Снять выделение</translation> <translation>Снять выделение</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1023"/> <location filename="../ProfileInterface.cpp" line="1025"/>
<source>You really want remove the selected Snapmatic picutres and Savegame files?</source> <source>You really want remove the selected Snapmatic picutres and Savegame files?</source>
<translation>Точно ли хочешь удалить выбранные картинки Snapmatic и файлы сохранений?</translation> <translation>Точно ли хочешь удалить выбранные картинки Snapmatic и файлы сохранений?</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1051"/> <location filename="../ProfileInterface.cpp" line="1053"/>
<source>Failed at remove the complete selected Snapmatic pictures and/or Savegame files</source> <source>Failed at remove the complete selected Snapmatic pictures and/or Savegame files</source>
<translation>Не удалось удалить полностью выбранные картинки Snapmatic и/или файлы сохранений</translation> <translation>Не удалось удалить полностью выбранные картинки Snapmatic и/или файлы сохранений</translation>
</message> </message>
@ -1125,20 +1206,20 @@ Press 1 for Default View</source>
<translation type="obsolete">Не получилось имортировать копию сохранения, потому что не осталось свободных под них слотов</translation> <translation type="obsolete">Не получилось имортировать копию сохранения, потому что не осталось свободных под них слотов</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="878"/> <location filename="../ProfileInterface.cpp" line="880"/>
<location filename="../ProfileInterface.cpp" line="916"/> <location filename="../ProfileInterface.cpp" line="918"/>
<location filename="../ProfileInterface.cpp" line="995"/> <location filename="../ProfileInterface.cpp" line="997"/>
<location filename="../ProfileInterface.cpp" line="1015"/> <location filename="../ProfileInterface.cpp" line="1017"/>
<source>Export selected</source> <source>Export selected</source>
<translation>Экспортировать выделенное</translation> <translation>Экспортировать выделенное</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="916"/> <location filename="../ProfileInterface.cpp" line="918"/>
<source>%1Export Snapmatic pictures%2&lt;br&gt;&lt;br&gt;JPG pictures make it possible to open the picture with a Image Viewer&lt;br&gt;GTA Snapmatic make it possible to import the picture into the game&lt;br&gt;&lt;br&gt;Export as:</source> <source>%1Export Snapmatic pictures%2&lt;br&gt;&lt;br&gt;JPG pictures make it possible to open the picture with a Image Viewer&lt;br&gt;GTA Snapmatic make it possible to import the picture into the game&lt;br&gt;&lt;br&gt;Export as:</source>
<translation>%1Эскпортировать картинки Snapmatic%2&lt;br&gt;&lt;br&gt;Картинки JPG можно открыть любым просмотрщиком&lt;br&gt;Картинки формата GTA Snapmatic можно снова импортировать в игру&lt;br&gt;&lt;br&gt;Экспортировать как:</translation> <translation>%1Эскпортировать картинки Snapmatic%2&lt;br&gt;&lt;br&gt;Картинки JPG можно открыть любым просмотрщиком&lt;br&gt;Картинки формата GTA Snapmatic можно снова импортировать в игру&lt;br&gt;&lt;br&gt;Экспортировать как:</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="961"/> <location filename="../ProfileInterface.cpp" line="963"/>
<source>Export selected...</source> <source>Export selected...</source>
<translation>Экпортировать выделенное...</translation> <translation>Экпортировать выделенное...</translation>
</message> </message>
@ -1147,7 +1228,7 @@ Press 1 for Default View</source>
<translation type="vanished">Подготавливаю эскпорт...</translation> <translation type="vanished">Подготавливаю эскпорт...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="995"/> <location filename="../ProfileInterface.cpp" line="997"/>
<source>Export failed with... <source>Export failed with...
%1</source> %1</source>
@ -1163,13 +1244,13 @@ Press 1 for Default View</source>
<translation>Экспортируется файл %1 из %2</translation> <translation>Экспортируется файл %1 из %2</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="362"/> <location filename="../UserInterface.cpp" line="374"/>
<source>All profile files (*.g5e SGTA* PGTA*)</source> <source>All profile files (*.g5e SGTA* PGTA*)</source>
<translation>Все файлы профиля (*.g5e SGTA* PGTA*)</translation> <translation>Все файлы профиля (*.g5e SGTA* PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="428"/> <location filename="../ProfileInterface.cpp" line="430"/>
<location filename="../UserInterface.cpp" line="363"/> <location filename="../UserInterface.cpp" line="375"/>
<source>GTA V Export (*.g5e)</source> <source>GTA V Export (*.g5e)</source>
<translation>GTA V Export (*.g5e)</translation> <translation>GTA V Export (*.g5e)</translation>
</message> </message>
@ -1319,32 +1400,32 @@ Press 1 for Default View</source>
<translation>Не удалось удалить сохранение %1</translation> <translation>Не удалось удалить сохранение %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1196"/> <location filename="../ProfileInterface.cpp" line="1198"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation>&amp;Просмотр</translation> <translation>&amp;Просмотр</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1198"/> <location filename="../ProfileInterface.cpp" line="1200"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation>&amp;Удалить</translation> <translation>&amp;Удалить</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1200"/> <location filename="../ProfileInterface.cpp" line="1202"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation>&amp;Выбрать</translation> <translation>&amp;Выбрать</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1201"/> <location filename="../ProfileInterface.cpp" line="1203"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation>Сн&amp;ять выбор</translation> <translation>Сн&amp;ять выбор</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1204"/> <location filename="../ProfileInterface.cpp" line="1206"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation>В&amp;ыбрать все</translation> <translation>В&amp;ыбрать все</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1208"/> <location filename="../ProfileInterface.cpp" line="1210"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation>Снять выбо&amp;р со всех</translation> <translation>Снять выбо&amp;р со всех</translation>
</message> </message>
@ -1354,7 +1435,7 @@ Press 1 for Default View</source>
<translation>Копировать сохранение</translation> <translation>Копировать сохранение</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1197"/> <location filename="../ProfileInterface.cpp" line="1199"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation>&amp;Экспортировать</translation> <translation>&amp;Экспортировать</translation>
</message> </message>
@ -1414,6 +1495,7 @@ Press 1 for Default View</source>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="14"/> <location filename="../SnapmaticEditor.ui" line="14"/>
<location filename="../SnapmaticEditor.ui" line="81"/> <location filename="../SnapmaticEditor.ui" line="81"/>
<location filename="../PictureDialog.cpp" line="727"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../SnapmaticEditor.cpp" line="241"/>
<source>Snapmatic Properties</source> <source>Snapmatic Properties</source>
<translation>Свойства Snapmatic</translation> <translation>Свойства Snapmatic</translation>
@ -1526,6 +1608,7 @@ Press 1 for Default View</source>
<translation>Нет</translation> <translation>Нет</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="727"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../SnapmaticEditor.cpp" line="241"/>
<source>Patching of Snapmatic Properties failed because of I/O Error</source> <source>Patching of Snapmatic Properties failed because of I/O Error</source>
<translation>Не удалось измененить свойства Snapmatic из-за проблемы ввода/вывода</translation> <translation>Не удалось измененить свойства Snapmatic из-за проблемы ввода/вывода</translation>
@ -1609,17 +1692,17 @@ Press 1 for Default View</source>
<translation>Не удалось удалить %1 из колелкции картинок Snapmatic </translation> <translation>Не удалось удалить %1 из колелкции картинок Snapmatic </translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1149"/> <location filename="../ProfileInterface.cpp" line="1151"/>
<source>Edi&amp;t</source> <source>Edi&amp;t</source>
<translation>&amp;Правка</translation> <translation>&amp;Правка</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1152"/> <location filename="../ProfileInterface.cpp" line="1154"/>
<source>Show &amp;In-game</source> <source>Show &amp;In-game</source>
<translation>Показывать в &amp;игре</translation> <translation>Показывать в &amp;игре</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1156"/> <location filename="../ProfileInterface.cpp" line="1158"/>
<source>Hide &amp;In-game</source> <source>Hide &amp;In-game</source>
<translation>Ск&amp;рыть в игре</translation> <translation>Ск&amp;рыть в игре</translation>
</message> </message>
@ -1628,7 +1711,7 @@ Press 1 for Default View</source>
<translation type="vanished">&amp;Изменить свойства...</translation> <translation type="vanished">&amp;Изменить свойства...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1159"/> <location filename="../ProfileInterface.cpp" line="1161"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation>&amp;Экспорт</translation> <translation>&amp;Экспорт</translation>
</message> </message>
@ -1641,32 +1724,32 @@ Press 1 for Default View</source>
<translation type="vanished">Экс&amp;портировать как GTA Snapmatic...</translation> <translation type="vanished">Экс&amp;портировать как GTA Snapmatic...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1162"/> <location filename="../ProfileInterface.cpp" line="1164"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation>По&amp;казать</translation> <translation>По&amp;казать</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1165"/> <location filename="../ProfileInterface.cpp" line="1167"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation>У&amp;далить</translation> <translation>У&amp;далить</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1167"/> <location filename="../ProfileInterface.cpp" line="1169"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation>&amp;Выделить</translation> <translation>&amp;Выделить</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1168"/> <location filename="../ProfileInterface.cpp" line="1170"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation>Сн&amp;ять выделение</translation> <translation>Сн&amp;ять выделение</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1171"/> <location filename="../ProfileInterface.cpp" line="1173"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation>В&amp;ыбрать все</translation> <translation>В&amp;ыбрать все</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1175"/> <location filename="../ProfileInterface.cpp" line="1177"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation>Снять выбо&amp;р со всех</translation> <translation>Снять выбо&amp;р со всех</translation>
</message> </message>
@ -1887,16 +1970,16 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="63"/> <location filename="../UserInterface.cpp" line="63"/>
<location filename="../UserInterface.cpp" line="233"/> <location filename="../UserInterface.cpp" line="228"/>
<location filename="../UserInterface.cpp" line="548"/> <location filename="../UserInterface.cpp" line="560"/>
<source>Select Profile</source> <source>Select Profile</source>
<translation>Выбор профиля</translation> <translation>Выбор профиля</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.ui" line="312"/> <location filename="../UserInterface.ui" line="312"/>
<location filename="../OptionsDialog.cpp" line="428"/> <location filename="../OptionsDialog.cpp" line="491"/>
<location filename="../UserInterface.cpp" line="103"/> <location filename="../UserInterface.cpp" line="103"/>
<location filename="../UserInterface.cpp" line="511"/> <location filename="../UserInterface.cpp" line="523"/>
<source>Select GTA V Folder...</source> <source>Select GTA V Folder...</source>
<translation>Выбрать папку GTA V...</translation> <translation>Выбрать папку GTA V...</translation>
</message> </message>
@ -1909,25 +1992,25 @@ Press 1 for Default View</source>
<message> <message>
<location filename="../UserInterface.ui" line="226"/> <location filename="../UserInterface.ui" line="226"/>
<location filename="../UserInterface.cpp" line="59"/> <location filename="../UserInterface.cpp" line="59"/>
<location filename="../UserInterface.cpp" line="540"/> <location filename="../UserInterface.cpp" line="552"/>
<source>&amp;About %1</source> <source>&amp;About %1</source>
<translation>&amp;О программе %1</translation> <translation>&amp;О программе %1</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="359"/> <location filename="../UserInterface.cpp" line="371"/>
<source>Open File...</source> <source>Open File...</source>
<translation>Открыть файл...</translation> <translation>Открыть файл...</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="406"/> <location filename="../UserInterface.cpp" line="418"/>
<location filename="../UserInterface.cpp" line="422"/> <location filename="../UserInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="449"/> <location filename="../UserInterface.cpp" line="461"/>
<location filename="../UserInterface.cpp" line="454"/> <location filename="../UserInterface.cpp" line="466"/>
<source>Open File</source> <source>Open File</source>
<translation>Открыть файл</translation> <translation>Открыть файл</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="449"/> <location filename="../UserInterface.cpp" line="461"/>
<source>Can&apos;t open %1 because of not valid file format</source> <source>Can&apos;t open %1 because of not valid file format</source>
<translation>Не удалось открыть %1 из-за неверного формата файла</translation> <translation>Не удалось открыть %1 из-за неверного формата файла</translation>
</message> </message>