add JSON Editor + Interface improvements

This commit is contained in:
Syping 2017-11-22 14:59:40 +01:00
parent a591adf6ea
commit f9eee75757
35 changed files with 2153 additions and 856 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-dev3\\\\\\\"" 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-dev4\\\\\\\"" 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=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 - sudo checkinstall -D --default --nodoc --install=no --pkgname=gta5view-qt5 --pkgversion=$PACKAGE_VERSION --pkgrelease=dev4 --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-dev3\\\\\\\"" 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-dev4\\\\\\\"" 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=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 - sudo checkinstall -D --default --nodoc --install=no --pkgname=gta5view-qt4 --pkgversion=$PACKAGE_VERSION --pkgrelease=dev4 --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

@ -92,6 +92,17 @@ QStringList CrewDatabase::getCompatibleCrews_p()
return crewDB->childKeys(); return crewDB->childKeys();
} }
QString CrewDatabase::getCrewName(QString crewID)
{
QMutexLocker locker(&mutex);
#ifdef GTA5SYNC_DEBUG
qDebug() << "getCrewName" << crewID;
#endif
QString crewStr = crewDB->value(crewID, crewID).toString();
if (crewID == "0") crewStr = tr("No Crew", "");
return crewStr;
}
QString CrewDatabase::getCrewName(int crewID) QString CrewDatabase::getCrewName(int crewID)
{ {
QMutexLocker locker(&mutex); QMutexLocker locker(&mutex);

View File

@ -29,6 +29,7 @@ class CrewDatabase : public QObject
Q_OBJECT Q_OBJECT
public: public:
explicit CrewDatabase(QObject *parent = 0); explicit CrewDatabase(QObject *parent = 0);
QString getCrewName(QString crewID);
QString getCrewName(int crewID); QString getCrewName(int crewID);
QStringList getCompatibleCrews(); QStringList getCompatibleCrews();
QStringList getCrews(); QStringList getCrews();

164
JsonEditorDialog.cpp Normal file
View File

@ -0,0 +1,164 @@
/*****************************************************************************
* 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 "JsonEditorDialog.h"
#include "ui_JsonEditorDialog.h"
#include "SnapmaticEditor.h"
#include "AppEnv.h"
#include <QStringBuilder>
#include <QJsonDocument>
#include <QMessageBox>
#if QT_VERSION >= 0x050200
#include <QFontDatabase>
#include <QDebug>
#endif
JsonEditorDialog::JsonEditorDialog(SnapmaticPicture *picture, QWidget *parent) :
QDialog(parent), smpic(picture),
ui(new Ui::JsonEditorDialog)
{
// Set Window Flags
setWindowFlags(windowFlags()^Qt::WindowContextHelpButtonHint^Qt::WindowMinMaxButtonsHint);
ui->setupUi(this);
if (QIcon::hasThemeIcon("dialog-close"))
{
ui->cmdClose->setIcon(QIcon::fromTheme("dialog-close"));
}
jsonCode = picture->getJsonStr();
#if QT_VERSION >= 0x050200
ui->txtJSON->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont));
#endif
QFontMetrics fm(ui->txtJSON->font());
ui->txtJSON->setTabStopWidth(fm.width(" "));
QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonCode.toUtf8());
ui->txtJSON->setStyleSheet("QPlainTextEdit{background-color: rgb(46, 47, 48); color: rgb(238, 231, 172);}");
ui->txtJSON->setPlainText(QString::fromUtf8(jsonDocument.toJson(QJsonDocument::Indented)).trimmed());
jsonHl = new JSHighlighter(ui->txtJSON->document());
// DPI calculation
qreal screenRatio = AppEnv::screenRatio();
ui->hlButtons->setContentsMargins(9 * screenRatio, 0, 9 * screenRatio, 0);
if (screenRatio > 1)
{
ui->lineJSON->setMinimumHeight(qRound(1 * screenRatio));
ui->lineJSON->setMaximumHeight(qRound(1 * screenRatio));
}
resize(450 * screenRatio, 550 * screenRatio);
}
JsonEditorDialog::~JsonEditorDialog()
{
delete jsonHl;
delete ui;
}
void JsonEditorDialog::closeEvent(QCloseEvent *ev)
{
QString jsonPatched = QString(ui->txtJSON->toPlainText()).replace("\t", " ");
QJsonDocument jsonNew = QJsonDocument::fromJson(jsonPatched.toUtf8());
QJsonDocument jsonOriginal = QJsonDocument::fromJson(jsonCode.toUtf8());
QString originalCode = QString::fromUtf8(jsonOriginal.toJson(QJsonDocument::Compact));
QString newCode = QString::fromUtf8(jsonNew.toJson(QJsonDocument::Compact));
if (newCode != originalCode)
{
QMessageBox::StandardButton button = QMessageBox::warning(this, SnapmaticEditor::tr("Snapmatic Properties"), SnapmaticEditor::tr("<h4>Unsaved changes detected</h4>You want to save the JSON content before you quit?"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel, QMessageBox::Cancel);
if (button == QMessageBox::Yes)
{
if (saveJsonContent())
{
ev->accept();
}
else
{
ev->ignore();
}
return;
}
else if (button == QMessageBox::No)
{
ev->accept();
return;
}
else
{
ev->ignore();
return;
}
}
}
bool JsonEditorDialog::saveJsonContent()
{
QString jsonPatched = QString(ui->txtJSON->toPlainText()).replace("\t", " ");
QJsonDocument jsonNew = QJsonDocument::fromJson(jsonPatched.toUtf8());
if (!jsonNew.isEmpty())
{
QJsonDocument jsonOriginal = QJsonDocument::fromJson(jsonCode.toUtf8());
QString originalCode = QString::fromUtf8(jsonOriginal.toJson(QJsonDocument::Compact));
QString newCode = QString::fromUtf8(jsonNew.toJson(QJsonDocument::Compact));
if (newCode != originalCode)
{
QString currentFilePath = smpic->getPictureFilePath();
QString originalFilePath = smpic->getOriginalPictureFilePath();
QString backupFileName = originalFilePath % ".bak";
if (!QFile::exists(backupFileName))
{
QFile::copy(currentFilePath, backupFileName);
}
smpic->setJsonStr(newCode, true);
if (!smpic->isJsonOk())
{
QMessageBox::warning(this, SnapmaticEditor::tr("Snapmatic Properties"), SnapmaticEditor::tr("Patching of Snapmatic Properties failed because of JSON Error"));
smpic->setJsonStr(originalCode, true);
return false;
}
if (!smpic->exportPicture(currentFilePath))
{
QMessageBox::warning(this, SnapmaticEditor::tr("Snapmatic Properties"), SnapmaticEditor::tr("Patching of Snapmatic Properties failed because of I/O Error"));
smpic->setJsonStr(originalCode, true);
return false;
}
jsonCode = newCode;
smpic->emitUpdate();
return true;
}
return true;
}
else
{
QMessageBox::warning(this, SnapmaticEditor::tr("Snapmatic Properties"), SnapmaticEditor::tr("Patching of Snapmatic Properties failed because of JSON Error"));
return false;
}
}
void JsonEditorDialog::on_cmdClose_clicked()
{
this->close();
}
void JsonEditorDialog::on_cmdSave_clicked()
{
if (saveJsonContent())
{
this->close();
}
}

56
JsonEditorDialog.h Normal file
View File

@ -0,0 +1,56 @@
/*****************************************************************************
* 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/>.
*****************************************************************************/
#ifndef JSONEDITORDIALOG_H
#define JSONEDITORDIALOG_H
#include "SnapmaticPicture.h"
#include "JSHighlighter.h"
#include <QDialog>
namespace Ui {
class JsonEditorDialog;
}
class JsonEditorDialog : public QDialog
{
Q_OBJECT
public:
explicit JsonEditorDialog(SnapmaticPicture *picture, QWidget *parent = 0);
bool saveJsonContent();
~JsonEditorDialog();
protected:
void closeEvent(QCloseEvent *ev);
private slots:
void on_cmdClose_clicked();
void on_cmdSave_clicked();
signals:
void codeUpdated(QString jsonCode);
private:
QString jsonCode;
JSHighlighter *jsonHl;
SnapmaticPicture *smpic;
Ui::JsonEditorDialog *ui;
};
#endif // JSONEDITORDIALOG_H

124
JsonEditorDialog.ui Normal file
View File

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>JsonEditorDialog</class>
<widget class="QDialog" name="JsonEditorDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>550</width>
<height>450</height>
</rect>
</property>
<property name="windowTitle">
<string>Snapmatic JSON Editor</string>
</property>
<layout class="QVBoxLayout" name="vlInterface">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<item>
<layout class="QVBoxLayout" name="vlJSON">
<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="QPlainTextEdit" name="txtJSON">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
</widget>
</item>
<item>
<widget class="Line" name="lineJSON">
<property name="minimumSize">
<size>
<width>0</width>
<height>1</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>1</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QFrame[frameShape=&quot;4&quot;]
{
color: black;
}</string>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>1</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="hlButtons">
<item>
<spacer name="hsButtons">
<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>
<widget class="QPushButton" name="cmdSave">
<property name="text">
<string>&amp;Save</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="cmdClose">
<property name="text">
<string>&amp;Close</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -34,6 +34,7 @@ MapLocationDialog::MapLocationDialog(double x, double y, QWidget *parent) :
ui->cmdApply->setVisible(false); ui->cmdApply->setVisible(false);
ui->cmdRevert->setVisible(false); ui->cmdRevert->setVisible(false);
ui->cmdDone->setCursor(Qt::ArrowCursor); ui->cmdDone->setCursor(Qt::ArrowCursor);
ui->cmdClose->setCursor(Qt::ArrowCursor);
// DPI calculation // DPI calculation
qreal screenRatio = AppEnv::screenRatio(); qreal screenRatio = AppEnv::screenRatio();

View File

@ -51,13 +51,13 @@ private slots:
void on_cmdClose_clicked(); void on_cmdClose_clicked();
private: private:
Ui::MapLocationDialog *ui;
double xpos_old; double xpos_old;
double ypos_old; double ypos_old;
double xpos_new; double xpos_new;
double ypos_new; double ypos_new;
bool propUpdate; bool propUpdate;
bool changeMode; bool changeMode;
Ui::MapLocationDialog *ui;
}; };
#endif // MAPLOCATIONDIALOG_H #endif // MAPLOCATIONDIALOG_H

View File

@ -25,6 +25,7 @@
#include "config.h" #include "config.h"
#include <QStringBuilder> #include <QStringBuilder>
#include <QDesktopWidget> #include <QDesktopWidget>
#include <QStyleFactory>
#include <QApplication> #include <QApplication>
#include <QFileDialog> #include <QFileDialog>
#include <QMessageBox> #include <QMessageBox>
@ -72,18 +73,19 @@ OptionsDialog::OptionsDialog(ProfileDatabase *profileDB, QWidget *parent) :
ui->cmdCancel->setIcon(QIcon::fromTheme("dialog-cancel")); ui->cmdCancel->setIcon(QIcon::fromTheme("dialog-cancel"));
} }
// DPI calculation
qreal screenRatio = AppEnv::screenRatio();
resize(435 * screenRatio, 405 * screenRatio);
setupTreeWidget(); setupTreeWidget();
setupLanguageBox(); setupLanguageBox();
setupRadioButtons(); setupRadioButtons();
setupDefaultProfile(); setupDefaultProfile();
setupPictureSettings(); setupPictureSettings();
setupCustomGTAFolder(); setupCustomGTAFolder();
setupInterfaceSettings();
setupSnapmaticPictureViewer(); setupSnapmaticPictureViewer();
// DPI calculation
qreal screenRatio = AppEnv::screenRatio();
resize(435 * screenRatio, 405 * screenRatio);
#ifdef GTA5SYNC_DISABLED #ifdef GTA5SYNC_DISABLED
ui->tabWidget->removeTab(ui->tabWidget->indexOf(ui->tabSync)); ui->tabWidget->removeTab(ui->tabWidget->indexOf(ui->tabSync));
#endif #endif
@ -239,6 +241,61 @@ void OptionsDialog::setupRadioButtons()
} }
} }
void OptionsDialog::setupInterfaceSettings()
{
settings->beginGroup("Startup");
bool alwaysUseMessageFont = settings->value("AlwaysUseMessageFont", false).toBool();
ui->cbAlwaysUseMessageFont->setChecked(alwaysUseMessageFont);
#ifdef GTA5SYNC_WIN
if (QSysInfo::windowsVersion() >= 0x0080)
{
ui->gbFont->setVisible(false);
ui->cbAlwaysUseMessageFont->setVisible(false);
}
#else
ui->gbFont->setVisible(false);
ui->cbAlwaysUseMessageFont->setVisible(false);
#endif
QString currentStyle = qApp->style()->objectName();
QString appStyle = settings->value("AppStyle", currentStyle).toString();
bool customStyle = settings->value("CustomStyle", false).toBool();
const QStringList availableStyles = QStyleFactory::keys();
ui->cbStyleList->addItems(availableStyles);
if (availableStyles.contains(appStyle, Qt::CaseInsensitive))
{
// use 'for' for select to be sure it's case insensitive
int currentIndex = 0;
for (QString currentStyleFF : availableStyles)
{
if (currentStyleFF.toLower() == appStyle.toLower())
{
ui->cbStyleList->setCurrentIndex(currentIndex);
}
currentIndex++;
}
}
else
{
if (availableStyles.contains(currentStyle, Qt::CaseInsensitive))
{
int currentIndex = 0;
for (QString currentStyleFF : availableStyles)
{
if (currentStyleFF.toLower() == currentStyle.toLower())
{
ui->cbStyleList->setCurrentIndex(currentIndex);
}
currentIndex++;
}
}
}
if (customStyle)
{
ui->cbDefaultStyle->setChecked(false);
}
settings->endGroup();
}
void OptionsDialog::on_cmdOK_clicked() void OptionsDialog::on_cmdOK_clicked()
{ {
applySettings(); applySettings();
@ -310,6 +367,22 @@ void OptionsDialog::applySettings()
settings->setValue("force", forceCustomFolder); settings->setValue("force", forceCustomFolder);
settings->endGroup(); settings->endGroup();
bool defaultStyle = ui->cbDefaultStyle->isChecked();
settings->beginGroup("Startup");
if (!defaultStyle)
{
QString newStyle = ui->cbStyleList->currentText();
settings->setValue("CustomStyle", true);
settings->setValue("AppStyle", newStyle);
qApp->setStyle(QStyleFactory::create(newStyle));
}
else
{
settings->setValue("CustomStyle", false);
}
settings->setValue("AlwaysUseMessageFont", ui->cbAlwaysUseMessageFont->isChecked());
settings->endGroup();
#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; bool languageAreaChanged = ui->cbAreaLanguage->currentData().toString() != currentAreaLanguage;
@ -494,3 +567,8 @@ void OptionsDialog::on_cmdExploreFolder_clicked()
ui->txtFolder->setText(GTAV_Folder); ui->txtFolder->setText(GTAV_Folder);
} }
} }
void OptionsDialog::on_cbDefaultStyle_toggled(bool checked)
{
ui->cbStyleList->setDisabled(checked);
}

View File

@ -46,6 +46,7 @@ private slots:
void on_hsPicQuality_valueChanged(int value); void on_hsPicQuality_valueChanged(int value);
void on_cbIgnoreAspectRatio_toggled(bool checked); void on_cbIgnoreAspectRatio_toggled(bool checked);
void on_cmdExploreFolder_clicked(); void on_cmdExploreFolder_clicked();
void on_cbDefaultStyle_toggled(bool checked);
signals: signals:
void settingsApplied(int contentMode, bool languageChanged); void settingsApplied(int contentMode, bool languageChanged);
@ -61,6 +62,7 @@ private:
QString defaultProfile; QString defaultProfile;
QString percentString; QString percentString;
QSettings *settings; QSettings *settings;
bool withoutPlayers;
bool currentFFolder; bool currentFFolder;
int contentMode; int contentMode;
int customQuality; int customQuality;
@ -73,6 +75,7 @@ private:
void setupDefaultProfile(); void setupDefaultProfile();
void setupPictureSettings(); void setupPictureSettings();
void setupCustomGTAFolder(); void setupCustomGTAFolder();
void setupInterfaceSettings();
void setupSnapmaticPictureViewer(); void setupSnapmaticPictureViewer();
void applySettings(); void applySettings();
}; };

View File

@ -314,7 +314,7 @@
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="vsTabPictures"> <spacer name="vsPictures">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
@ -382,15 +382,15 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="tabLocalization"> <widget class="QWidget" name="tabInterface">
<attribute name="title"> <attribute name="title">
<string>Language</string> <string>Interface</string>
</attribute> </attribute>
<layout class="QVBoxLayout" name="vlLocalization"> <layout class="QVBoxLayout" name="vlInterface">
<item> <item>
<widget class="QGroupBox" name="gbLanguage"> <widget class="QGroupBox" name="gbLanguage">
<property name="title"> <property name="title">
<string>Interface</string> <string>Language for Interface</string>
</property> </property>
<layout class="QVBoxLayout" name="vlLanguage"> <layout class="QVBoxLayout" name="vlLanguage">
<item> <item>
@ -409,9 +409,9 @@
<item> <item>
<widget class="QGroupBox" name="gbAreas"> <widget class="QGroupBox" name="gbAreas">
<property name="title"> <property name="title">
<string>Areas</string> <string>Language for Areas</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="vlAreas">
<item> <item>
<widget class="QComboBox" name="cbAreaLanguage"/> <widget class="QComboBox" name="cbAreaLanguage"/>
</item> </item>
@ -425,6 +425,65 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<widget class="QGroupBox" name="gbStyle">
<property name="title">
<string>Style</string>
</property>
<layout class="QVBoxLayout" name="vlStyle">
<item>
<widget class="QCheckBox" name="cbDefaultStyle">
<property name="text">
<string>Use Default Style (Restart)</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="hlStyle">
<item>
<widget class="QLabel" name="labStyle">
<property name="text">
<string>Style:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="cbStyleList">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="gbFont">
<property name="title">
<string>Font</string>
</property>
<layout class="QVBoxLayout" name="vlFont">
<item>
<widget class="QCheckBox" name="cbAlwaysUseMessageFont">
<property name="text">
<string>Always use Message Font (Windows 2003 and earlier)</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item> <item>
<spacer name="vsInterface"> <spacer name="vsInterface">
<property name="orientation"> <property name="orientation">

View File

@ -22,6 +22,7 @@
#include "ui_PictureDialog.h" #include "ui_PictureDialog.h"
#include "SidebarGenerator.h" #include "SidebarGenerator.h"
#include "MapLocationDialog.h" #include "MapLocationDialog.h"
#include "JsonEditorDialog.h"
#include "SnapmaticEditor.h" #include "SnapmaticEditor.h"
#include "StandardPaths.h" #include "StandardPaths.h"
#include "PictureExport.h" #include "PictureExport.h"
@ -62,6 +63,17 @@
#include <QUrl> #include <QUrl>
#include <QDir> #include <QDir>
// Macros for better Overview + RAM
#define locX QString::number(picture->getSnapmaticProperties().location.x)
#define locY QString::number(picture->getSnapmaticProperties().location.y)
#define locZ QString::number(picture->getSnapmaticProperties().location.z)
#define crewID QString::number(picture->getSnapmaticProperties().crewID)
#define picArea picture->getSnapmaticProperties().location.area
#define picPath picture->getPictureFilePath()
#define picTitl StringParser::escapeString(picture->getPictureTitle())
#define plyrsList picture->getSnapmaticProperties().playersList
#define created picture->getSnapmaticProperties().createdDateTime.toString(Qt::DefaultLocaleShortDate)
PictureDialog::PictureDialog(ProfileDatabase *profileDB, CrewDatabase *crewDB, QWidget *parent) : PictureDialog::PictureDialog(ProfileDatabase *profileDB, CrewDatabase *crewDB, QWidget *parent) :
QDialog(parent), profileDB(profileDB), crewDB(crewDB), QDialog(parent), profileDB(profileDB), crewDB(crewDB),
ui(new Ui::PictureDialog) ui(new Ui::PictureDialog)
@ -102,22 +114,13 @@ void PictureDialog::setupPictureDialog(bool withDatabase_)
windowTitleStr = this->windowTitle(); windowTitleStr = this->windowTitle();
jsonDrawString = ui->labJSON->text(); jsonDrawString = ui->labJSON->text();
ui->cmdManage->setEnabled(false); ui->cmdManage->setEnabled(false);
plyrsList = QStringList();
fullscreenWidget = nullptr; fullscreenWidget = nullptr;
rqFullscreen = false; rqFullscreen = false;
previewMode = false; previewMode = false;
naviEnabled = false; naviEnabled = false;
indexed = false; indexed = false;
picArea = "";
picTitl = "";
picPath = "";
created = "";
crewStr = "";
crewID = "";
locX = "";
locY = "";
locZ = "";
smpic = nullptr; smpic = nullptr;
crewStr = "";
// With datebase // With datebase
withDatabase = withDatabase_; withDatabase = withDatabase_;
@ -145,9 +148,11 @@ void PictureDialog::setupPictureDialog(bool withDatabase_)
jpegExportAction = manageMenu->addAction(tr("Export as &Picture..."), this, SLOT(exportSnapmaticPicture())); jpegExportAction = manageMenu->addAction(tr("Export as &Picture..."), this, SLOT(exportSnapmaticPicture()));
pgtaExportAction = manageMenu->addAction(tr("Export as &Snapmatic..."), this, SLOT(copySnapmaticPicture())); pgtaExportAction = manageMenu->addAction(tr("Export as &Snapmatic..."), this, SLOT(copySnapmaticPicture()));
manageMenuSep1 = manageMenu->addSeparator(); manageMenuSep1 = manageMenu->addSeparator();
openViewerAction = manageMenu->addAction(tr("Open &Map View..."), this, SLOT(openPreviewMap()));
openViewerAction->setShortcut(Qt::Key_M);
propEditorAction = manageMenu->addAction(tr("&Edit Properties..."), this, SLOT(editSnapmaticProperties())); propEditorAction = manageMenu->addAction(tr("&Edit Properties..."), this, SLOT(editSnapmaticProperties()));
manageMenuSep2 = manageMenu->addSeparator();
openViewerAction = manageMenu->addAction(tr("Open &Map Viewer..."), this, SLOT(openPreviewMap()));
openViewerAction->setShortcut(Qt::Key_M);
jsonEditorAction = manageMenu->addAction(tr("Open &JSON Editor..."), this, SLOT(editSnapmaticRawJson()));
ui->cmdManage->setMenu(manageMenu); ui->cmdManage->setMenu(manageMenu);
// Global map // Global map
@ -176,9 +181,11 @@ PictureDialog::~PictureDialog()
{ {
delete propEditorAction; delete propEditorAction;
delete openViewerAction; delete openViewerAction;
delete jsonEditorAction;
delete jpegExportAction; delete jpegExportAction;
delete pgtaExportAction; delete pgtaExportAction;
delete manageMenuSep1; delete manageMenuSep1;
delete manageMenuSep2;
delete manageMenu; delete manageMenu;
delete ui; delete ui;
} }
@ -426,7 +433,6 @@ void PictureDialog::setSnapmaticPicture(SnapmaticPicture *picture, bool readOk,
snapmaticPicture = QImage(); snapmaticPicture = QImage();
indexed = _indexed; indexed = _indexed;
index = _index; index = _index;
picPath = picture->getPictureFilePath();
smpic = picture; smpic = picture;
if (!readOk) if (!readOk)
{ {
@ -441,23 +447,14 @@ void PictureDialog::setSnapmaticPicture(SnapmaticPicture *picture, bool readOk,
} }
if (picture->isJsonOk()) if (picture->isJsonOk())
{ {
locX = QString::number(picture->getSnapmaticProperties().location.x);
locY = QString::number(picture->getSnapmaticProperties().location.y);
locZ = QString::number(picture->getSnapmaticProperties().location.z);
if (withDatabase) if (withDatabase)
{ {
crewID = QString::number(picture->getSnapmaticProperties().crewID); crewStr = crewDB->getCrewName(crewID);
crewStr = crewDB->getCrewName(picture->getSnapmaticProperties().crewID);
} }
else else
{ {
crewID = QString::number(picture->getSnapmaticProperties().crewID); crewStr = crewID;
crewStr = QString::number(picture->getSnapmaticProperties().crewID);
} }
created = picture->getSnapmaticProperties().createdDateTime.toString(Qt::DefaultLocaleShortDate);
plyrsList = picture->getSnapmaticProperties().playersList;
picTitl = StringParser::escapeString(picture->getPictureTitle());
picArea = picture->getSnapmaticProperties().location.area;
if (globalMap.contains(picArea)) if (globalMap.contains(picArea))
{ {
picAreaStr = globalMap[picArea]; picAreaStr = globalMap[picArea];
@ -565,15 +562,18 @@ void PictureDialog::renderPicture()
void PictureDialog::crewNameUpdated() void PictureDialog::crewNameUpdated()
{ {
if (withDatabase && crewID == crewStr) SnapmaticPicture *picture = smpic; // used by macro
QString crewIDStr = crewID;
if (withDatabase && crewIDStr == crewStr)
{ {
crewStr = crewDB->getCrewName(crewID.toInt()); crewStr = crewDB->getCrewName(crewIDStr);
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));
} }
} }
void PictureDialog::playerNameUpdated() void PictureDialog::playerNameUpdated()
{ {
SnapmaticPicture *picture = smpic; // used by macro
if (plyrsList.count() >= 1) if (plyrsList.count() >= 1)
{ {
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));
@ -582,19 +582,23 @@ void PictureDialog::playerNameUpdated()
QString PictureDialog::generateCrewString() QString PictureDialog::generateCrewString()
{ {
if (crewID != "0" && !crewID.isEmpty()) SnapmaticPicture *picture = smpic; // used by macro
QString crewIDStr = crewID; // save operation time
if (crewIDStr != "0" && !crewIDStr.isEmpty())
{ {
return QString("<a href=\"https://socialclub.rockstargames.com/crew/" % QString(crewStr).replace(" ", "_") % "/" % crewID % "\">" % crewStr % "</a>"); return QString("<a href=\"https://socialclub.rockstargames.com/crew/" % QString(crewStr).replace(" ", "_") % "/" % crewIDStr % "\">" % crewStr % "</a>");
} }
return tr("No Crew"); return tr("No Crew");
} }
QString PictureDialog::generatePlayersString() QString PictureDialog::generatePlayersString()
{ {
SnapmaticPicture *picture = smpic; // used by macro
const QStringList playersList = plyrsList; // save operation time
QString plyrsStr; QString plyrsStr;
if (plyrsList.length() >= 1) if (playersList.length() >= 1)
{ {
for (QString player : plyrsList) for (QString player : playersList)
{ {
QString playerName; QString playerName;
if (withDatabase) if (withDatabase)
@ -691,14 +695,15 @@ int PictureDialog::getIndex()
void PictureDialog::openPreviewMap() void PictureDialog::openPreviewMap()
{ {
SnapmaticPicture *picture = smpic;
MapLocationDialog *mapLocDialog; MapLocationDialog *mapLocDialog;
if (rqFullscreen && fullscreenWidget != nullptr) if (rqFullscreen && fullscreenWidget != nullptr)
{ {
mapLocDialog = new MapLocationDialog(smpic->getSnapmaticProperties().location.x, smpic->getSnapmaticProperties().location.y, fullscreenWidget); mapLocDialog = new MapLocationDialog(picture->getSnapmaticProperties().location.x, picture->getSnapmaticProperties().location.y, fullscreenWidget);
} }
else else
{ {
mapLocDialog = new MapLocationDialog(smpic->getSnapmaticProperties().location.x, smpic->getSnapmaticProperties().location.y, this); mapLocDialog = new MapLocationDialog(picture->getSnapmaticProperties().location.x, picture->getSnapmaticProperties().location.y, this);
} }
mapLocDialog->setWindowIcon(windowIcon()); mapLocDialog->setWindowIcon(windowIcon());
mapLocDialog->setModal(true); mapLocDialog->setModal(true);
@ -707,25 +712,25 @@ void PictureDialog::openPreviewMap()
if (mapLocDialog->propUpdated()) if (mapLocDialog->propUpdated())
{ {
// Update Snapmatic Properties // Update Snapmatic Properties
SnapmaticProperties localSpJson = smpic->getSnapmaticProperties(); SnapmaticProperties localSpJson = picture->getSnapmaticProperties();
localSpJson.location.x = mapLocDialog->getXpos(); localSpJson.location.x = mapLocDialog->getXpos();
localSpJson.location.y = mapLocDialog->getYpos(); localSpJson.location.y = mapLocDialog->getYpos();
localSpJson.location.z = 0; localSpJson.location.z = 0;
// Update Snapmatic Picture // Update Snapmatic Picture
QString currentFilePath = smpic->getPictureFilePath(); QString currentFilePath = picture->getPictureFilePath();
QString originalFilePath = smpic->getOriginalPictureFilePath(); QString originalFilePath = picture->getOriginalPictureFilePath();
QString backupFileName = originalFilePath % ".bak"; QString backupFileName = originalFilePath % ".bak";
if (!QFile::exists(backupFileName)) if (!QFile::exists(backupFileName))
{ {
QFile::copy(currentFilePath, backupFileName); QFile::copy(currentFilePath, backupFileName);
} }
SnapmaticProperties fallbackProperties = smpic->getSnapmaticProperties(); SnapmaticProperties fallbackProperties = picture->getSnapmaticProperties();
smpic->setSnapmaticProperties(localSpJson); picture->setSnapmaticProperties(localSpJson);
if (!smpic->exportPicture(currentFilePath)) if (!picture->exportPicture(currentFilePath))
{ {
QMessageBox::warning(this, SnapmaticEditor::tr("Snapmatic Properties"), SnapmaticEditor::tr("Patching of Snapmatic Properties failed because of I/O Error")); QMessageBox::warning(this, SnapmaticEditor::tr("Snapmatic Properties"), SnapmaticEditor::tr("Patching of Snapmatic Properties failed because of I/O Error"));
smpic->setSnapmaticProperties(fallbackProperties); picture->setSnapmaticProperties(fallbackProperties);
} }
else else
{ {
@ -737,6 +742,7 @@ void PictureDialog::openPreviewMap()
void PictureDialog::editSnapmaticProperties() void PictureDialog::editSnapmaticProperties()
{ {
SnapmaticPicture *picture = smpic;
SnapmaticEditor *snapmaticEditor; SnapmaticEditor *snapmaticEditor;
if (rqFullscreen && fullscreenWidget != nullptr) if (rqFullscreen && fullscreenWidget != nullptr)
{ {
@ -746,29 +752,42 @@ void PictureDialog::editSnapmaticProperties()
{ {
snapmaticEditor = new SnapmaticEditor(crewDB, this); snapmaticEditor = new SnapmaticEditor(crewDB, this);
} }
snapmaticEditor->setWindowFlags(snapmaticEditor->windowFlags()^Qt::WindowContextHelpButtonHint);
snapmaticEditor->setWindowIcon(windowIcon()); snapmaticEditor->setWindowIcon(windowIcon());
snapmaticEditor->setSnapmaticPicture(smpic); snapmaticEditor->setSnapmaticPicture(picture);
snapmaticEditor->setModal(true); snapmaticEditor->setModal(true);
snapmaticEditor->show();
snapmaticEditor->exec(); snapmaticEditor->exec();
delete snapmaticEditor; delete snapmaticEditor;
} }
void PictureDialog::editSnapmaticRawJson()
{
SnapmaticPicture *picture = smpic;
JsonEditorDialog *jsonEditor = new JsonEditorDialog(picture, this);
jsonEditor->setModal(true);
jsonEditor->show();
jsonEditor->exec();
delete jsonEditor;
}
void PictureDialog::updated() void PictureDialog::updated()
{ {
SnapmaticPicture *picture = smpic; // used by macro
if (withDatabase) if (withDatabase)
{ {
crewID = QString::number(smpic->getSnapmaticProperties().crewID); crewStr = crewDB->getCrewName(crewID);
crewStr = crewDB->getCrewName(smpic->getSnapmaticProperties().crewID);
} }
else else
{ {
crewID = QString::number(smpic->getSnapmaticProperties().crewID); crewStr = crewID;
crewStr = QString::number(smpic->getSnapmaticProperties().crewID); }
if (globalMap.contains(picArea))
{
picAreaStr = globalMap[picArea];
}
else
{
picAreaStr = picArea;
} }
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());
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

@ -69,6 +69,7 @@ private slots:
void nextPictureRequestedSlot(); void nextPictureRequestedSlot();
void previousPictureRequestedSlot(); void previousPictureRequestedSlot();
void editSnapmaticProperties(); void editSnapmaticProperties();
void editSnapmaticRawJson();
void renderOverlayPicture(); void renderOverlayPicture();
void renderPicture(); void renderPicture();
void openPreviewMap(); void openPreviewMap();
@ -100,23 +101,16 @@ private:
QAction *pgtaExportAction; QAction *pgtaExportAction;
QAction *propEditorAction; QAction *propEditorAction;
QAction *openViewerAction; QAction *openViewerAction;
QAction *jsonEditorAction;
QAction *manageMenuSep1; QAction *manageMenuSep1;
QAction *manageMenuSep2;
QImage avatarAreaPicture; QImage avatarAreaPicture;
QImage snapmaticPicture; QImage snapmaticPicture;
QImage overlayTempImage; QImage overlayTempImage;
QString jsonDrawString; QString jsonDrawString;
QString windowTitleStr; QString windowTitleStr;
QStringList plyrsList;
QString picAreaStr; QString picAreaStr;
QString picArea;
QString picTitl;
QString picPath;
QString created;
QString crewStr; QString crewStr;
QString crewID;
QString locX;
QString locY;
QString locZ;
bool overlayEnabled; bool overlayEnabled;
bool withDatabase; bool withDatabase;
bool rqFullscreen; bool rqFullscreen;

View File

@ -54,6 +54,9 @@
#include <QUrl> #include <QUrl>
#include <QDir> #include <QDir>
#define importTimeFormat "HHmmss"
#define findRetryLimit 500
ProfileInterface::ProfileInterface(ProfileDatabase *profileDB, CrewDatabase *crewDB, DatabaseThread *threadDB, QWidget *parent) : ProfileInterface::ProfileInterface(ProfileDatabase *profileDB, CrewDatabase *crewDB, DatabaseThread *threadDB, QWidget *parent) :
QWidget(parent), profileDB(profileDB), crewDB(crewDB), threadDB(threadDB), QWidget(parent), profileDB(profileDB), crewDB(crewDB), threadDB(threadDB),
ui(new Ui::ProfileInterface) ui(new Ui::ProfileInterface)
@ -446,7 +449,9 @@ fileDialogPreOpen: //Work?
if (selectedFiles.length() == 1) if (selectedFiles.length() == 1)
{ {
QString selectedFile = selectedFiles.at(0); QString selectedFile = selectedFiles.at(0);
if (!importFile(selectedFile, true)) goto fileDialogPreOpen; //Work? QDateTime importDateTime = QDateTime::currentDateTime();
int currentTime = importDateTime.toString(importTimeFormat).toInt();
if (!importFile(selectedFile, importDateTime, &currentTime, true)) goto fileDialogPreOpen; //Work?
} }
else if (selectedFiles.length() > 1) else if (selectedFiles.length() > 1)
{ {
@ -486,13 +491,14 @@ void ProfileInterface::importFilesProgress(QStringList selectedFiles)
pbBar.at(0)->setTextVisible(false); pbBar.at(0)->setTextVisible(false);
pbDialog.show(); pbDialog.show();
QTime t; QDateTime importDateTime = QDateTime::currentDateTime();
t.start(); int currentTime = importDateTime.time().toString(importTimeFormat).toInt();
for (QString selectedFile : selectedFiles) for (QString selectedFile : selectedFiles)
{ {
pbDialog.setValue(overallId); pbDialog.setValue(overallId);
pbDialog.setLabelText(tr("Import file %1 of %2 files").arg(QString::number(overallId), QString::number(maximumId))); pbDialog.setLabelText(tr("Import file %1 of %2 files").arg(QString::number(overallId), QString::number(maximumId)));
if (!importFile(selectedFile, false)) importDateTime = QDateTime::currentDateTime();
if (!importFile(selectedFile, importDateTime, &currentTime, false))
{ {
failedFiles << QFileInfo(selectedFile).fileName(); failedFiles << QFileInfo(selectedFile).fileName();
} }
@ -510,7 +516,7 @@ void ProfileInterface::importFilesProgress(QStringList selectedFiles)
} }
} }
bool ProfileInterface::importFile(QString selectedFile, bool notMultiple) bool ProfileInterface::importFile(QString selectedFile, QDateTime importDateTime, int *currentTime, bool notMultiple)
{ {
QString selectedFileName = QFileInfo(selectedFile).fileName(); QString selectedFileName = QFileInfo(selectedFile).fileName();
if (QFile::exists(selectedFile)) if (QFile::exists(selectedFile))
@ -590,7 +596,7 @@ bool ProfileInterface::importFile(QString selectedFile, bool notMultiple)
diffWidth = diffWidth / 2; diffWidth = diffWidth / 2;
} }
snapmaticPainter.drawImage(145 + diffWidth, 66 + diffHeight, snapmaticImage); snapmaticPainter.drawImage(145 + diffWidth, 66 + diffHeight, snapmaticImage);
customImageTitle = "Custom Avatar"; customImageTitle = ImportDialog::tr("Custom Avatar", "Custom Avatar Description in SC, don't use Special Character!");
} }
else else
{ {
@ -609,7 +615,7 @@ bool ProfileInterface::importFile(QString selectedFile, bool notMultiple)
diffHeight = diffHeight / 2; diffHeight = diffHeight / 2;
} }
snapmaticPainter.drawImage(0 + diffWidth, 0 + diffHeight, snapmaticImage); snapmaticPainter.drawImage(0 + diffWidth, 0 + diffHeight, snapmaticImage);
customImageTitle = "Custom Picture"; customImageTitle = ImportDialog::tr("Custom Picture", "Custom Picture Description in SC, don't use Special Character!");
} }
snapmaticPainter.end(); snapmaticPainter.end();
if (!picture->setImage(snapmaticPixmap.toImage())) if (!picture->setImage(snapmaticPixmap.toImage()))
@ -617,23 +623,22 @@ bool ProfileInterface::importFile(QString selectedFile, bool notMultiple)
delete picture; delete picture;
return false; return false;
} }
QString currentTime = QTime::currentTime().toString("HHmmss");
SnapmaticProperties spJson = picture->getSnapmaticProperties(); SnapmaticProperties spJson = picture->getSnapmaticProperties();
spJson.uid = QString(currentTime % spJson.uid = QString(QString::number(*currentTime) %
QString::number(QDate::currentDate().dayOfYear())).toInt(); QString::number(importDateTime.date().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");
int cEnough = 0; int cEnough = 0;
while ((fExists || fExistsHidden) && cEnough < 5000) while ((fExists || fExistsHidden) && cEnough < findRetryLimit)
{ {
currentTime = QString::number(currentTime.toInt() - 1); *currentTime = *currentTime - 1;
spJson.uid = QString(currentTime % spJson.uid = QString(QString::number(*currentTime) %
QString::number(QDate::currentDate().dayOfYear())).toInt(); QString::number(importDateTime.date().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");
cEnough++; cEnough++;
} }
spJson.createdDateTime = QDateTime::currentDateTime(); spJson.createdDateTime = importDateTime;
spJson.createdTimestamp = spJson.createdDateTime.toTime_t(); spJson.createdTimestamp = spJson.createdDateTime.toTime_t();
picture->setSnapmaticProperties(spJson); picture->setSnapmaticProperties(spJson);
picture->setPicFileName(QString("PGTA5%1").arg(QString::number(spJson.uid))); picture->setPicFileName(QString("PGTA5%1").arg(QString::number(spJson.uid)));
@ -672,23 +677,22 @@ bool ProfileInterface::importFile(QString selectedFile, bool notMultiple)
{ {
if (picture->setImage(importDialog->image())) if (picture->setImage(importDialog->image()))
{ {
QString currentTime = QTime::currentTime().toString("HHmmss");
SnapmaticProperties spJson = picture->getSnapmaticProperties(); SnapmaticProperties spJson = picture->getSnapmaticProperties();
spJson.uid = QString(currentTime + spJson.uid = QString(QString::number(*currentTime) %
QString::number(QDate::currentDate().dayOfYear())).toInt(); QString::number(importDateTime.date().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");
int cEnough = 0; int cEnough = 0;
while ((fExists || fExistsHidden) && cEnough < 25) while ((fExists || fExistsHidden) && cEnough < findRetryLimit)
{ {
currentTime = QString::number(currentTime.toInt() - 1); *currentTime = *currentTime - 1;
spJson.uid = QString(currentTime % spJson.uid = QString(QString::number(*currentTime) %
QString::number(QDate::currentDate().dayOfYear())).toInt(); QString::number(importDateTime.date().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");
cEnough++; cEnough++;
} }
spJson.createdDateTime = QDateTime::currentDateTime(); spJson.createdDateTime = importDateTime;
spJson.createdTimestamp = spJson.createdDateTime.toTime_t(); spJson.createdTimestamp = spJson.createdDateTime.toTime_t();
picture->setSnapmaticProperties(spJson); picture->setSnapmaticProperties(spJson);
picture->setPicFileName(QString("PGTA5%1").arg(QString::number(spJson.uid))); picture->setPicFileName(QString("PGTA5%1").arg(QString::number(spJson.uid)));
@ -1158,6 +1162,9 @@ void ProfileInterface::contextMenuTriggeredPIC(QContextMenuEvent *ev)
editMenu.addAction(SnapmaticWidget::tr("Hide &In-game"), picWidget, SLOT(makePictureHiddenSlot())); editMenu.addAction(SnapmaticWidget::tr("Hide &In-game"), picWidget, SLOT(makePictureHiddenSlot()));
} }
editMenu.addAction(PictureDialog::tr("&Edit Properties..."), picWidget, SLOT(editSnapmaticProperties())); editMenu.addAction(PictureDialog::tr("&Edit Properties..."), picWidget, SLOT(editSnapmaticProperties()));
editMenu.addSeparator();
editMenu.addAction(PictureDialog::tr("Open &Map Viewer..."), picWidget, SLOT(openMapViewer()));
editMenu.addAction(PictureDialog::tr("Open &JSON Editor..."), picWidget, SLOT(editSnapmaticRawJson()));
QMenu exportMenu(SnapmaticWidget::tr("&Export"), this); QMenu exportMenu(SnapmaticWidget::tr("&Export"), this);
exportMenu.addAction(PictureDialog::tr("Export as &Picture..."), picWidget, SLOT(on_cmdExport_clicked())); exportMenu.addAction(PictureDialog::tr("Export as &Picture..."), picWidget, SLOT(on_cmdExport_clicked()));
exportMenu.addAction(PictureDialog::tr("Export as &Snapmatic..."), picWidget, SLOT(on_cmdCopy_clicked())); exportMenu.addAction(PictureDialog::tr("Export as &Snapmatic..."), picWidget, SLOT(on_cmdCopy_clicked()));
@ -1231,7 +1238,9 @@ void ProfileInterface::on_saProfileContent_dropped(const QMimeData *mimeData)
if (pathList.length() == 1) if (pathList.length() == 1)
{ {
QString selectedFile = pathList.at(0); QString selectedFile = pathList.at(0);
importFile(selectedFile, true); QDateTime importDateTime = QDateTime::currentDateTime();
int currentTime = importDateTime.toString(importTimeFormat).toInt();
importFile(selectedFile, QDateTime::currentDateTime(), &currentTime, true);
} }
else if (pathList.length() > 1) else if (pathList.length() > 1)
{ {

View File

@ -31,6 +31,7 @@
#include "CrewDatabase.h" #include "CrewDatabase.h"
#include <QProgressDialog> #include <QProgressDialog>
#include <QSpacerItem> #include <QSpacerItem>
#include <QDateTime>
#include <QWidget> #include <QWidget>
#include <QList> #include <QList>
#include <QMap> #include <QMap>
@ -107,7 +108,7 @@ private:
int contentMode; int contentMode;
bool isSupportedImageFile(QString selectedFileName); bool isSupportedImageFile(QString selectedFileName);
bool importFile(QString selectedFile, bool notMultiple); bool importFile(QString selectedFile, QDateTime importDateTime, int *currentTime, bool notMultiple);
void importFilesProgress(QStringList selectedFiles); void importFilesProgress(QStringList selectedFiles);
bool importSnapmaticPicture(SnapmaticPicture *picture, bool warn = true); bool importSnapmaticPicture(SnapmaticPicture *picture, bool warn = true);
bool importSavegameData(SavegameData *savegame, QString sgdPath, bool warn = true); bool importSavegameData(SavegameData *savegame, QString sgdPath, bool warn = true);

View File

@ -32,13 +32,24 @@ SnapmaticEditor::SnapmaticEditor(CrewDatabase *crewDB, QWidget *parent) :
QDialog(parent), crewDB(crewDB), QDialog(parent), crewDB(crewDB),
ui(new Ui::SnapmaticEditor) ui(new Ui::SnapmaticEditor)
{ {
// Set Window Flags
setWindowFlags(windowFlags()^Qt::WindowContextHelpButtonHint);
ui->setupUi(this); ui->setupUi(this);
ui->cmdApply->setDefault(true); ui->cmdApply->setDefault(true);
if (QIcon::hasThemeIcon("dialog-apply")) if (QIcon::hasThemeIcon("dialog-ok-apply"))
{
ui->cmdApply->setIcon(QIcon::fromTheme("dialog-ok-apply"));
}
else if (QIcon::hasThemeIcon("dialog-apply"))
{ {
ui->cmdApply->setIcon(QIcon::fromTheme("dialog-apply")); ui->cmdApply->setIcon(QIcon::fromTheme("dialog-apply"));
} }
else if (QIcon::hasThemeIcon("dialog-ok"))
{
ui->cmdApply->setIcon(QIcon::fromTheme("dialog-ok"));
}
if (QIcon::hasThemeIcon("dialog-cancel")) if (QIcon::hasThemeIcon("dialog-cancel"))
{ {
ui->cmdCancel->setIcon(QIcon::fromTheme("dialog-cancel")); ui->cmdCancel->setIcon(QIcon::fromTheme("dialog-cancel"));

View File

@ -774,60 +774,119 @@ void SnapmaticPicture::parseJsonContent()
{ {
QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonStr.toUtf8()); QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonStr.toUtf8());
QJsonObject jsonObject = jsonDocument.object(); QJsonObject jsonObject = jsonDocument.object();
QVariantMap jsonMap = jsonObject.toVariantMap(); // backward compatibility QVariantMap jsonMap = jsonObject.toVariantMap();
bool jsonIncomplete = false;
bool jsonError = false;
if (jsonObject.contains("loc")) if (jsonObject.contains("loc"))
{ {
QJsonObject locObject = jsonObject["loc"].toObject(); if (jsonObject["loc"].isObject())
if (locObject.contains("x")) { localSpJson.location.x = locObject["x"].toDouble(); } {
if (locObject.contains("y")) { localSpJson.location.y = locObject["y"].toDouble(); } QJsonObject locObject = jsonObject["loc"].toObject();
if (locObject.contains("z")) { localSpJson.location.z = locObject["z"].toDouble(); } if (locObject.contains("x"))
{
if (locObject["x"].isDouble()) { localSpJson.location.x = locObject["x"].toDouble(); }
else { jsonError = true; }
}
else { jsonIncomplete = true; }
if (locObject.contains("y"))
{
if (locObject["y"].isDouble()) { localSpJson.location.y = locObject["y"].toDouble(); }
else { jsonError = true; }
}
else { jsonIncomplete = true; }
if (locObject.contains("z"))
{
if (locObject["z"].isDouble()) { localSpJson.location.z = locObject["z"].toDouble(); }
else { jsonError = true; }
}
else { jsonIncomplete = true; }
}
else { jsonError = true; }
} }
else { jsonIncomplete = true; }
if (jsonObject.contains("uid")) if (jsonObject.contains("uid"))
{ {
localSpJson.uid = jsonObject["uid"].toInt(); bool uidOk;
localSpJson.uid = jsonMap["uid"].toInt(&uidOk);
if (!uidOk) { jsonError = true; }
} }
else { jsonIncomplete = true; }
if (jsonObject.contains("area")) if (jsonObject.contains("area"))
{ {
localSpJson.location.area = jsonObject["area"].toString(); if (jsonObject["area"].isString()) { localSpJson.location.area = jsonObject["area"].toString(); }
else { jsonError = true; }
} }
else { jsonIncomplete = true; }
if (jsonObject.contains("crewid")) if (jsonObject.contains("crewid"))
{ {
localSpJson.crewID = jsonObject["crewid"].toInt(); bool crewIDOk;
localSpJson.crewID = jsonMap["crewid"].toInt(&crewIDOk);
if (!crewIDOk) { jsonError = true; }
} }
else { jsonIncomplete = true; }
if (jsonObject.contains("street"))
{
bool streetIDOk;
localSpJson.streetID = jsonMap["street"].toInt(&streetIDOk);
if (!streetIDOk) { jsonError = true; }
}
else { jsonIncomplete = true; }
if (jsonObject.contains("creat")) if (jsonObject.contains("creat"))
{ {
bool timestampOk;
QDateTime createdTimestamp; QDateTime createdTimestamp;
localSpJson.createdTimestamp = jsonMap["creat"].toUInt(); localSpJson.createdTimestamp = jsonMap["creat"].toUInt(&timestampOk);
createdTimestamp.setTime_t(localSpJson.createdTimestamp); createdTimestamp.setTime_t(localSpJson.createdTimestamp);
localSpJson.createdDateTime = createdTimestamp; localSpJson.createdDateTime = createdTimestamp;
if (!timestampOk) { jsonError = true; }
} }
else { jsonIncomplete = true; }
if (jsonObject.contains("plyrs")) if (jsonObject.contains("plyrs"))
{ {
localSpJson.playersList = jsonMap["plyrs"].toStringList(); if (jsonObject["plyrs"].isArray()) { localSpJson.playersList = jsonMap["plyrs"].toStringList(); }
else { jsonError = true; }
} }
else { jsonIncomplete = true; }
if (jsonObject.contains("meme")) if (jsonObject.contains("meme"))
{ {
localSpJson.isMeme = jsonObject["meme"].toBool(); if (jsonObject["meme"].isBool()) { localSpJson.isMeme = jsonObject["meme"].toBool(); }
else { jsonError = true; }
} }
else { jsonIncomplete = true; }
if (jsonObject.contains("mug")) if (jsonObject.contains("mug"))
{ {
localSpJson.isMug = jsonObject["mug"].toBool(); if (jsonObject["mug"].isBool()) { localSpJson.isMug = jsonObject["mug"].toBool(); }
else { jsonError = true; }
} }
else { jsonIncomplete = true; }
if (jsonObject.contains("slf")) if (jsonObject.contains("slf"))
{ {
localSpJson.isSelfie = jsonObject["slf"].toBool(); if (jsonObject["slf"].isBool()) { localSpJson.isSelfie = jsonObject["slf"].toBool(); }
else { jsonError = true; }
} }
else { jsonIncomplete = true; }
if (jsonObject.contains("drctr")) if (jsonObject.contains("drctr"))
{ {
localSpJson.isFromDirector = jsonObject["drctr"].toBool(); if (jsonObject["drctr"].isBool()) { localSpJson.isFromDirector = jsonObject["drctr"].toBool(); }
else { jsonError = true; }
} }
else { jsonIncomplete = true; }
if (jsonObject.contains("rsedtr")) if (jsonObject.contains("rsedtr"))
{ {
localSpJson.isFromRSEditor = jsonObject["rsedtr"].toBool(); if (jsonObject["rsedtr"].isBool()) { localSpJson.isFromRSEditor = jsonObject["rsedtr"].toBool(); }
else { jsonError = true; }
} }
else { jsonIncomplete = true; }
jsonOk = true; if (!jsonIncomplete && !jsonError)
{
jsonOk = true;
}
else
{
jsonOk = false;
}
} }
bool SnapmaticPicture::setSnapmaticProperties(SnapmaticProperties newSpJson) bool SnapmaticPicture::setSnapmaticProperties(SnapmaticProperties newSpJson)
@ -844,6 +903,7 @@ bool SnapmaticPicture::setSnapmaticProperties(SnapmaticProperties newSpJson)
jsonObject["uid"] = newSpJson.uid; jsonObject["uid"] = newSpJson.uid;
jsonObject["area"] = newSpJson.location.area; jsonObject["area"] = newSpJson.location.area;
jsonObject["crewid"] = newSpJson.crewID; jsonObject["crewid"] = newSpJson.crewID;
jsonObject["street"] = newSpJson.streetID;
jsonObject["creat"] = QJsonValue::fromVariant(newSpJson.createdTimestamp); jsonObject["creat"] = QJsonValue::fromVariant(newSpJson.createdTimestamp);
jsonObject["plyrs"] = QJsonValue::fromVariant(newSpJson.playersList); jsonObject["plyrs"] = QJsonValue::fromVariant(newSpJson.playersList);
jsonObject["meme"] = newSpJson.isMeme; jsonObject["meme"] = newSpJson.isMeme;
@ -862,7 +922,7 @@ bool SnapmaticPicture::setSnapmaticProperties(SnapmaticProperties newSpJson)
return false; return false;
} }
bool SnapmaticPicture::setJsonStr(const QString &newJsonStr) bool SnapmaticPicture::setJsonStr(const QString &newJsonStr, bool updateProperties)
{ {
if (newJsonStr.length() < jsonStreamEditorLength) if (newJsonStr.length() < jsonStreamEditorLength)
{ {
@ -887,6 +947,7 @@ bool SnapmaticPicture::setJsonStr(const QString &newJsonStr)
{ {
jsonStr = newJsonStr; jsonStr = newJsonStr;
if (lowRamMode) { rawPicContent = qCompress(rawPicContent, 9); } if (lowRamMode) { rawPicContent = qCompress(rawPicContent, 9); }
if (updateProperties) { parseJsonContent(); }
return true; return true;
} }
else else

View File

@ -37,6 +37,7 @@ struct SnapmaticProperties {
}; };
int uid; int uid;
int crewID; int crewID;
int streetID;
QStringList playersList; QStringList playersList;
uint createdTimestamp; uint createdTimestamp;
QDateTime createdDateTime; QDateTime createdDateTime;
@ -96,7 +97,7 @@ public:
QString getJsonStr(); QString getJsonStr();
SnapmaticProperties getSnapmaticProperties(); SnapmaticProperties getSnapmaticProperties();
bool setSnapmaticProperties(SnapmaticProperties newSpJson); bool setSnapmaticProperties(SnapmaticProperties newSpJson);
bool setJsonStr(const QString &jsonStr); bool setJsonStr(const QString &jsonStr, bool updateProperties = false);
// VISIBILITY // VISIBILITY
bool isHidden(); bool isHidden();

View File

@ -18,6 +18,8 @@
#include "SnapmaticWidget.h" #include "SnapmaticWidget.h"
#include "ui_SnapmaticWidget.h" #include "ui_SnapmaticWidget.h"
#include "MapLocationDialog.h"
#include "JsonEditorDialog.h"
#include "SnapmaticPicture.h" #include "SnapmaticPicture.h"
#include "SnapmaticEditor.h" #include "SnapmaticEditor.h"
#include "DatabaseThread.h" #include "DatabaseThread.h"
@ -283,13 +285,57 @@ void SnapmaticWidget::makePictureVisibleSlot()
void SnapmaticWidget::editSnapmaticProperties() void SnapmaticWidget::editSnapmaticProperties()
{ {
SnapmaticEditor *snapmaticEditor = new SnapmaticEditor(crewDB, this); SnapmaticEditor *snapmaticEditor = new SnapmaticEditor(crewDB, this);
snapmaticEditor->setWindowFlags(snapmaticEditor->windowFlags()^Qt::WindowContextHelpButtonHint);
snapmaticEditor->setSnapmaticPicture(smpic); snapmaticEditor->setSnapmaticPicture(smpic);
snapmaticEditor->setModal(true); snapmaticEditor->setModal(true);
snapmaticEditor->show();
snapmaticEditor->exec(); snapmaticEditor->exec();
delete snapmaticEditor; delete snapmaticEditor;
} }
void SnapmaticWidget::editSnapmaticRawJson()
{
JsonEditorDialog *jsonEditor = new JsonEditorDialog(smpic, this);
jsonEditor->setModal(true);
jsonEditor->show();
jsonEditor->exec();
delete jsonEditor;
}
void SnapmaticWidget::openMapViewer()
{
SnapmaticPicture *picture = smpic;
MapLocationDialog *mapLocDialog;
mapLocDialog = new MapLocationDialog(picture->getSnapmaticProperties().location.x, picture->getSnapmaticProperties().location.y, this);
mapLocDialog->setModal(true);
mapLocDialog->show();
mapLocDialog->exec();
if (mapLocDialog->propUpdated())
{
// Update Snapmatic Properties
SnapmaticProperties localSpJson = picture->getSnapmaticProperties();
localSpJson.location.x = mapLocDialog->getXpos();
localSpJson.location.y = mapLocDialog->getYpos();
localSpJson.location.z = 0;
// Update Snapmatic Picture
QString currentFilePath = picture->getPictureFilePath();
QString originalFilePath = picture->getOriginalPictureFilePath();
QString backupFileName = originalFilePath % ".bak";
if (!QFile::exists(backupFileName))
{
QFile::copy(currentFilePath, backupFileName);
}
SnapmaticProperties fallbackProperties = picture->getSnapmaticProperties();
picture->setSnapmaticProperties(localSpJson);
if (!picture->exportPicture(currentFilePath))
{
QMessageBox::warning(this, SnapmaticEditor::tr("Snapmatic Properties"), SnapmaticEditor::tr("Patching of Snapmatic Properties failed because of I/O Error"));
picture->setSnapmaticProperties(fallbackProperties);
}
}
delete mapLocDialog;
}
bool SnapmaticWidget::isSelected() bool SnapmaticWidget::isSelected()
{ {
return ui->cbSelected->isChecked(); return ui->cbSelected->isChecked();

View File

@ -68,6 +68,8 @@ private slots:
void makePictureVisibleSlot(); void makePictureVisibleSlot();
void makePictureHiddenSlot(); void makePictureHiddenSlot();
void editSnapmaticProperties(); void editSnapmaticProperties();
void editSnapmaticRawJson();
void openMapViewer();
void snapmaticUpdated(); void snapmaticUpdated();
protected: protected:

72
anpro/JSHighlighter.cpp Normal file
View File

@ -0,0 +1,72 @@
/*****************************************************************************
* 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 "JSHighlighter.h"
#include <QRegExp>
JSHighlighter::JSHighlighter(QTextDocument *parent) :
QSyntaxHighlighter(parent)
{
HighlightingRule rule;
QBrush keywordBrush(QColor::fromRgb(66, 137, 244));
keywordFormat.setForeground(keywordBrush);
keywordFormat.setFontItalic(true);
QStringList keywordPatterns;
keywordPatterns << "\\btrue\\b" << "\\bfalse\\b";
for (QString pattern : keywordPatterns)
{
rule.pattern = QRegExp(pattern);
rule.format = keywordFormat;
highlightingRules.append(rule);
}
QBrush doubleBrush(QColor::fromRgb(66, 137, 244));
doubleFormat.setForeground(doubleBrush);
rule.pattern = QRegExp("[+-]?\\d*\\.?\\d+");
rule.format = doubleFormat;
highlightingRules.append(rule);
QBrush quotationBrush(QColor::fromRgb(66, 244, 104));
quotationFormat.setForeground(quotationBrush);
rule.pattern = QRegExp("\"[^\"]*\"");
rule.format = quotationFormat;
highlightingRules.append(rule);
QBrush objectBrush(QColor::fromRgb(255, 80, 80));
objectFormat.setForeground(objectBrush);
rule.pattern = QRegExp("\"[^\"]*\"(?=:)");
rule.format = objectFormat;
highlightingRules.append(rule);
}
void JSHighlighter::highlightBlock(const QString &text)
{
for (HighlightingRule rule : highlightingRules)
{
QRegExp expression(rule.pattern);
int index = expression.indexIn(text);
while (index >= 0)
{
int length = expression.matchedLength();
setFormat(index, length, rule.format);
index = expression.indexIn(text, index + length);
}
}
setCurrentBlockState(0);
}

56
anpro/JSHighlighter.h Normal file
View File

@ -0,0 +1,56 @@
/*****************************************************************************
* 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/>.
*****************************************************************************/
#ifndef JSHIGHLIGHTER_H
#define JSHIGHLIGHTER_H
#include <QSyntaxHighlighter>
#include <QTextCharFormat>
#include <QTextDocument>
#include <QTextFormat>
#include <QStringList>
#include <QRegExp>
#include <QVector>
#include <QHash>
class QTextDocument;
class JSHighlighter : public QSyntaxHighlighter
{
Q_OBJECT
public:
struct HighlightingRule
{
QRegExp pattern;
QTextCharFormat format;
};
QVector<HighlightingRule> highlightingRules;
QTextCharFormat keywordFormat;
QTextCharFormat doubleFormat;
QTextCharFormat quotationFormat;
QTextCharFormat objectFormat;
JSHighlighter(QTextDocument *parent = 0);
protected:
void highlightBlock(const QString &text) override;
};
#endif // JSHIGHLIGHTER_H

View File

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

View File

@ -38,6 +38,7 @@ SOURCES += main.cpp \
GlobalString.cpp \ GlobalString.cpp \
IconLoader.cpp \ IconLoader.cpp \
ImportDialog.cpp \ ImportDialog.cpp \
JsonEditorDialog.cpp \
MapLocationDialog.cpp \ MapLocationDialog.cpp \
OptionsDialog.cpp \ OptionsDialog.cpp \
PictureDialog.cpp \ PictureDialog.cpp \
@ -59,6 +60,7 @@ SOURCES += main.cpp \
StringParser.cpp \ StringParser.cpp \
TranslationClass.cpp \ TranslationClass.cpp \
UserInterface.cpp \ UserInterface.cpp \
anpro/JSHighlighter.cpp \
uimod/UiModLabel.cpp \ uimod/UiModLabel.cpp \
uimod/UiModWidget.cpp uimod/UiModWidget.cpp
@ -72,6 +74,7 @@ HEADERS += \
GlobalString.h \ GlobalString.h \
IconLoader.h \ IconLoader.h \
ImportDialog.h \ ImportDialog.h \
JsonEditorDialog.h \
MapLocationDialog.h \ MapLocationDialog.h \
OptionsDialog.h \ OptionsDialog.h \
PictureDialog.h \ PictureDialog.h \
@ -93,6 +96,7 @@ HEADERS += \
StringParser.h \ StringParser.h \
TranslationClass.h \ TranslationClass.h \
UserInterface.h \ UserInterface.h \
anpro/JSHighlighter.h \
uimod/UiModLabel.h \ uimod/UiModLabel.h \
uimod/UiModWidget.h uimod/UiModWidget.h
@ -100,6 +104,7 @@ FORMS += \
AboutDialog.ui \ AboutDialog.ui \
ExportDialog.ui \ ExportDialog.ui \
ImportDialog.ui \ ImportDialog.ui \
JsonEditorDialog.ui \
MapLocationDialog.ui \ MapLocationDialog.ui \
OptionsDialog.ui \ OptionsDialog.ui \
PictureDialog.ui \ PictureDialog.ui \
@ -131,7 +136,7 @@ DISTFILES += res/app.rc \
lang/gta5sync_no.ts \ lang/gta5sync_no.ts \
lang/README.txt lang/README.txt
INCLUDEPATH += ./uimod INCLUDEPATH += ./anpro ./uimod
# GTA5SYNC/GTA5VIEW ONLY # GTA5SYNC/GTA5VIEW ONLY

View File

@ -114,6 +114,7 @@ Pictures and Savegames</source>
<name>CrewDatabase</name> <name>CrewDatabase</name>
<message> <message>
<location filename="../CrewDatabase.cpp" line="102"/> <location filename="../CrewDatabase.cpp" line="102"/>
<location filename="../CrewDatabase.cpp" line="113"/>
<source>No Crew</source> <source>No Crew</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -196,7 +197,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 type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -236,29 +237,93 @@ Pictures and Savegames</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="173"/> <location filename="../ImportDialog.cpp" line="105"/>
<location filename="../ProfileInterface.cpp" line="599"/>
<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"/>
<location filename="../ProfileInterface.cpp" line="618"/>
<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> <context>
<name>MapPreviewDialog</name> <name>JsonEditorDialog</name>
<message> <message>
<location filename="../MapPreviewDialog.ui" line="26"/> <location filename="../JsonEditorDialog.ui" line="14"/>
<source>Snapmatic JSON Editor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.ui" line="107"/>
<source>&amp;Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.ui" line="114"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MapLocationDialog</name>
<message>
<location filename="../MapLocationDialog.ui" line="26"/>
<source>Snapmatic Map Viewer</source> <source>Snapmatic Map Viewer</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </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="90"/>
<source>X: %1
Y: %2</source>
<comment>X and Y position</comment>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>OptionsDialog</name> <name>OptionsDialog</name>
@ -395,75 +460,129 @@ 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>Interface</source>
<source>Language</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="419"/> <location filename="../OptionsDialog.ui" line="393"/>
<source>Language for 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="169"/>
<location filename="../OptionsDialog.cpp" line="217"/>
<source>Current: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="412"/>
<source>Language for Areas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="431"/>
<source>Style</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="437"/>
<source>Use Default Style (Restart)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="449"/>
<source>Style:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="474"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="480"/>
<source>Always use Message Font (Windows 2003 and earlier)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="504"/>
<source>Sync</source> <source>Sync</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="425"/> <location filename="../OptionsDialog.ui" line="510"/>
<source>Sync is not implemented at current time</source> <source>Sync is not implemented at current time</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="463"/> <location filename="../OptionsDialog.ui" line="548"/>
<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="551"/>
<source>&amp;OK</source> <source>&amp;OK</source>
<extracomment>OK, Cancel, Apply</extracomment> <extracomment>OK, Cancel, Apply</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="479"/> <location filename="../OptionsDialog.ui" line="564"/>
<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="567"/>
<source>&amp;Cancel</source> <source>&amp;Cancel</source>
<extracomment>OK, Cancel, Apply</extracomment> <extracomment>OK, Cancel, Apply</extracomment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="132"/> <location filename="../OptionsDialog.cpp" line="133"/>
<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="132"/> <location filename="../OptionsDialog.cpp" line="133"/>
<source>System</source> <source>System</source>
<comment>System in context of System default</comment> <comment>System in context of System default</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="274"/> <location filename="../OptionsDialog.cpp" line="135"/>
<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="135"/>
<source>Auto</source>
<comment>Automatic language choice.</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="408"/>
<source>%1</source> <source>%1</source>
<comment>%1</comment> <comment>%1</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="274"/> <location filename="../OptionsDialog.cpp" line="408"/>
<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>
<message> <message>
<location filename="../OptionsDialog.cpp" line="284"/> <location filename="../OptionsDialog.cpp" line="418"/>
<source>No Profile</source> <source>No Profile</source>
<comment>No Profile, as default</comment> <comment>No Profile, as default</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="292"/> <location filename="../OptionsDialog.cpp" line="426"/>
<location filename="../OptionsDialog.cpp" line="296"/> <location filename="../OptionsDialog.cpp" line="430"/>
<location filename="../OptionsDialog.cpp" line="298"/> <location filename="../OptionsDialog.cpp" line="432"/>
<source>Profile: %1</source> <source>Profile: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -504,66 +623,73 @@ 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="../PictureDialog.cpp" line="145"/> <location filename="../PictureDialog.cpp" line="148"/>
<location filename="../ProfileInterface.cpp" line="1160"/> <location filename="../ProfileInterface.cpp" line="1169"/>
<source>Export as &amp;Picture...</source> <source>Export as &amp;Picture...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="146"/> <location filename="../PictureDialog.cpp" line="149"/>
<location filename="../ProfileInterface.cpp" line="1161"/> <location filename="../ProfileInterface.cpp" line="1170"/>
<source>Export as &amp;Snapmatic...</source> <source>Export as &amp;Snapmatic...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="148"/> <location filename="../PictureDialog.cpp" line="151"/>
<source>Open &amp;Map View...</source> <location filename="../ProfileInterface.cpp" line="1164"/>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../PictureDialog.cpp" line="150"/>
<location filename="../ProfileInterface.cpp" line="1158"/>
<source>&amp;Edit Properties...</source> <source>&amp;Edit Properties...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="373"/> <location filename="../PictureDialog.cpp" line="153"/>
<location filename="../ProfileInterface.cpp" line="1166"/>
<source>Open &amp;Map Viewer...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../PictureDialog.cpp" line="155"/>
<location filename="../ProfileInterface.cpp" line="1167"/>
<source>Open &amp;JSON Editor...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../PictureDialog.cpp" line="380"/>
<source>Key 1 - Avatar Preview Mode <source>Key 1 - Avatar Preview Mode
Key 2 - Toggle Overlay Key 2 - Toggle Overlay
Arrow Keys - Navigate</source> Arrow Keys - Navigate</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="433"/> <location filename="../PictureDialog.cpp" line="439"/>
<location filename="../PictureDialog.cpp" line="476"/> <location filename="../PictureDialog.cpp" line="473"/>
<source>Snapmatic Picture Viewer</source> <source>Snapmatic Picture Viewer</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="433"/> <location filename="../PictureDialog.cpp" line="439"/>
<location filename="../PictureDialog.cpp" line="476"/> <location filename="../PictureDialog.cpp" line="473"/>
<source>Failed at %1</source> <source>Failed at %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<location filename="../PictureDialog.cpp" line="589"/> <location filename="../PictureDialog.cpp" line="591"/>
<source>No Crew</source> <source>No Crew</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<source>Unknown Location</source> <source>Unknown Location</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<location filename="../PictureDialog.cpp" line="614"/> <location filename="../PictureDialog.cpp" line="618"/>
<source>No Players</source> <source>No Players</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="560"/> <location filename="../PictureDialog.cpp" line="557"/>
<source>Avatar Preview Mode <source>Avatar Preview Mode
Press 1 for Default View</source> Press 1 for Default View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -717,212 +843,212 @@ Press 1 for Default View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="65"/> <location filename="../ProfileInterface.cpp" line="68"/>
<source>Enabled pictures: %1 of %2</source> <source>Enabled pictures: %1 of %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="129"/> <location filename="../ProfileInterface.cpp" line="134"/>
<source>Loading...</source> <source>Loading...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="411"/> <location filename="../ProfileInterface.cpp" line="416"/>
<location filename="../ProfileInterface.cpp" line="476"/> <location filename="../ProfileInterface.cpp" line="483"/>
<source>Import...</source> <source>Import...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="412"/> <location filename="../ProfileInterface.cpp" line="417"/>
<location filename="../ProfileInterface.cpp" line="455"/> <location filename="../ProfileInterface.cpp" line="462"/>
<location filename="../ProfileInterface.cpp" line="507"/> <location filename="../ProfileInterface.cpp" line="515"/>
<location filename="../ProfileInterface.cpp" line="527"/> <location filename="../ProfileInterface.cpp" line="535"/>
<location filename="../ProfileInterface.cpp" line="543"/> <location filename="../ProfileInterface.cpp" line="551"/>
<location filename="../ProfileInterface.cpp" line="659"/> <location filename="../ProfileInterface.cpp" line="666"/>
<location filename="../ProfileInterface.cpp" line="740"/> <location filename="../ProfileInterface.cpp" line="746"/>
<location filename="../ProfileInterface.cpp" line="745"/> <location filename="../ProfileInterface.cpp" line="751"/>
<location filename="../ProfileInterface.cpp" line="755"/> <location filename="../ProfileInterface.cpp" line="761"/>
<location filename="../ProfileInterface.cpp" line="760"/> <location filename="../ProfileInterface.cpp" line="766"/>
<location filename="../ProfileInterface.cpp" line="771"/> <location filename="../ProfileInterface.cpp" line="777"/>
<location filename="../ProfileInterface.cpp" line="808"/>
<location filename="../ProfileInterface.cpp" line="814"/> <location filename="../ProfileInterface.cpp" line="814"/>
<location filename="../ProfileInterface.cpp" line="820"/>
<source>Import</source> <source>Import</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="428"/> <location filename="../ProfileInterface.cpp" line="433"/>
<location filename="../UserInterface.cpp" line="364"/> <location filename="../UserInterface.cpp" line="375"/>
<source>GTA V Export (*.g5e)</source> <source>GTA V Export (*.g5e)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="429"/> <location filename="../ProfileInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="365"/> <location filename="../UserInterface.cpp" line="376"/>
<source>Savegames files (SGTA*)</source> <source>Savegames files (SGTA*)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="430"/> <location filename="../ProfileInterface.cpp" line="435"/>
<location filename="../UserInterface.cpp" line="366"/> <location filename="../UserInterface.cpp" line="377"/>
<source>Snapmatic pictures (PGTA*)</source> <source>Snapmatic pictures (PGTA*)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="427"/> <location filename="../ProfileInterface.cpp" line="432"/>
<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="431"/> <location filename="../ProfileInterface.cpp" line="436"/>
<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="437"/>
<location filename="../UserInterface.cpp" line="367"/> <location filename="../UserInterface.cpp" line="378"/>
<source>All files (**)</source> <source>All files (**)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="455"/> <location filename="../ProfileInterface.cpp" line="462"/>
<location filename="../ProfileInterface.cpp" line="745"/> <location filename="../ProfileInterface.cpp" line="751"/>
<location filename="../UserInterface.cpp" line="455"/> <location filename="../UserInterface.cpp" line="466"/>
<source>No valid file is selected</source> <source>No valid file is selected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="477"/> <location filename="../ProfileInterface.cpp" line="484"/>
<location filename="../ProfileInterface.cpp" line="492"/> <location filename="../ProfileInterface.cpp" line="499"/>
<source>Import file %1 of %2 files</source> <source>Import file %1 of %2 files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="507"/> <location filename="../ProfileInterface.cpp" line="515"/>
<source>Import failed with... <source>Import failed with...
%1</source> %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="535"/>
<location filename="../UserInterface.cpp" line="407"/> <location filename="../UserInterface.cpp" line="418"/>
<source>Failed to read Snapmatic picture</source> <source>Failed to read Snapmatic picture</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="543"/> <location filename="../ProfileInterface.cpp" line="551"/>
<location filename="../UserInterface.cpp" line="423"/> <location filename="../UserInterface.cpp" line="434"/>
<source>Failed to read Savegame file</source> <source>Failed to read Savegame file</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="659"/> <location filename="../ProfileInterface.cpp" line="666"/>
<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="746"/>
<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="761"/>
<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 type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="760"/> <location filename="../ProfileInterface.cpp" line="766"/>
<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 type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="771"/> <location filename="../ProfileInterface.cpp" line="777"/>
<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 type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="808"/> <location filename="../ProfileInterface.cpp" line="814"/>
<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 type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="814"/> <location filename="../ProfileInterface.cpp" line="820"/>
<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 type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="878"/> <location filename="../ProfileInterface.cpp" line="884"/>
<location filename="../ProfileInterface.cpp" line="916"/> <location filename="../ProfileInterface.cpp" line="922"/>
<location filename="../ProfileInterface.cpp" line="995"/> <location filename="../ProfileInterface.cpp" line="1001"/>
<location filename="../ProfileInterface.cpp" line="1015"/> <location filename="../ProfileInterface.cpp" line="1021"/>
<source>Export selected</source> <source>Export selected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="901"/> <location filename="../ProfileInterface.cpp" line="907"/>
<location filename="../ProfileInterface.cpp" line="919"/> <location filename="../ProfileInterface.cpp" line="925"/>
<source>JPG pictures and GTA Snapmatic</source> <source>JPG pictures and GTA Snapmatic</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="902"/> <location filename="../ProfileInterface.cpp" line="908"/>
<location filename="../ProfileInterface.cpp" line="924"/> <location filename="../ProfileInterface.cpp" line="930"/>
<source>JPG pictures only</source> <source>JPG pictures only</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="903"/> <location filename="../ProfileInterface.cpp" line="909"/>
<location filename="../ProfileInterface.cpp" line="928"/> <location filename="../ProfileInterface.cpp" line="934"/>
<source>GTA Snapmatic only</source> <source>GTA Snapmatic only</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="916"/> <location filename="../ProfileInterface.cpp" line="922"/>
<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 type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="961"/> <location filename="../ProfileInterface.cpp" line="967"/>
<source>Export selected...</source> <source>Export selected...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="962"/> <location filename="../ProfileInterface.cpp" line="968"/>
<source>Initialising export...</source> <source>Initialising export...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="995"/> <location filename="../ProfileInterface.cpp" line="1001"/>
<source>Export failed with... <source>Export failed with...
%1</source> %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1015"/> <location filename="../ProfileInterface.cpp" line="1021"/>
<location filename="../ProfileInterface.cpp" line="1057"/> <location filename="../ProfileInterface.cpp" line="1063"/>
<source>No Snapmatic pictures or Savegames files are selected</source> <source>No Snapmatic pictures or Savegames files are selected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1023"/> <location filename="../ProfileInterface.cpp" line="1029"/>
<location filename="../ProfileInterface.cpp" line="1051"/>
<location filename="../ProfileInterface.cpp" line="1057"/> <location filename="../ProfileInterface.cpp" line="1057"/>
<location filename="../ProfileInterface.cpp" line="1063"/>
<source>Remove selected</source> <source>Remove selected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1023"/> <location filename="../ProfileInterface.cpp" line="1029"/>
<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 type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1051"/> <location filename="../ProfileInterface.cpp" line="1057"/>
<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 type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="363"/> <location filename="../UserInterface.cpp" line="374"/>
<source>All profile files (*.g5e SGTA* PGTA*)</source> <source>All profile files (*.g5e SGTA* PGTA*)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -930,15 +1056,20 @@ Press 1 for Default View</source>
<context> <context>
<name>QApplication</name> <name>QApplication</name>
<message> <message>
<location filename="../main.cpp" line="66"/> <location filename="../main.cpp" line="87"/>
<source>Font</source> <source>Font</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="66"/> <location filename="../main.cpp" line="87"/>
<source>Selected Font: %1</source> <source>Selected Font: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../main.cpp" line="108"/>
<source>&lt;h4&gt;Welcome to %1!&lt;/h4&gt;You want to configure %1 before you start using it?</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SavegameDialog</name> <name>SavegameDialog</name>
@ -1013,37 +1144,37 @@ Press 1 for Default View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1196"/> <location filename="../ProfileInterface.cpp" line="1205"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1197"/> <location filename="../ProfileInterface.cpp" line="1206"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1198"/> <location filename="../ProfileInterface.cpp" line="1207"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1200"/> <location filename="../ProfileInterface.cpp" line="1209"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1201"/> <location filename="../ProfileInterface.cpp" line="1210"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1204"/> <location filename="../ProfileInterface.cpp" line="1213"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1208"/> <location filename="../ProfileInterface.cpp" line="1217"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1137,7 +1268,13 @@ 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="../SnapmaticEditor.cpp" line="241"/> <location filename="../JsonEditorDialog.cpp" line="83"/>
<location filename="../JsonEditorDialog.cpp" line="130"/>
<location filename="../JsonEditorDialog.cpp" line="136"/>
<location filename="../JsonEditorDialog.cpp" line="148"/>
<location filename="../PictureDialog.cpp" line="732"/>
<location filename="../SnapmaticEditor.cpp" line="252"/>
<location filename="../SnapmaticWidget.cpp" line="332"/>
<source>Snapmatic Properties</source> <source>Snapmatic Properties</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1183,20 +1320,20 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="113"/> <location filename="../SnapmaticEditor.ui" line="113"/>
<location filename="../SnapmaticEditor.cpp" line="200"/> <location filename="../SnapmaticEditor.cpp" line="211"/>
<source>Crew: %1 (%2)</source> <source>Crew: %1 (%2)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="126"/> <location filename="../SnapmaticEditor.ui" line="126"/>
<location filename="../SnapmaticEditor.cpp" line="185"/> <location filename="../SnapmaticEditor.cpp" line="196"/>
<source>Title: %1 (%2)</source> <source>Title: %1 (%2)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="136"/> <location filename="../SnapmaticEditor.ui" line="136"/>
<location filename="../SnapmaticEditor.cpp" line="189"/> <location filename="../SnapmaticEditor.cpp" line="200"/>
<location filename="../SnapmaticEditor.cpp" line="193"/> <location filename="../SnapmaticEditor.cpp" line="204"/>
<source>Appropriate: %1</source> <source>Appropriate: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1226,45 +1363,59 @@ Press 1 for Default View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="184"/> <location filename="../SnapmaticEditor.cpp" line="195"/>
<location filename="../SnapmaticEditor.cpp" line="199"/> <location filename="../SnapmaticEditor.cpp" line="210"/>
<source>Edit</source> <source>Edit</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="189"/> <location filename="../SnapmaticEditor.cpp" line="200"/>
<source>Yes</source> <source>Yes</source>
<comment>Yes, should work fine</comment> <comment>Yes, should work fine</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="193"/> <location filename="../SnapmaticEditor.cpp" line="204"/>
<source>No</source> <source>No</source>
<comment>No, could lead to issues</comment> <comment>No, could lead to issues</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../JsonEditorDialog.cpp" line="83"/>
<source>&lt;h4&gt;Unsaved changes detected&lt;/h4&gt;You want to save the JSON content before you quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.cpp" line="130"/>
<location filename="../JsonEditorDialog.cpp" line="148"/>
<source>Patching of Snapmatic Properties failed because of JSON Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.cpp" line="136"/>
<location filename="../PictureDialog.cpp" line="732"/>
<location filename="../SnapmaticEditor.cpp" line="252"/>
<location filename="../SnapmaticWidget.cpp" line="332"/>
<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 type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="291"/> <location filename="../SnapmaticEditor.cpp" line="302"/>
<source>Snapmatic Title</source> <source>Snapmatic Title</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="291"/> <location filename="../SnapmaticEditor.cpp" line="302"/>
<source>New Snapmatic title:</source> <source>New Snapmatic title:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="320"/> <location filename="../SnapmaticEditor.cpp" line="331"/>
<source>Snapmatic Crew</source> <source>Snapmatic Crew</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="320"/> <location filename="../SnapmaticEditor.cpp" line="331"/>
<source>New Snapmatic crew:</source> <source>New Snapmatic crew:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1321,8 +1472,8 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.ui" line="152"/> <location filename="../SnapmaticWidget.ui" line="152"/>
<location filename="../SnapmaticWidget.cpp" line="144"/> <location filename="../SnapmaticWidget.cpp" line="146"/>
<location filename="../SnapmaticWidget.cpp" line="153"/> <location filename="../SnapmaticWidget.cpp" line="155"/>
<source>Delete picture</source> <source>Delete picture</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1332,62 +1483,62 @@ Press 1 for Default View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1149"/> <location filename="../ProfileInterface.cpp" line="1155"/>
<source>Edi&amp;t</source> <source>Edi&amp;t</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1152"/> <location filename="../ProfileInterface.cpp" line="1158"/>
<source>Show &amp;In-game</source> <source>Show &amp;In-game</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1156"/> <location filename="../ProfileInterface.cpp" line="1162"/>
<source>Hide &amp;In-game</source> <source>Hide &amp;In-game</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1159"/> <location filename="../ProfileInterface.cpp" line="1168"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1162"/> <location filename="../ProfileInterface.cpp" line="1171"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1165"/> <location filename="../ProfileInterface.cpp" line="1174"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1167"/> <location filename="../ProfileInterface.cpp" line="1176"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1168"/> <location filename="../ProfileInterface.cpp" line="1177"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1171"/> <location filename="../ProfileInterface.cpp" line="1180"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1175"/> <location filename="../ProfileInterface.cpp" line="1184"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="144"/> <location filename="../SnapmaticWidget.cpp" line="146"/>
<source>Are you sure to delete %1 from your Snapmatic pictures?</source> <source>Are you sure to delete %1 from your Snapmatic pictures?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="153"/> <location filename="../SnapmaticWidget.cpp" line="155"/>
<source>Failed at deleting %1 from your Snapmatic pictures</source> <source>Failed at deleting %1 from your Snapmatic pictures</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1396,7 +1547,7 @@ Press 1 for Default View</source>
<name>UserInterface</name> <name>UserInterface</name>
<message> <message>
<location filename="../UserInterface.ui" line="20"/> <location filename="../UserInterface.ui" line="20"/>
<location filename="../UserInterface.cpp" line="62"/> <location filename="../UserInterface.cpp" line="61"/>
<source>%2 - %1</source> <source>%2 - %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1458,8 +1609,8 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../UserInterface.ui" line="226"/> <location filename="../UserInterface.ui" line="226"/>
<location filename="../UserInterface.cpp" line="60"/> <location filename="../UserInterface.cpp" line="59"/>
<location filename="../UserInterface.cpp" line="541"/> <location filename="../UserInterface.cpp" line="552"/>
<source>&amp;About %1</source> <source>&amp;About %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1565,15 +1716,15 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../UserInterface.ui" line="309"/> <location filename="../UserInterface.ui" line="309"/>
<location filename="../UserInterface.cpp" line="163"/> <location filename="../UserInterface.cpp" line="162"/>
<source>Select &amp;GTA V Folder...</source> <source>Select &amp;GTA V Folder...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.ui" line="312"/> <location filename="../UserInterface.ui" line="312"/>
<location filename="../OptionsDialog.cpp" line="430"/> <location filename="../OptionsDialog.cpp" line="564"/>
<location filename="../UserInterface.cpp" line="104"/> <location filename="../UserInterface.cpp" line="103"/>
<location filename="../UserInterface.cpp" line="512"/> <location filename="../UserInterface.cpp" line="523"/>
<source>Select GTA V Folder...</source> <source>Select GTA V Folder...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1603,27 +1754,27 @@ Press 1 for Default View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="64"/> <location filename="../UserInterface.cpp" line="63"/>
<location filename="../UserInterface.cpp" line="234"/> <location filename="../UserInterface.cpp" line="228"/>
<location filename="../UserInterface.cpp" line="549"/> <location filename="../UserInterface.cpp" line="560"/>
<source>Select Profile</source> <source>Select Profile</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="360"/> <location filename="../UserInterface.cpp" line="371"/>
<source>Open File...</source> <source>Open File...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="407"/> <location filename="../UserInterface.cpp" line="418"/>
<location filename="../UserInterface.cpp" line="423"/> <location filename="../UserInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="450"/> <location filename="../UserInterface.cpp" line="461"/>
<location filename="../UserInterface.cpp" line="455"/> <location filename="../UserInterface.cpp" line="466"/>
<source>Open File</source> <source>Open File</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="450"/> <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 type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -21,6 +21,7 @@
#include "ProfileDatabase.h" #include "ProfileDatabase.h"
#include "DatabaseThread.h" #include "DatabaseThread.h"
#include "SavegameDialog.h" #include "SavegameDialog.h"
#include "OptionsDialog.h"
#include "PictureDialog.h" #include "PictureDialog.h"
#include "UserInterface.h" #include "UserInterface.h"
#include "CrewDatabase.h" #include "CrewDatabase.h"
@ -28,8 +29,11 @@
#include "IconLoader.h" #include "IconLoader.h"
#include "AppEnv.h" #include "AppEnv.h"
#include "config.h" #include "config.h"
#include <QDesktopWidget>
#include <QStringBuilder> #include <QStringBuilder>
#include <QStyleFactory>
#include <QApplication> #include <QApplication>
#include <QMessageBox>
#include <QStringList> #include <QStringList>
#include <QTranslator> #include <QTranslator>
#include <QFileInfo> #include <QFileInfo>
@ -52,9 +56,25 @@ int main(int argc, char *argv[])
a.setApplicationVersion(GTA5SYNC_APPVER); a.setApplicationVersion(GTA5SYNC_APPVER);
a.setQuitOnLastWindowClosed(false); a.setQuitOnLastWindowClosed(false);
QSettings settings(GTA5SYNC_APPVENDOR, GTA5SYNC_APPSTR);
settings.beginGroup("Startup");
bool isFirstStart = settings.value("IsFirstStart", true).toBool();
bool customStyle = settings.value("CustomStyle", false).toBool();
QString appStyle = settings.value("AppStyle", "Default").toString();
if (customStyle)
{
if (QStyleFactory::keys().contains(appStyle, Qt::CaseInsensitive))
{
a.setStyle(QStyleFactory::create(appStyle));
}
}
#ifdef GTA5SYNC_WIN #ifdef GTA5SYNC_WIN
#if QT_VERSION >= 0x050400 #if QT_VERSION >= 0x050400
if (QSysInfo::windowsVersion() >= 0x0080) bool alwaysUseMessageFont = settings.value("AlwaysUseMessageFont", false).toBool();
if (QSysInfo::windowsVersion() >= 0x0080 || alwaysUseMessageFont)
{ {
// Get Windows Font // Get Windows Font
NONCLIENTMETRICS ncm; NONCLIENTMETRICS ncm;
@ -83,6 +103,22 @@ int main(int argc, char *argv[])
TCInstance->initUserLanguage(); TCInstance->initUserLanguage();
TCInstance->loadTranslation(&a); TCInstance->loadTranslation(&a);
if (isFirstStart)
{
QMessageBox::StandardButton button = QMessageBox::information(a.desktop(), QString("%1 %2").arg(GTA5SYNC_APPSTR, GTA5SYNC_APPVER), QApplication::tr("<h4>Welcome to %1!</h4>You want to configure %1 before you start using it?").arg(GTA5SYNC_APPSTR), QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
if (button == QMessageBox::Yes)
{
ProfileDatabase profileDB;
OptionsDialog optionsDialog(&profileDB);
optionsDialog.setWindowIcon(IconLoader::loadingAppIcon());
optionsDialog.show();
optionsDialog.exec();
}
settings.setValue("IsFirstStart", false);
}
settings.endGroup();
QStringList applicationArgs = a.arguments(); QStringList applicationArgs = a.arguments();
QString selectedAction; QString selectedAction;
QString arg1; QString arg1;

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-dev3\0" VALUE "FileVersion", "1.5.0-dev4\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-dev3\0" VALUE "ProductVersion", "1.5.0-dev4\0"
END END
END END
END END

Binary file not shown.

View File

@ -259,6 +259,7 @@ Grand Theft Auto V Snapmatic Bilder und Spielständen</translation>
<name>CrewDatabase</name> <name>CrewDatabase</name>
<message> <message>
<location filename="../CrewDatabase.cpp" line="102"/> <location filename="../CrewDatabase.cpp" line="102"/>
<location filename="../CrewDatabase.cpp" line="113"/>
<source>No Crew</source> <source>No Crew</source>
<translation>Keine Crew</translation> <translation>Keine Crew</translation>
</message> </message>
@ -426,12 +427,14 @@ Wenn du planst es als Avatar zu verwenden das Bild wird abgetrennt!</translation
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="105"/> <location filename="../ImportDialog.cpp" line="105"/>
<location filename="../ProfileInterface.cpp" line="599"/>
<source>Custom Avatar</source> <source>Custom Avatar</source>
<comment>Custom Avatar Description in SC, don&apos;t use Special Character!</comment> <comment>Custom Avatar Description in SC, don&apos;t use Special Character!</comment>
<translation>Eigener Avatar</translation> <translation>Eigener Avatar</translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="131"/> <location filename="../ImportDialog.cpp" line="131"/>
<location filename="../ProfileInterface.cpp" line="618"/>
<source>Custom Picture</source> <source>Custom Picture</source>
<comment>Custom Picture Description in SC, don&apos;t use Special Character!</comment> <comment>Custom Picture Description in SC, don&apos;t use Special Character!</comment>
<translation>Eigenes Bild</translation> <translation>Eigenes Bild</translation>
@ -454,6 +457,28 @@ Wenn du es als Avatar verwenden möchtest wird es abgetrennt!</translation>
<translation>Farbe auswählen...</translation> <translation>Farbe auswählen...</translation>
</message> </message>
</context> </context>
<context>
<name>JsonEditorDialog</name>
<message>
<location filename="../JsonEditorDialog.ui" line="14"/>
<source>Snapmatic JSON Editor</source>
<translation>Snapmatic JSON Editor</translation>
</message>
<message>
<location filename="../JsonEditorDialog.ui" line="107"/>
<source>&amp;Save</source>
<translation>&amp;Speichern</translation>
</message>
<message>
<location filename="../JsonEditorDialog.ui" line="114"/>
<source>&amp;Close</source>
<translation>S&amp;chließen</translation>
</message>
<message>
<source>Patching of Snapmatic Properties failed because of JSON Error</source>
<translation type="vanished">Patchen von Snapmatic Eigenschaften fehlgeschlagen wegen JSON Fehler</translation>
</message>
</context>
<context> <context>
<name>MapLocationDialog</name> <name>MapLocationDialog</name>
<message> <message>
@ -502,7 +527,7 @@ Y: %2</translation>
<translation>&amp;Fertig</translation> <translation>&amp;Fertig</translation>
</message> </message>
<message> <message>
<location filename="../MapLocationDialog.cpp" line="89"/> <location filename="../MapLocationDialog.cpp" line="90"/>
<source>X: %1 <source>X: %1
Y: %2</source> Y: %2</source>
<comment>X and Y position</comment> <comment>X and Y position</comment>
@ -672,56 +697,93 @@ Y: %2</translation>
<translation>Name</translation> <translation>Name</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="387"/> <location filename="../OptionsDialog.ui" line="412"/>
<source>Language</source> <source>Language for Areas</source>
<translation>Sprache</translation> <translation>Sprache für Standorte</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="393"/> <location filename="../OptionsDialog.ui" line="431"/>
<source>Style</source>
<translation>Stil</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="437"/>
<source>Use Default Style (Restart)</source>
<translation>Benutze Standard Stil (Neustart)</translation>
</message>
<message>
<source>Use Default Style</source>
<translation type="vanished">Benutze Standard Stil</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="449"/>
<source>Style:</source>
<translation>Stil:</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="474"/>
<source>Font</source>
<translation>Schrift</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="480"/>
<source>Always use Message Font (Windows 2003 and earlier)</source>
<translation>Immer Nachrichtenschrift nutzen (Windows 2003 und früher)</translation>
</message>
<message>
<source>Language</source>
<translation type="vanished">Sprache</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="387"/>
<source>Interface</source> <source>Interface</source>
<translation>Oberfläche</translation> <translation>Oberfläche</translation>
</message> </message>
<message>
<location filename="../OptionsDialog.ui" line="393"/>
<source>Language for Interface</source>
<translation>Sprache für Oberfläche</translation>
</message>
<message> <message>
<location filename="../OptionsDialog.ui" line="402"/> <location filename="../OptionsDialog.ui" line="402"/>
<location filename="../OptionsDialog.ui" line="421"/> <location filename="../OptionsDialog.ui" line="421"/>
<location filename="../OptionsDialog.cpp" line="167"/> <location filename="../OptionsDialog.cpp" line="169"/>
<location filename="../OptionsDialog.cpp" line="215"/> <location filename="../OptionsDialog.cpp" line="217"/>
<source>Current: %1</source> <source>Current: %1</source>
<translation>Aktuell: %1</translation> <translation>Aktuell: %1</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="412"/>
<source>Areas</source> <source>Areas</source>
<translation>Standorte</translation> <translation type="vanished">Standorte</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="445"/> <location filename="../OptionsDialog.ui" line="504"/>
<source>Sync</source> <source>Sync</source>
<translation>Sync</translation> <translation>Sync</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="451"/> <location filename="../OptionsDialog.ui" line="510"/>
<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="489"/> <location filename="../OptionsDialog.ui" line="548"/>
<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="492"/> <location filename="../OptionsDialog.ui" line="551"/>
<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="505"/> <location filename="../OptionsDialog.ui" line="564"/>
<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="508"/> <location filename="../OptionsDialog.ui" line="567"/>
<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>
@ -742,7 +804,7 @@ Y: %2</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="335"/> <location filename="../OptionsDialog.cpp" line="408"/>
<source>%1</source> <source>%1</source>
<comment>%1</comment> <comment>%1</comment>
<translation>%1</translation> <translation>%1</translation>
@ -756,31 +818,31 @@ Y: %2</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="131"/> <location filename="../OptionsDialog.cpp" line="133"/>
<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="131"/> <location filename="../OptionsDialog.cpp" line="133"/>
<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="133"/> <location filename="../OptionsDialog.cpp" line="135"/>
<source>%1 (Closest to Interface)</source> <source>%1 (Closest to Interface)</source>
<comment>Next closest language compared to the Interface</comment> <comment>Next closest language compared to the Interface</comment>
<translation>%1 (Näheste zur Oberfläche)</translation> <translation>%1 (Näheste zur Oberfläche)</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="133"/> <location filename="../OptionsDialog.cpp" line="135"/>
<source>Auto</source> <source>Auto</source>
<comment>Automatic language choice.</comment> <comment>Automatic language choice.</comment>
<translation>Automatisch</translation> <translation>Automatisch</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="335"/> <location filename="../OptionsDialog.cpp" line="408"/>
<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>
@ -789,15 +851,15 @@ Y: %2</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="345"/> <location filename="../OptionsDialog.cpp" line="418"/>
<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="353"/> <location filename="../OptionsDialog.cpp" line="426"/>
<location filename="../OptionsDialog.cpp" line="357"/> <location filename="../OptionsDialog.cpp" line="430"/>
<location filename="../OptionsDialog.cpp" line="359"/> <location filename="../OptionsDialog.cpp" line="432"/>
<source>Profile: %1</source> <source>Profile: %1</source>
<translation>Profil: %1</translation> <translation>Profil: %1</translation>
</message> </message>
@ -911,8 +973,8 @@ Y: %2</translation>
<translation type="vanished">Exportiere als &amp;JPG Bild...</translation> <translation type="vanished">Exportiere als &amp;JPG Bild...</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="145"/> <location filename="../PictureDialog.cpp" line="148"/>
<location filename="../ProfileInterface.cpp" line="1162"/> <location filename="../ProfileInterface.cpp" line="1169"/>
<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>
@ -921,8 +983,8 @@ Y: %2</translation>
<translation type="vanished">Exportiere als &amp;GTA Snapmatic...</translation> <translation type="vanished">Exportiere als &amp;GTA Snapmatic...</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="146"/> <location filename="../PictureDialog.cpp" line="149"/>
<location filename="../ProfileInterface.cpp" line="1163"/> <location filename="../ProfileInterface.cpp" line="1170"/>
<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>
@ -931,13 +993,12 @@ Y: %2</translation>
<translation type="vanished">Bearbei&amp;ten</translation> <translation type="vanished">Bearbei&amp;ten</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="148"/>
<source>Open &amp;Map View...</source> <source>Open &amp;Map View...</source>
<translation>&amp;Kartenansicht öffnen...</translation> <translation type="vanished">&amp;Kartenansicht öffnen...</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="150"/> <location filename="../PictureDialog.cpp" line="151"/>
<location filename="../ProfileInterface.cpp" line="1160"/> <location filename="../ProfileInterface.cpp" line="1164"/>
<source>&amp;Edit Properties...</source> <source>&amp;Edit Properties...</source>
<translation>Eigenschaften bearb&amp;eiten...</translation> <translation>Eigenschaften bearb&amp;eiten...</translation>
</message> </message>
@ -951,7 +1012,13 @@ Y: %2</translation>
<translation type="vanished">Erweitert (&amp;A)</translation> <translation type="vanished">Erweitert (&amp;A)</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="373"/> <location filename="../PictureDialog.cpp" line="153"/>
<location filename="../ProfileInterface.cpp" line="1166"/>
<source>Open &amp;Map Viewer...</source>
<translation>&amp;Kartenansicht öffnen...</translation>
</message>
<message>
<location filename="../PictureDialog.cpp" line="380"/>
<source>Key 1 - Avatar Preview Mode <source>Key 1 - Avatar Preview Mode
Key 2 - Toggle Overlay Key 2 - Toggle Overlay
Arrow Keys - Navigate</source> Arrow Keys - Navigate</source>
@ -960,31 +1027,31 @@ Taste 2 - Overlay umschalten
Pfeiltasten - Navigieren</translation> Pfeiltasten - Navigieren</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="433"/> <location filename="../PictureDialog.cpp" line="439"/>
<location filename="../PictureDialog.cpp" line="476"/> <location filename="../PictureDialog.cpp" line="473"/>
<source>Snapmatic Picture Viewer</source> <source>Snapmatic Picture Viewer</source>
<translation>Snapmatic Bildansicht</translation> <translation>Snapmatic Bildansicht</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="433"/> <location filename="../PictureDialog.cpp" line="439"/>
<location filename="../PictureDialog.cpp" line="476"/> <location filename="../PictureDialog.cpp" line="473"/>
<source>Failed at %1</source> <source>Failed at %1</source>
<translation>Fehlgeschlagen bei %1</translation> <translation>Fehlgeschlagen bei %1</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<location filename="../PictureDialog.cpp" line="589"/> <location filename="../PictureDialog.cpp" line="591"/>
<source>No Crew</source> <source>No Crew</source>
<translation>Keine Crew</translation> <translation>Keine Crew</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<location filename="../PictureDialog.cpp" line="614"/> <location filename="../PictureDialog.cpp" line="618"/>
<source>No Players</source> <source>No Players</source>
<translation>Keine Spieler</translation> <translation>Keine Spieler</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="560"/> <location filename="../PictureDialog.cpp" line="557"/>
<source>Avatar Preview Mode <source>Avatar Preview Mode
Press 1 for Default View</source> Press 1 for Default View</source>
<translation>Avatar Vorschaumodus <translation>Avatar Vorschaumodus
@ -1029,7 +1096,7 @@ Drücke A für Standardansicht</translation>
<translation type="vanished">Keine Crew</translation> <translation type="vanished">Keine Crew</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<source>Unknown Location</source> <source>Unknown Location</source>
<translation>Unbekannter Standort</translation> <translation>Unbekannter Standort</translation>
</message> </message>
@ -1198,6 +1265,12 @@ Drücke A für Standardansicht</translation>
<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>
<message>
<location filename="../PictureDialog.cpp" line="155"/>
<location filename="../ProfileInterface.cpp" line="1167"/>
<source>Open &amp;JSON Editor...</source>
<translation>&amp;JSON Editor öffnen...</translation>
</message>
</context> </context>
<context> <context>
<name>ProfileInterface</name> <name>ProfileInterface</name>
@ -1258,30 +1331,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="131"/> <location filename="../ProfileInterface.cpp" line="134"/>
<source>Loading...</source> <source>Loading...</source>
<translation>Lade...</translation> <translation>Lade...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="413"/> <location filename="../ProfileInterface.cpp" line="416"/>
<location filename="../ProfileInterface.cpp" line="478"/> <location filename="../ProfileInterface.cpp" line="483"/>
<source>Import...</source> <source>Import...</source>
<translation>Importieren...</translation> <translation>Importieren...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="414"/> <location filename="../ProfileInterface.cpp" line="417"/>
<location filename="../ProfileInterface.cpp" line="457"/> <location filename="../ProfileInterface.cpp" line="462"/>
<location filename="../ProfileInterface.cpp" line="509"/> <location filename="../ProfileInterface.cpp" line="515"/>
<location filename="../ProfileInterface.cpp" line="529"/> <location filename="../ProfileInterface.cpp" line="535"/>
<location filename="../ProfileInterface.cpp" line="545"/> <location filename="../ProfileInterface.cpp" line="551"/>
<location filename="../ProfileInterface.cpp" line="661"/> <location filename="../ProfileInterface.cpp" line="666"/>
<location filename="../ProfileInterface.cpp" line="742"/> <location filename="../ProfileInterface.cpp" line="746"/>
<location filename="../ProfileInterface.cpp" line="747"/> <location filename="../ProfileInterface.cpp" line="751"/>
<location filename="../ProfileInterface.cpp" line="757"/> <location filename="../ProfileInterface.cpp" line="761"/>
<location filename="../ProfileInterface.cpp" line="762"/> <location filename="../ProfileInterface.cpp" line="766"/>
<location filename="../ProfileInterface.cpp" line="773"/> <location filename="../ProfileInterface.cpp" line="777"/>
<location filename="../ProfileInterface.cpp" line="810"/> <location filename="../ProfileInterface.cpp" line="814"/>
<location filename="../ProfileInterface.cpp" line="816"/> <location filename="../ProfileInterface.cpp" line="820"/>
<source>Import</source> <source>Import</source>
<translation>Importieren</translation> <translation>Importieren</translation>
</message> </message>
@ -1294,13 +1367,13 @@ 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="431"/> <location filename="../ProfileInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="376"/> <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="432"/> <location filename="../ProfileInterface.cpp" line="435"/>
<location filename="../UserInterface.cpp" line="377"/> <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>
@ -1310,29 +1383,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="429"/> <location filename="../ProfileInterface.cpp" line="432"/>
<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="433"/> <location filename="../ProfileInterface.cpp" line="436"/>
<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="434"/> <location filename="../ProfileInterface.cpp" line="437"/>
<location filename="../UserInterface.cpp" line="378"/> <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="479"/> <location filename="../ProfileInterface.cpp" line="484"/>
<location filename="../ProfileInterface.cpp" line="494"/> <location filename="../ProfileInterface.cpp" line="499"/>
<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="509"/> <location filename="../ProfileInterface.cpp" line="515"/>
<source>Import failed with... <source>Import failed with...
%1</source> %1</source>
@ -1341,29 +1414,29 @@ Drücke A für Standardansicht</translation>
%1</translation> %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="529"/> <location filename="../ProfileInterface.cpp" line="535"/>
<location filename="../UserInterface.cpp" line="418"/> <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="545"/> <location filename="../ProfileInterface.cpp" line="551"/>
<location filename="../UserInterface.cpp" line="434"/> <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="661"/> <location filename="../ProfileInterface.cpp" line="666"/>
<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="742"/> <location filename="../ProfileInterface.cpp" line="746"/>
<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="964"/> <location filename="../ProfileInterface.cpp" line="968"/>
<source>Initialising export...</source> <source>Initialising export...</source>
<translation>Initialisiere Export...</translation> <translation>Initialisiere Export...</translation>
</message> </message>
@ -1372,29 +1445,29 @@ 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="757"/> <location filename="../ProfileInterface.cpp" line="761"/>
<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="762"/> <location filename="../ProfileInterface.cpp" line="766"/>
<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="918"/> <location filename="../ProfileInterface.cpp" line="922"/>
<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="457"/> <location filename="../ProfileInterface.cpp" line="462"/>
<location filename="../ProfileInterface.cpp" line="747"/> <location filename="../ProfileInterface.cpp" line="751"/>
<location filename="../UserInterface.cpp" line="466"/> <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>
<message> <message>
<location filename="../ProfileInterface.cpp" line="65"/> <location filename="../ProfileInterface.cpp" line="68"/>
<source>Enabled pictures: %1 of %2</source> <source>Enabled pictures: %1 of %2</source>
<translation>Aktivierte Bilder: %1 von %2</translation> <translation>Aktivierte Bilder: %1 von %2</translation>
</message> </message>
@ -1403,35 +1476,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="773"/> <location filename="../ProfileInterface.cpp" line="777"/>
<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="810"/> <location filename="../ProfileInterface.cpp" line="814"/>
<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="816"/> <location filename="../ProfileInterface.cpp" line="820"/>
<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="903"/> <location filename="../ProfileInterface.cpp" line="907"/>
<location filename="../ProfileInterface.cpp" line="921"/> <location filename="../ProfileInterface.cpp" line="925"/>
<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="904"/> <location filename="../ProfileInterface.cpp" line="908"/>
<location filename="../ProfileInterface.cpp" line="926"/> <location filename="../ProfileInterface.cpp" line="930"/>
<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="905"/> <location filename="../ProfileInterface.cpp" line="909"/>
<location filename="../ProfileInterface.cpp" line="930"/> <location filename="../ProfileInterface.cpp" line="934"/>
<source>GTA Snapmatic only</source> <source>GTA Snapmatic only</source>
<translation>Nur GTA Snapmatic</translation> <translation>Nur GTA Snapmatic</translation>
</message> </message>
@ -1450,25 +1523,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="1017"/> <location filename="../ProfileInterface.cpp" line="1021"/>
<location filename="../ProfileInterface.cpp" line="1059"/> <location filename="../ProfileInterface.cpp" line="1063"/>
<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="1025"/> <location filename="../ProfileInterface.cpp" line="1029"/>
<location filename="../ProfileInterface.cpp" line="1053"/> <location filename="../ProfileInterface.cpp" line="1057"/>
<location filename="../ProfileInterface.cpp" line="1059"/> <location filename="../ProfileInterface.cpp" line="1063"/>
<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="1025"/> <location filename="../ProfileInterface.cpp" line="1029"/>
<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="1053"/> <location filename="../ProfileInterface.cpp" line="1057"/>
<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>
@ -1489,10 +1562,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="880"/> <location filename="../ProfileInterface.cpp" line="884"/>
<location filename="../ProfileInterface.cpp" line="918"/> <location filename="../ProfileInterface.cpp" line="922"/>
<location filename="../ProfileInterface.cpp" line="997"/> <location filename="../ProfileInterface.cpp" line="1001"/>
<location filename="../ProfileInterface.cpp" line="1017"/> <location filename="../ProfileInterface.cpp" line="1021"/>
<source>Export selected</source> <source>Export selected</source>
<translation>Auswahl exportieren</translation> <translation>Auswahl exportieren</translation>
</message> </message>
@ -1513,7 +1586,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="963"/> <location filename="../ProfileInterface.cpp" line="967"/>
<source>Export selected...</source> <source>Export selected...</source>
<translation>Auswahl exportieren...</translation> <translation>Auswahl exportieren...</translation>
</message> </message>
@ -1526,7 +1599,7 @@ Exportieren als:</translation>
<translation type="obsolete">Initialisierung...</translation> <translation type="obsolete">Initialisierung...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="997"/> <location filename="../ProfileInterface.cpp" line="1001"/>
<source>Export failed with... <source>Export failed with...
%1</source> %1</source>
@ -1561,7 +1634,7 @@ Exportieren als:</translation>
<translation>Alle Profildateien (*.g5e SGTA* PGTA*)</translation> <translation>Alle Profildateien (*.g5e SGTA* PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="430"/> <location filename="../ProfileInterface.cpp" line="433"/>
<location filename="../UserInterface.cpp" line="375"/> <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>
@ -1570,15 +1643,20 @@ Exportieren als:</translation>
<context> <context>
<name>QApplication</name> <name>QApplication</name>
<message> <message>
<location filename="../main.cpp" line="67"/> <location filename="../main.cpp" line="87"/>
<source>Font</source> <source>Font</source>
<translation>Schrift</translation> <translation>Schrift</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="67"/> <location filename="../main.cpp" line="87"/>
<source>Selected Font: %1</source> <source>Selected Font: %1</source>
<translation>Ausgewähle Schrift: %1</translation> <translation>Ausgewähle Schrift: %1</translation>
</message> </message>
<message>
<location filename="../main.cpp" line="108"/>
<source>&lt;h4&gt;Welcome to %1!&lt;/h4&gt;You want to configure %1 before you start using it?</source>
<translation>&lt;h4&gt;Willkommen zu %1!&lt;/h4&gt;Möchtest du %1 einstellen bevor du es nutzt?</translation>
</message>
</context> </context>
<context> <context>
<name>SavegameDialog</name> <name>SavegameDialog</name>
@ -1725,32 +1803,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="1198"/> <location filename="../ProfileInterface.cpp" line="1205"/>
<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="1200"/> <location filename="../ProfileInterface.cpp" line="1207"/>
<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="1202"/> <location filename="../ProfileInterface.cpp" line="1209"/>
<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="1203"/> <location filename="../ProfileInterface.cpp" line="1210"/>
<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="1206"/> <location filename="../ProfileInterface.cpp" line="1213"/>
<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="1210"/> <location filename="../ProfileInterface.cpp" line="1217"/>
<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>
@ -1789,7 +1867,7 @@ Exportieren als:</translation>
<translation>Spielstand kopieren</translation> <translation>Spielstand kopieren</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1199"/> <location filename="../ProfileInterface.cpp" line="1206"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation>&amp;Exportieren</translation> <translation>&amp;Exportieren</translation>
</message> </message>
@ -1865,8 +1943,13 @@ 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="../JsonEditorDialog.cpp" line="83"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../JsonEditorDialog.cpp" line="130"/>
<location filename="../JsonEditorDialog.cpp" line="136"/>
<location filename="../JsonEditorDialog.cpp" line="148"/>
<location filename="../PictureDialog.cpp" line="732"/>
<location filename="../SnapmaticEditor.cpp" line="252"/>
<location filename="../SnapmaticWidget.cpp" line="332"/>
<source>Snapmatic Properties</source> <source>Snapmatic Properties</source>
<translation>Snapmatic Eigenschaften</translation> <translation>Snapmatic Eigenschaften</translation>
</message> </message>
@ -1910,7 +1993,7 @@ Exportieren als:</translation>
<translation>Meme</translation> <translation>Meme</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="291"/> <location filename="../SnapmaticEditor.cpp" line="302"/>
<source>Snapmatic Title</source> <source>Snapmatic Title</source>
<translation>Snapmatic Titel</translation> <translation>Snapmatic Titel</translation>
</message> </message>
@ -1921,20 +2004,20 @@ Exportieren als:</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="113"/> <location filename="../SnapmaticEditor.ui" line="113"/>
<location filename="../SnapmaticEditor.cpp" line="200"/> <location filename="../SnapmaticEditor.cpp" line="211"/>
<source>Crew: %1 (%2)</source> <source>Crew: %1 (%2)</source>
<translation>Crew: %1 (%2)</translation> <translation>Crew: %1 (%2)</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="126"/> <location filename="../SnapmaticEditor.ui" line="126"/>
<location filename="../SnapmaticEditor.cpp" line="185"/> <location filename="../SnapmaticEditor.cpp" line="196"/>
<source>Title: %1 (%2)</source> <source>Title: %1 (%2)</source>
<translation>Titel: %1 (%2)</translation> <translation>Titel: %1 (%2)</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="136"/> <location filename="../SnapmaticEditor.ui" line="136"/>
<location filename="../SnapmaticEditor.cpp" line="189"/> <location filename="../SnapmaticEditor.cpp" line="200"/>
<location filename="../SnapmaticEditor.cpp" line="193"/> <location filename="../SnapmaticEditor.cpp" line="204"/>
<source>Appropriate: %1</source> <source>Appropriate: %1</source>
<translation>Angemessen: %1</translation> <translation>Angemessen: %1</translation>
</message> </message>
@ -1972,41 +2055,54 @@ Exportieren als:</translation>
<translation type="vanished">Cancel</translation> <translation type="vanished">Cancel</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="184"/> <location filename="../SnapmaticEditor.cpp" line="195"/>
<location filename="../SnapmaticEditor.cpp" line="199"/> <location filename="../SnapmaticEditor.cpp" line="210"/>
<source>Edit</source> <source>Edit</source>
<translation>Bearbeiten</translation> <translation>Bearbeiten</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="189"/> <location filename="../SnapmaticEditor.cpp" line="200"/>
<source>Yes</source> <source>Yes</source>
<comment>Yes, should work fine</comment> <comment>Yes, should work fine</comment>
<translation>Ja</translation> <translation>Ja</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="193"/> <location filename="../SnapmaticEditor.cpp" line="204"/>
<source>No</source> <source>No</source>
<comment>No, could lead to issues</comment> <comment>No, could lead to issues</comment>
<translation>Nein</translation> <translation>Nein</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="727"/> <location filename="../JsonEditorDialog.cpp" line="83"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <source>&lt;h4&gt;Unsaved changes detected&lt;/h4&gt;You want to save the JSON content before you quit?</source>
<translation>&lt;h4&gt;Ungespeicherte Änderungen erkannt&lt;/h4&gt;Möchtest du den JSON Inhalt speichern bevor du verlässt?</translation>
</message>
<message>
<location filename="../JsonEditorDialog.cpp" line="130"/>
<location filename="../JsonEditorDialog.cpp" line="148"/>
<source>Patching of Snapmatic Properties failed because of JSON Error</source>
<translation>Patchen von Snapmatic Eigenschaften fehlgeschlagen wegen JSON Fehler</translation>
</message>
<message>
<location filename="../JsonEditorDialog.cpp" line="136"/>
<location filename="../PictureDialog.cpp" line="732"/>
<location filename="../SnapmaticEditor.cpp" line="252"/>
<location filename="../SnapmaticWidget.cpp" line="332"/>
<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>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="291"/> <location filename="../SnapmaticEditor.cpp" line="302"/>
<source>New Snapmatic title:</source> <source>New Snapmatic title:</source>
<translation>Neuer Snapmatic Titel:</translation> <translation>Neuer Snapmatic Titel:</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="320"/> <location filename="../SnapmaticEditor.cpp" line="331"/>
<source>Snapmatic Crew</source> <source>Snapmatic Crew</source>
<translation>Snapmatic Crew</translation> <translation>Snapmatic Crew</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="320"/> <location filename="../SnapmaticEditor.cpp" line="331"/>
<source>New Snapmatic crew:</source> <source>New Snapmatic crew:</source>
<translation>Neue Snapmatic Crew:</translation> <translation>Neue Snapmatic Crew:</translation>
</message> </message>
@ -2053,18 +2149,18 @@ Exportieren als:</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.ui" line="152"/> <location filename="../SnapmaticWidget.ui" line="152"/>
<location filename="../SnapmaticWidget.cpp" line="144"/> <location filename="../SnapmaticWidget.cpp" line="146"/>
<location filename="../SnapmaticWidget.cpp" line="153"/> <location filename="../SnapmaticWidget.cpp" line="155"/>
<source>Delete picture</source> <source>Delete picture</source>
<translation>Bild löschen</translation> <translation>Bild löschen</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="144"/> <location filename="../SnapmaticWidget.cpp" line="146"/>
<source>Are you sure to delete %1 from your Snapmatic pictures?</source> <source>Are you sure to delete %1 from your Snapmatic pictures?</source>
<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="1151"/> <location filename="../ProfileInterface.cpp" line="1155"/>
<source>Edi&amp;t</source> <source>Edi&amp;t</source>
<translation>Bearbei&amp;ten</translation> <translation>Bearbei&amp;ten</translation>
</message> </message>
@ -2077,7 +2173,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="1161"/> <location filename="../ProfileInterface.cpp" line="1168"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation>&amp;Exportieren</translation> <translation>&amp;Exportieren</translation>
</message> </message>
@ -2090,12 +2186,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="1154"/> <location filename="../ProfileInterface.cpp" line="1158"/>
<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="1158"/> <location filename="../ProfileInterface.cpp" line="1162"/>
<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>
@ -2128,32 +2224,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="1164"/> <location filename="../ProfileInterface.cpp" line="1171"/>
<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="1167"/> <location filename="../ProfileInterface.cpp" line="1174"/>
<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="1169"/> <location filename="../ProfileInterface.cpp" line="1176"/>
<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="1170"/> <location filename="../ProfileInterface.cpp" line="1177"/>
<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="1173"/> <location filename="../ProfileInterface.cpp" line="1180"/>
<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="1177"/> <location filename="../ProfileInterface.cpp" line="1184"/>
<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>
@ -2201,7 +2297,7 @@ Exportieren als:</translation>
<translation type="obsolete">Bist du sicher %1 von deinen Snapmatic Bilder zu löschen?</translation> <translation type="obsolete">Bist du sicher %1 von deinen Snapmatic Bilder zu löschen?</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="153"/> <location filename="../SnapmaticWidget.cpp" line="155"/>
<source>Failed at deleting %1 from your Snapmatic pictures</source> <source>Failed at deleting %1 from your Snapmatic pictures</source>
<translation>Fehlgeschlagen beim Löschen von %1 von deinen Snapmatic Bildern</translation> <translation>Fehlgeschlagen beim Löschen von %1 von deinen Snapmatic Bildern</translation>
</message> </message>
@ -2499,7 +2595,7 @@ Exportieren als:</translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.ui" line="312"/> <location filename="../UserInterface.ui" line="312"/>
<location filename="../OptionsDialog.cpp" line="491"/> <location filename="../OptionsDialog.cpp" line="564"/>
<location filename="../UserInterface.cpp" line="103"/> <location filename="../UserInterface.cpp" line="103"/>
<location filename="../UserInterface.cpp" line="523"/> <location filename="../UserInterface.cpp" line="523"/>
<source>Select GTA V Folder...</source> <source>Select GTA V Folder...</source>

Binary file not shown.

View File

@ -114,6 +114,7 @@ Pictures and Savegames</source>
<name>CrewDatabase</name> <name>CrewDatabase</name>
<message> <message>
<location filename="../CrewDatabase.cpp" line="102"/> <location filename="../CrewDatabase.cpp" line="102"/>
<location filename="../CrewDatabase.cpp" line="113"/>
<source>No Crew</source> <source>No Crew</source>
<translation></translation> <translation></translation>
</message> </message>
@ -237,12 +238,14 @@ Pictures and Savegames</source>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="105"/> <location filename="../ImportDialog.cpp" line="105"/>
<location filename="../ProfileInterface.cpp" line="599"/>
<source>Custom Avatar</source> <source>Custom Avatar</source>
<comment>Custom Avatar Description in SC, don&apos;t use Special Character!</comment> <comment>Custom Avatar Description in SC, don&apos;t use Special Character!</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="131"/> <location filename="../ImportDialog.cpp" line="131"/>
<location filename="../ProfileInterface.cpp" line="618"/>
<source>Custom Picture</source> <source>Custom Picture</source>
<comment>Custom Picture Description in SC, don&apos;t use Special Character!</comment> <comment>Custom Picture Description in SC, don&apos;t use Special Character!</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -264,6 +267,24 @@ When you want to use it as Avatar the image will be detached!</source>
<translation>Select Color...</translation> <translation>Select Color...</translation>
</message> </message>
</context> </context>
<context>
<name>JsonEditorDialog</name>
<message>
<location filename="../JsonEditorDialog.ui" line="14"/>
<source>Snapmatic JSON Editor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.ui" line="107"/>
<source>&amp;Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.ui" line="114"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>MapLocationDialog</name> <name>MapLocationDialog</name>
<message> <message>
@ -297,7 +318,7 @@ 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="../MapLocationDialog.cpp" line="89"/> <location filename="../MapLocationDialog.cpp" line="90"/>
<source>X: %1 <source>X: %1
Y: %2</source> Y: %2</source>
<comment>X and Y position</comment> <comment>X and Y position</comment>
@ -437,106 +458,131 @@ Y: %2</source>
<source>Name</source> <source>Name</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<location filename="../OptionsDialog.ui" line="412"/>
<source>Language for Areas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="431"/>
<source>Style</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="449"/>
<source>Style:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="474"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="480"/>
<source>Always use Message Font (Windows 2003 and earlier)</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<location filename="../OptionsDialog.ui" line="387"/> <location filename="../OptionsDialog.ui" line="387"/>
<source>Language</source> <source>Interface</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="393"/> <location filename="../OptionsDialog.ui" line="393"/>
<source>Interface</source> <source>Language for Interface</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="402"/> <location filename="../OptionsDialog.ui" line="402"/>
<location filename="../OptionsDialog.ui" line="421"/> <location filename="../OptionsDialog.ui" line="421"/>
<location filename="../OptionsDialog.cpp" line="167"/> <location filename="../OptionsDialog.cpp" line="169"/>
<location filename="../OptionsDialog.cpp" line="215"/> <location filename="../OptionsDialog.cpp" line="217"/>
<source>Current: %1</source> <source>Current: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="412"/> <location filename="../OptionsDialog.ui" line="437"/>
<source>Areas</source> <source>Use Default Style (Restart)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="445"/> <location filename="../OptionsDialog.ui" line="504"/>
<source>Sync</source> <source>Sync</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="451"/> <location filename="../OptionsDialog.ui" line="510"/>
<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="489"/> <location filename="../OptionsDialog.ui" line="548"/>
<source>Apply changes</source> <source>Apply changes</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="492"/> <location filename="../OptionsDialog.ui" line="551"/>
<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="505"/> <location filename="../OptionsDialog.ui" line="564"/>
<source>Discard changes</source> <source>Discard changes</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="508"/> <location filename="../OptionsDialog.ui" line="567"/>
<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="131"/> <location filename="../OptionsDialog.cpp" line="133"/>
<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="131"/> <location filename="../OptionsDialog.cpp" line="133"/>
<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="133"/> <location filename="../OptionsDialog.cpp" line="135"/>
<source>%1 (Closest to Interface)</source> <source>%1 (Closest to Interface)</source>
<comment>Next closest language compared to the Interface</comment> <comment>Next closest language compared to the Interface</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="133"/> <location filename="../OptionsDialog.cpp" line="135"/>
<source>Auto</source> <source>Auto</source>
<comment>Automatic language choice.</comment> <comment>Automatic language choice.</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="335"/> <location filename="../OptionsDialog.cpp" line="408"/>
<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="335"/> <location filename="../OptionsDialog.cpp" line="408"/>
<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="345"/> <location filename="../OptionsDialog.cpp" line="418"/>
<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="353"/> <location filename="../OptionsDialog.cpp" line="426"/>
<location filename="../OptionsDialog.cpp" line="357"/> <location filename="../OptionsDialog.cpp" line="430"/>
<location filename="../OptionsDialog.cpp" line="359"/> <location filename="../OptionsDialog.cpp" line="432"/>
<source>Profile: %1</source> <source>Profile: %1</source>
<translation></translation> <translation></translation>
</message> </message>
@ -577,66 +623,67 @@ Y: %2</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="145"/> <location filename="../PictureDialog.cpp" line="148"/>
<location filename="../ProfileInterface.cpp" line="1162"/> <location filename="../ProfileInterface.cpp" line="1169"/>
<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="149"/>
<location filename="../ProfileInterface.cpp" line="1163"/> <location filename="../ProfileInterface.cpp" line="1170"/>
<source>Export as &amp;Snapmatic...</source> <source>Export as &amp;Snapmatic...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="148"/> <location filename="../PictureDialog.cpp" line="151"/>
<source>Open &amp;Map View...</source> <location filename="../ProfileInterface.cpp" line="1164"/>
<translation></translation>
</message>
<message>
<location filename="../PictureDialog.cpp" line="150"/>
<location filename="../ProfileInterface.cpp" line="1160"/>
<source>&amp;Edit Properties...</source> <source>&amp;Edit Properties...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="373"/> <location filename="../PictureDialog.cpp" line="153"/>
<location filename="../ProfileInterface.cpp" line="1166"/>
<source>Open &amp;Map Viewer...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../PictureDialog.cpp" line="380"/>
<source>Key 1 - Avatar Preview Mode <source>Key 1 - Avatar Preview Mode
Key 2 - Toggle Overlay Key 2 - Toggle Overlay
Arrow Keys - Navigate</source> Arrow Keys - Navigate</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="433"/> <location filename="../PictureDialog.cpp" line="439"/>
<location filename="../PictureDialog.cpp" line="476"/> <location filename="../PictureDialog.cpp" line="473"/>
<source>Snapmatic Picture Viewer</source> <source>Snapmatic Picture Viewer</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="433"/> <location filename="../PictureDialog.cpp" line="439"/>
<location filename="../PictureDialog.cpp" line="476"/> <location filename="../PictureDialog.cpp" line="473"/>
<source>Failed at %1</source> <source>Failed at %1</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<location filename="../PictureDialog.cpp" line="614"/> <location filename="../PictureDialog.cpp" line="618"/>
<source>No Players</source> <source>No Players</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<location filename="../PictureDialog.cpp" line="589"/> <location filename="../PictureDialog.cpp" line="591"/>
<source>No Crew</source> <source>No Crew</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<source>Unknown Location</source> <source>Unknown Location</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="560"/> <location filename="../PictureDialog.cpp" line="557"/>
<source>Avatar Preview Mode <source>Avatar Preview Mode
Press 1 for Default View</source> Press 1 for Default View</source>
<translation></translation> <translation></translation>
@ -744,6 +791,12 @@ Press 1 for Default View</source>
<source>Exported Snapmatic to &quot;%1&quot; because of using the .auto extension.</source> <source>Exported Snapmatic to &quot;%1&quot; because of using the .auto extension.</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<location filename="../PictureDialog.cpp" line="155"/>
<location filename="../ProfileInterface.cpp" line="1167"/>
<source>Open &amp;JSON Editor...</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ProfileInterface</name> <name>ProfileInterface</name>
@ -790,207 +843,207 @@ Press 1 for Default View</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="65"/> <location filename="../ProfileInterface.cpp" line="68"/>
<source>Enabled pictures: %1 of %2</source> <source>Enabled pictures: %1 of %2</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="131"/> <location filename="../ProfileInterface.cpp" line="134"/>
<source>Loading...</source> <source>Loading...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="413"/> <location filename="../ProfileInterface.cpp" line="416"/>
<location filename="../ProfileInterface.cpp" line="478"/> <location filename="../ProfileInterface.cpp" line="483"/>
<source>Import...</source> <source>Import...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="414"/> <location filename="../ProfileInterface.cpp" line="417"/>
<location filename="../ProfileInterface.cpp" line="457"/> <location filename="../ProfileInterface.cpp" line="462"/>
<location filename="../ProfileInterface.cpp" line="509"/> <location filename="../ProfileInterface.cpp" line="515"/>
<location filename="../ProfileInterface.cpp" line="529"/> <location filename="../ProfileInterface.cpp" line="535"/>
<location filename="../ProfileInterface.cpp" line="545"/> <location filename="../ProfileInterface.cpp" line="551"/>
<location filename="../ProfileInterface.cpp" line="661"/> <location filename="../ProfileInterface.cpp" line="666"/>
<location filename="../ProfileInterface.cpp" line="742"/> <location filename="../ProfileInterface.cpp" line="746"/>
<location filename="../ProfileInterface.cpp" line="747"/> <location filename="../ProfileInterface.cpp" line="751"/>
<location filename="../ProfileInterface.cpp" line="757"/> <location filename="../ProfileInterface.cpp" line="761"/>
<location filename="../ProfileInterface.cpp" line="762"/> <location filename="../ProfileInterface.cpp" line="766"/>
<location filename="../ProfileInterface.cpp" line="773"/> <location filename="../ProfileInterface.cpp" line="777"/>
<location filename="../ProfileInterface.cpp" line="810"/> <location filename="../ProfileInterface.cpp" line="814"/>
<location filename="../ProfileInterface.cpp" line="816"/> <location filename="../ProfileInterface.cpp" line="820"/>
<source>Import</source> <source>Import</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="429"/> <location filename="../ProfileInterface.cpp" line="432"/>
<source>Importable files (%1)</source> <source>Importable files (%1)</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="430"/> <location filename="../ProfileInterface.cpp" line="433"/>
<location filename="../UserInterface.cpp" line="375"/> <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="431"/> <location filename="../ProfileInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="376"/> <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="432"/> <location filename="../ProfileInterface.cpp" line="435"/>
<location filename="../UserInterface.cpp" line="377"/> <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="433"/> <location filename="../ProfileInterface.cpp" line="436"/>
<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="434"/> <location filename="../ProfileInterface.cpp" line="437"/>
<location filename="../UserInterface.cpp" line="378"/> <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="457"/> <location filename="../ProfileInterface.cpp" line="462"/>
<location filename="../ProfileInterface.cpp" line="747"/> <location filename="../ProfileInterface.cpp" line="751"/>
<location filename="../UserInterface.cpp" line="466"/> <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="479"/> <location filename="../ProfileInterface.cpp" line="484"/>
<location filename="../ProfileInterface.cpp" line="494"/> <location filename="../ProfileInterface.cpp" line="499"/>
<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="509"/> <location filename="../ProfileInterface.cpp" line="515"/>
<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="529"/> <location filename="../ProfileInterface.cpp" line="535"/>
<location filename="../UserInterface.cpp" line="418"/> <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="545"/> <location filename="../ProfileInterface.cpp" line="551"/>
<location filename="../UserInterface.cpp" line="434"/> <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="661"/> <location filename="../ProfileInterface.cpp" line="666"/>
<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="742"/> <location filename="../ProfileInterface.cpp" line="746"/>
<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="757"/> <location filename="../ProfileInterface.cpp" line="761"/>
<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="762"/> <location filename="../ProfileInterface.cpp" line="766"/>
<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="773"/> <location filename="../ProfileInterface.cpp" line="777"/>
<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="810"/> <location filename="../ProfileInterface.cpp" line="814"/>
<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="816"/> <location filename="../ProfileInterface.cpp" line="820"/>
<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="880"/> <location filename="../ProfileInterface.cpp" line="884"/>
<location filename="../ProfileInterface.cpp" line="918"/> <location filename="../ProfileInterface.cpp" line="922"/>
<location filename="../ProfileInterface.cpp" line="997"/> <location filename="../ProfileInterface.cpp" line="1001"/>
<location filename="../ProfileInterface.cpp" line="1017"/> <location filename="../ProfileInterface.cpp" line="1021"/>
<source>Export selected</source> <source>Export selected</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="903"/> <location filename="../ProfileInterface.cpp" line="907"/>
<location filename="../ProfileInterface.cpp" line="921"/> <location filename="../ProfileInterface.cpp" line="925"/>
<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="904"/> <location filename="../ProfileInterface.cpp" line="908"/>
<location filename="../ProfileInterface.cpp" line="926"/> <location filename="../ProfileInterface.cpp" line="930"/>
<source>JPG pictures only</source> <source>JPG pictures only</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="905"/> <location filename="../ProfileInterface.cpp" line="909"/>
<location filename="../ProfileInterface.cpp" line="930"/> <location filename="../ProfileInterface.cpp" line="934"/>
<source>GTA Snapmatic only</source> <source>GTA Snapmatic only</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="918"/> <location filename="../ProfileInterface.cpp" line="922"/>
<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="963"/> <location filename="../ProfileInterface.cpp" line="967"/>
<source>Export selected...</source> <source>Export selected...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="964"/> <location filename="../ProfileInterface.cpp" line="968"/>
<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="997"/> <location filename="../ProfileInterface.cpp" line="1001"/>
<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="1017"/> <location filename="../ProfileInterface.cpp" line="1021"/>
<location filename="../ProfileInterface.cpp" line="1059"/> <location filename="../ProfileInterface.cpp" line="1063"/>
<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="1025"/> <location filename="../ProfileInterface.cpp" line="1029"/>
<location filename="../ProfileInterface.cpp" line="1053"/> <location filename="../ProfileInterface.cpp" line="1057"/>
<location filename="../ProfileInterface.cpp" line="1059"/> <location filename="../ProfileInterface.cpp" line="1063"/>
<source>Remove selected</source> <source>Remove selected</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1025"/> <location filename="../ProfileInterface.cpp" line="1029"/>
<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="1053"/> <location filename="../ProfileInterface.cpp" line="1057"/>
<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>
@ -1003,15 +1056,20 @@ Press 1 for Default View</source>
<context> <context>
<name>QApplication</name> <name>QApplication</name>
<message> <message>
<location filename="../main.cpp" line="67"/> <location filename="../main.cpp" line="87"/>
<source>Font</source> <source>Font</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="67"/> <location filename="../main.cpp" line="87"/>
<source>Selected Font: %1</source> <source>Selected Font: %1</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<location filename="../main.cpp" line="108"/>
<source>&lt;h4&gt;Welcome to %1!&lt;/h4&gt;You want to configure %1 before you start using it?</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SavegameDialog</name> <name>SavegameDialog</name>
@ -1086,37 +1144,37 @@ Press 1 for Default View</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1198"/> <location filename="../ProfileInterface.cpp" line="1205"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1199"/> <location filename="../ProfileInterface.cpp" line="1206"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1200"/> <location filename="../ProfileInterface.cpp" line="1207"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1202"/> <location filename="../ProfileInterface.cpp" line="1209"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1203"/> <location filename="../ProfileInterface.cpp" line="1210"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1206"/> <location filename="../ProfileInterface.cpp" line="1213"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1210"/> <location filename="../ProfileInterface.cpp" line="1217"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1210,8 +1268,13 @@ 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="../JsonEditorDialog.cpp" line="83"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../JsonEditorDialog.cpp" line="130"/>
<location filename="../JsonEditorDialog.cpp" line="136"/>
<location filename="../JsonEditorDialog.cpp" line="148"/>
<location filename="../PictureDialog.cpp" line="732"/>
<location filename="../SnapmaticEditor.cpp" line="252"/>
<location filename="../SnapmaticWidget.cpp" line="332"/>
<source>Snapmatic Properties</source> <source>Snapmatic Properties</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1257,20 +1320,20 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="113"/> <location filename="../SnapmaticEditor.ui" line="113"/>
<location filename="../SnapmaticEditor.cpp" line="200"/> <location filename="../SnapmaticEditor.cpp" line="211"/>
<source>Crew: %1 (%2)</source> <source>Crew: %1 (%2)</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="126"/> <location filename="../SnapmaticEditor.ui" line="126"/>
<location filename="../SnapmaticEditor.cpp" line="185"/> <location filename="../SnapmaticEditor.cpp" line="196"/>
<source>Title: %1 (%2)</source> <source>Title: %1 (%2)</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="136"/> <location filename="../SnapmaticEditor.ui" line="136"/>
<location filename="../SnapmaticEditor.cpp" line="189"/> <location filename="../SnapmaticEditor.cpp" line="200"/>
<location filename="../SnapmaticEditor.cpp" line="193"/> <location filename="../SnapmaticEditor.cpp" line="204"/>
<source>Appropriate: %1</source> <source>Appropriate: %1</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1300,46 +1363,59 @@ Press 1 for Default View</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="184"/> <location filename="../SnapmaticEditor.cpp" line="195"/>
<location filename="../SnapmaticEditor.cpp" line="199"/> <location filename="../SnapmaticEditor.cpp" line="210"/>
<source>Edit</source> <source>Edit</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="189"/> <location filename="../SnapmaticEditor.cpp" line="200"/>
<source>Yes</source> <source>Yes</source>
<comment>Yes, should work fine</comment> <comment>Yes, should work fine</comment>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="193"/> <location filename="../SnapmaticEditor.cpp" line="204"/>
<source>No</source> <source>No</source>
<comment>No, could lead to issues</comment> <comment>No, could lead to issues</comment>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="727"/> <location filename="../JsonEditorDialog.cpp" line="83"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <source>&lt;h4&gt;Unsaved changes detected&lt;/h4&gt;You want to save the JSON content before you quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.cpp" line="130"/>
<location filename="../JsonEditorDialog.cpp" line="148"/>
<source>Patching of Snapmatic Properties failed because of JSON Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.cpp" line="136"/>
<location filename="../PictureDialog.cpp" line="732"/>
<location filename="../SnapmaticEditor.cpp" line="252"/>
<location filename="../SnapmaticWidget.cpp" line="332"/>
<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>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="291"/> <location filename="../SnapmaticEditor.cpp" line="302"/>
<source>Snapmatic Title</source> <source>Snapmatic Title</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="291"/> <location filename="../SnapmaticEditor.cpp" line="302"/>
<source>New Snapmatic title:</source> <source>New Snapmatic title:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="320"/> <location filename="../SnapmaticEditor.cpp" line="331"/>
<source>Snapmatic Crew</source> <source>Snapmatic Crew</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="320"/> <location filename="../SnapmaticEditor.cpp" line="331"/>
<source>New Snapmatic crew:</source> <source>New Snapmatic crew:</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1396,8 +1472,8 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.ui" line="152"/> <location filename="../SnapmaticWidget.ui" line="152"/>
<location filename="../SnapmaticWidget.cpp" line="144"/> <location filename="../SnapmaticWidget.cpp" line="146"/>
<location filename="../SnapmaticWidget.cpp" line="153"/> <location filename="../SnapmaticWidget.cpp" line="155"/>
<source>Delete picture</source> <source>Delete picture</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1407,62 +1483,62 @@ Press 1 for Default View</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1151"/> <location filename="../ProfileInterface.cpp" line="1155"/>
<source>Edi&amp;t</source> <source>Edi&amp;t</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1154"/> <location filename="../ProfileInterface.cpp" line="1158"/>
<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="1158"/> <location filename="../ProfileInterface.cpp" line="1162"/>
<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="1161"/> <location filename="../ProfileInterface.cpp" line="1168"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1164"/> <location filename="../ProfileInterface.cpp" line="1171"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1167"/> <location filename="../ProfileInterface.cpp" line="1174"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1169"/> <location filename="../ProfileInterface.cpp" line="1176"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1170"/> <location filename="../ProfileInterface.cpp" line="1177"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1173"/> <location filename="../ProfileInterface.cpp" line="1180"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1177"/> <location filename="../ProfileInterface.cpp" line="1184"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="144"/> <location filename="../SnapmaticWidget.cpp" line="146"/>
<source>Are you sure to delete %1 from your Snapmatic pictures?</source> <source>Are you sure to delete %1 from your Snapmatic pictures?</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="153"/> <location filename="../SnapmaticWidget.cpp" line="155"/>
<source>Failed at deleting %1 from your Snapmatic pictures</source> <source>Failed at deleting %1 from your Snapmatic pictures</source>
<translation></translation> <translation></translation>
</message> </message>
@ -1646,7 +1722,7 @@ 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="491"/> <location filename="../OptionsDialog.cpp" line="564"/>
<location filename="../UserInterface.cpp" line="103"/> <location filename="../UserInterface.cpp" line="103"/>
<location filename="../UserInterface.cpp" line="523"/> <location filename="../UserInterface.cpp" line="523"/>
<source>Select GTA V Folder...</source> <source>Select GTA V Folder...</source>

Binary file not shown.

View File

@ -223,6 +223,7 @@ et les fichiers de sauvegarde de Grand Theft Auto V</translation>
<name>CrewDatabase</name> <name>CrewDatabase</name>
<message> <message>
<location filename="../CrewDatabase.cpp" line="102"/> <location filename="../CrewDatabase.cpp" line="102"/>
<location filename="../CrewDatabase.cpp" line="113"/>
<source>No Crew</source> <source>No Crew</source>
<translation>Aucun crew</translation> <translation>Aucun crew</translation>
</message> </message>
@ -362,12 +363,14 @@ et les fichiers de sauvegarde de Grand Theft Auto V</translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="105"/> <location filename="../ImportDialog.cpp" line="105"/>
<location filename="../ProfileInterface.cpp" line="599"/>
<source>Custom Avatar</source> <source>Custom Avatar</source>
<comment>Custom Avatar Description in SC, don&apos;t use Special Character!</comment> <comment>Custom Avatar Description in SC, don&apos;t use Special Character!</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="131"/> <location filename="../ImportDialog.cpp" line="131"/>
<location filename="../ProfileInterface.cpp" line="618"/>
<source>Custom Picture</source> <source>Custom Picture</source>
<comment>Custom Picture Description in SC, don&apos;t use Special Character!</comment> <comment>Custom Picture Description in SC, don&apos;t use Special Character!</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -389,6 +392,24 @@ When you want to use it as Avatar the image will be detached!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>JsonEditorDialog</name>
<message>
<location filename="../JsonEditorDialog.ui" line="14"/>
<source>Snapmatic JSON Editor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.ui" line="107"/>
<source>&amp;Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.ui" line="114"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>MapLocationDialog</name> <name>MapLocationDialog</name>
<message> <message>
@ -422,7 +443,7 @@ 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="../MapLocationDialog.cpp" line="89"/> <location filename="../MapLocationDialog.cpp" line="90"/>
<source>X: %1 <source>X: %1
Y: %2</source> Y: %2</source>
<comment>X and Y position</comment> <comment>X and Y position</comment>
@ -570,56 +591,85 @@ Y: %2</source>
<translation>Nom</translation> <translation>Nom</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="387"/> <location filename="../OptionsDialog.ui" line="412"/>
<source>Language for Areas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="431"/>
<source>Style</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="449"/>
<source>Style:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="474"/>
<source>Font</source>
<translation type="unfinished">Police</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="480"/>
<source>Always use Message Font (Windows 2003 and earlier)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language</source> <source>Language</source>
<translation>Langue</translation> <translation type="vanished">Langue</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="387"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="393"/> <location filename="../OptionsDialog.ui" line="393"/>
<source>Interface</source> <source>Language for Interface</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="402"/> <location filename="../OptionsDialog.ui" line="402"/>
<location filename="../OptionsDialog.ui" line="421"/> <location filename="../OptionsDialog.ui" line="421"/>
<location filename="../OptionsDialog.cpp" line="167"/> <location filename="../OptionsDialog.cpp" line="169"/>
<location filename="../OptionsDialog.cpp" line="215"/> <location filename="../OptionsDialog.cpp" line="217"/>
<source>Current: %1</source> <source>Current: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="412"/> <location filename="../OptionsDialog.ui" line="437"/>
<source>Areas</source> <source>Use Default Style (Restart)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="445"/> <location filename="../OptionsDialog.ui" line="504"/>
<source>Sync</source> <source>Sync</source>
<translation>Synchronisation</translation> <translation>Synchronisation</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="451"/> <location filename="../OptionsDialog.ui" line="510"/>
<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="489"/> <location filename="../OptionsDialog.ui" line="548"/>
<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="492"/> <location filename="../OptionsDialog.ui" line="551"/>
<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="505"/> <location filename="../OptionsDialog.ui" line="564"/>
<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="508"/> <location filename="../OptionsDialog.ui" line="567"/>
<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>
@ -635,37 +685,37 @@ Y: %2</source>
<translation type="vanished">Système</translation> <translation type="vanished">Système</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="131"/> <location filename="../OptionsDialog.cpp" line="133"/>
<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="131"/> <location filename="../OptionsDialog.cpp" line="133"/>
<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="133"/> <location filename="../OptionsDialog.cpp" line="135"/>
<source>%1 (Closest to Interface)</source> <source>%1 (Closest to Interface)</source>
<comment>Next closest language compared to the Interface</comment> <comment>Next closest language compared to the Interface</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="133"/> <location filename="../OptionsDialog.cpp" line="135"/>
<source>Auto</source> <source>Auto</source>
<comment>Automatic language choice.</comment> <comment>Automatic language choice.</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="335"/> <location filename="../OptionsDialog.cpp" line="408"/>
<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="335"/> <location filename="../OptionsDialog.cpp" line="408"/>
<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>
@ -678,15 +728,15 @@ Y: %2</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="345"/> <location filename="../OptionsDialog.cpp" line="418"/>
<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="353"/> <location filename="../OptionsDialog.cpp" line="426"/>
<location filename="../OptionsDialog.cpp" line="357"/> <location filename="../OptionsDialog.cpp" line="430"/>
<location filename="../OptionsDialog.cpp" line="359"/> <location filename="../OptionsDialog.cpp" line="432"/>
<source>Profile: %1</source> <source>Profile: %1</source>
<translation>Profil : %1</translation> <translation>Profil : %1</translation>
</message> </message>
@ -852,8 +902,8 @@ Y: %2</source>
<translation type="vanished">Exporter comme image &amp;JPG...</translation> <translation type="vanished">Exporter comme image &amp;JPG...</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="145"/> <location filename="../PictureDialog.cpp" line="148"/>
<location filename="../ProfileInterface.cpp" line="1162"/> <location filename="../ProfileInterface.cpp" line="1169"/>
<source>Export as &amp;Picture...</source> <source>Export as &amp;Picture...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -862,8 +912,8 @@ Y: %2</source>
<translation type="vanished">Exporter comme &amp;GTA Snapmatic...</translation> <translation type="vanished">Exporter comme &amp;GTA Snapmatic...</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="146"/> <location filename="../PictureDialog.cpp" line="149"/>
<location filename="../ProfileInterface.cpp" line="1163"/> <location filename="../ProfileInterface.cpp" line="1170"/>
<source>Export as &amp;Snapmatic...</source> <source>Export as &amp;Snapmatic...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -872,18 +922,19 @@ Y: %2</source>
<translation type="obsolete">Édi&amp;ter</translation> <translation type="obsolete">Édi&amp;ter</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="148"/> <location filename="../PictureDialog.cpp" line="151"/>
<source>Open &amp;Map View...</source> <location filename="../ProfileInterface.cpp" line="1164"/>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../PictureDialog.cpp" line="150"/>
<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>
<message> <message>
<location filename="../PictureDialog.cpp" line="373"/> <location filename="../PictureDialog.cpp" line="153"/>
<location filename="../ProfileInterface.cpp" line="1166"/>
<source>Open &amp;Map Viewer...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../PictureDialog.cpp" line="380"/>
<source>Key 1 - Avatar Preview Mode <source>Key 1 - Avatar Preview Mode
Key 2 - Toggle Overlay Key 2 - Toggle Overlay
Arrow Keys - Navigate</source> Arrow Keys - Navigate</source>
@ -892,31 +943,31 @@ Touche 2 - Activer/désactiver l&apos;overlay
Touches fléchées - Naviguer</translation> Touches fléchées - Naviguer</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="433"/> <location filename="../PictureDialog.cpp" line="439"/>
<location filename="../PictureDialog.cpp" line="476"/> <location filename="../PictureDialog.cpp" line="473"/>
<source>Snapmatic Picture Viewer</source> <source>Snapmatic Picture Viewer</source>
<translation>Visionneuse de photo Snapmatic</translation> <translation>Visionneuse de photo Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="433"/> <location filename="../PictureDialog.cpp" line="439"/>
<location filename="../PictureDialog.cpp" line="476"/> <location filename="../PictureDialog.cpp" line="473"/>
<source>Failed at %1</source> <source>Failed at %1</source>
<translation>Echec de %1</translation> <translation>Echec de %1</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<location filename="../PictureDialog.cpp" line="589"/> <location filename="../PictureDialog.cpp" line="591"/>
<source>No Crew</source> <source>No Crew</source>
<translation>Aucun crew</translation> <translation>Aucun crew</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<location filename="../PictureDialog.cpp" line="614"/> <location filename="../PictureDialog.cpp" line="618"/>
<source>No Players</source> <source>No Players</source>
<translation>Aucun joueurs</translation> <translation>Aucun joueurs</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="560"/> <location filename="../PictureDialog.cpp" line="557"/>
<source>Avatar Preview Mode <source>Avatar Preview Mode
Press 1 for Default View</source> Press 1 for Default View</source>
<translation>Mode Aperçu Avatar <translation>Mode Aperçu Avatar
@ -935,7 +986,7 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation type="vanished">Aucun crew</translation> <translation type="vanished">Aucun crew</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<source>Unknown Location</source> <source>Unknown Location</source>
<translation>Emplacement inconnu</translation> <translation>Emplacement inconnu</translation>
</message> </message>
@ -968,6 +1019,12 @@ Appuyer sur 1 pour le mode par défaut</translation>
<source>Failed to export current Snapmatic picture</source> <source>Failed to export current Snapmatic picture</source>
<translation>Échec de l&apos;export de la photo Snapmatic</translation> <translation>Échec de l&apos;export de la photo Snapmatic</translation>
</message> </message>
<message>
<location filename="../PictureDialog.cpp" line="155"/>
<location filename="../ProfileInterface.cpp" line="1167"/>
<source>Open &amp;JSON Editor...</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ProfileInterface</name> <name>ProfileInterface</name>
@ -1018,35 +1075,35 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation>Copie du fichier %1 sur %2</translation> <translation>Copie du fichier %1 sur %2</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="65"/> <location filename="../ProfileInterface.cpp" line="68"/>
<source>Enabled pictures: %1 of %2</source> <source>Enabled pictures: %1 of %2</source>
<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="131"/> <location filename="../ProfileInterface.cpp" line="134"/>
<source>Loading...</source> <source>Loading...</source>
<translation>Chargement...</translation> <translation>Chargement...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="413"/> <location filename="../ProfileInterface.cpp" line="416"/>
<location filename="../ProfileInterface.cpp" line="478"/> <location filename="../ProfileInterface.cpp" line="483"/>
<source>Import...</source> <source>Import...</source>
<translation>Importer...</translation> <translation>Importer...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="414"/> <location filename="../ProfileInterface.cpp" line="417"/>
<location filename="../ProfileInterface.cpp" line="457"/> <location filename="../ProfileInterface.cpp" line="462"/>
<location filename="../ProfileInterface.cpp" line="509"/> <location filename="../ProfileInterface.cpp" line="515"/>
<location filename="../ProfileInterface.cpp" line="529"/> <location filename="../ProfileInterface.cpp" line="535"/>
<location filename="../ProfileInterface.cpp" line="545"/> <location filename="../ProfileInterface.cpp" line="551"/>
<location filename="../ProfileInterface.cpp" line="661"/> <location filename="../ProfileInterface.cpp" line="666"/>
<location filename="../ProfileInterface.cpp" line="742"/> <location filename="../ProfileInterface.cpp" line="746"/>
<location filename="../ProfileInterface.cpp" line="747"/> <location filename="../ProfileInterface.cpp" line="751"/>
<location filename="../ProfileInterface.cpp" line="757"/> <location filename="../ProfileInterface.cpp" line="761"/>
<location filename="../ProfileInterface.cpp" line="762"/> <location filename="../ProfileInterface.cpp" line="766"/>
<location filename="../ProfileInterface.cpp" line="773"/> <location filename="../ProfileInterface.cpp" line="777"/>
<location filename="../ProfileInterface.cpp" line="810"/> <location filename="../ProfileInterface.cpp" line="814"/>
<location filename="../ProfileInterface.cpp" line="816"/> <location filename="../ProfileInterface.cpp" line="820"/>
<source>Import</source> <source>Import</source>
<translation>Importer</translation> <translation>Importer</translation>
</message> </message>
@ -1055,36 +1112,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="431"/> <location filename="../ProfileInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="376"/> <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="432"/> <location filename="../ProfileInterface.cpp" line="435"/>
<location filename="../UserInterface.cpp" line="377"/> <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="433"/> <location filename="../ProfileInterface.cpp" line="436"/>
<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="434"/> <location filename="../ProfileInterface.cpp" line="437"/>
<location filename="../UserInterface.cpp" line="378"/> <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="479"/> <location filename="../ProfileInterface.cpp" line="484"/>
<location filename="../ProfileInterface.cpp" line="494"/> <location filename="../ProfileInterface.cpp" line="499"/>
<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="509"/> <location filename="../ProfileInterface.cpp" line="515"/>
<source>Import failed with... <source>Import failed with...
%1</source> %1</source>
@ -1093,25 +1150,25 @@ Appuyer sur 1 pour le mode par défaut</translation>
%1</translation> %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="457"/> <location filename="../ProfileInterface.cpp" line="462"/>
<location filename="../ProfileInterface.cpp" line="747"/> <location filename="../ProfileInterface.cpp" line="751"/>
<location filename="../UserInterface.cpp" line="466"/> <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="429"/> <location filename="../ProfileInterface.cpp" line="432"/>
<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="529"/> <location filename="../ProfileInterface.cpp" line="535"/>
<location filename="../UserInterface.cpp" line="418"/> <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="545"/> <location filename="../ProfileInterface.cpp" line="551"/>
<location filename="../UserInterface.cpp" line="434"/> <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>
@ -1133,78 +1190,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="661"/> <location filename="../ProfileInterface.cpp" line="666"/>
<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="742"/> <location filename="../ProfileInterface.cpp" line="746"/>
<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="757"/> <location filename="../ProfileInterface.cpp" line="761"/>
<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="762"/> <location filename="../ProfileInterface.cpp" line="766"/>
<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="773"/> <location filename="../ProfileInterface.cpp" line="777"/>
<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="810"/> <location filename="../ProfileInterface.cpp" line="814"/>
<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="816"/> <location filename="../ProfileInterface.cpp" line="820"/>
<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="880"/> <location filename="../ProfileInterface.cpp" line="884"/>
<location filename="../ProfileInterface.cpp" line="918"/> <location filename="../ProfileInterface.cpp" line="922"/>
<location filename="../ProfileInterface.cpp" line="997"/> <location filename="../ProfileInterface.cpp" line="1001"/>
<location filename="../ProfileInterface.cpp" line="1017"/> <location filename="../ProfileInterface.cpp" line="1021"/>
<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="903"/> <location filename="../ProfileInterface.cpp" line="907"/>
<location filename="../ProfileInterface.cpp" line="921"/> <location filename="../ProfileInterface.cpp" line="925"/>
<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="904"/> <location filename="../ProfileInterface.cpp" line="908"/>
<location filename="../ProfileInterface.cpp" line="926"/> <location filename="../ProfileInterface.cpp" line="930"/>
<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="905"/> <location filename="../ProfileInterface.cpp" line="909"/>
<location filename="../ProfileInterface.cpp" line="930"/> <location filename="../ProfileInterface.cpp" line="934"/>
<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="918"/> <location filename="../ProfileInterface.cpp" line="922"/>
<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="963"/> <location filename="../ProfileInterface.cpp" line="967"/>
<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="964"/> <location filename="../ProfileInterface.cpp" line="968"/>
<source>Initialising export...</source> <source>Initialising export...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1213,7 +1270,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="997"/> <location filename="../ProfileInterface.cpp" line="1001"/>
<source>Export failed with... <source>Export failed with...
%1</source> %1</source>
@ -1222,25 +1279,25 @@ Appuyer sur 1 pour le mode par défaut</translation>
%1</translation> %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1017"/> <location filename="../ProfileInterface.cpp" line="1021"/>
<location filename="../ProfileInterface.cpp" line="1059"/> <location filename="../ProfileInterface.cpp" line="1063"/>
<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="1025"/> <location filename="../ProfileInterface.cpp" line="1029"/>
<location filename="../ProfileInterface.cpp" line="1053"/> <location filename="../ProfileInterface.cpp" line="1057"/>
<location filename="../ProfileInterface.cpp" line="1059"/> <location filename="../ProfileInterface.cpp" line="1063"/>
<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="1025"/> <location filename="../ProfileInterface.cpp" line="1029"/>
<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="1053"/> <location filename="../ProfileInterface.cpp" line="1057"/>
<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>
@ -1250,7 +1307,7 @@ Appuyer sur 1 pour le mode par défaut</translation>
<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="430"/> <location filename="../ProfileInterface.cpp" line="433"/>
<location filename="../UserInterface.cpp" line="375"/> <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>
@ -1259,15 +1316,20 @@ Appuyer sur 1 pour le mode par défaut</translation>
<context> <context>
<name>QApplication</name> <name>QApplication</name>
<message> <message>
<location filename="../main.cpp" line="67"/> <location filename="../main.cpp" line="87"/>
<source>Font</source> <source>Font</source>
<translation>Police</translation> <translation>Police</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="67"/> <location filename="../main.cpp" line="87"/>
<source>Selected Font: %1</source> <source>Selected Font: %1</source>
<translation>Police sélectionnée : %1</translation> <translation>Police sélectionnée : %1</translation>
</message> </message>
<message>
<location filename="../main.cpp" line="108"/>
<source>&lt;h4&gt;Welcome to %1!&lt;/h4&gt;You want to configure %1 before you start using it?</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SavegameDialog</name> <name>SavegameDialog</name>
@ -1342,7 +1404,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="1199"/> <location filename="../ProfileInterface.cpp" line="1206"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation>&amp;Exporter</translation> <translation>&amp;Exporter</translation>
</message> </message>
@ -1433,32 +1495,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="1198"/> <location filename="../ProfileInterface.cpp" line="1205"/>
<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="1200"/> <location filename="../ProfileInterface.cpp" line="1207"/>
<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="1202"/> <location filename="../ProfileInterface.cpp" line="1209"/>
<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="1203"/> <location filename="../ProfileInterface.cpp" line="1210"/>
<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="1206"/> <location filename="../ProfileInterface.cpp" line="1213"/>
<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="1210"/> <location filename="../ProfileInterface.cpp" line="1217"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation>&amp;Déselectionner tout</translation> <translation>&amp;Déselectionner tout</translation>
</message> </message>
@ -1468,8 +1530,13 @@ 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="../JsonEditorDialog.cpp" line="83"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../JsonEditorDialog.cpp" line="130"/>
<location filename="../JsonEditorDialog.cpp" line="136"/>
<location filename="../JsonEditorDialog.cpp" line="148"/>
<location filename="../PictureDialog.cpp" line="732"/>
<location filename="../SnapmaticEditor.cpp" line="252"/>
<location filename="../SnapmaticWidget.cpp" line="332"/>
<source>Snapmatic Properties</source> <source>Snapmatic Properties</source>
<translation>Propriétés Snapmatic</translation> <translation>Propriétés Snapmatic</translation>
</message> </message>
@ -1513,7 +1580,7 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation>Meme</translation> <translation>Meme</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="291"/> <location filename="../SnapmaticEditor.cpp" line="302"/>
<source>Snapmatic Title</source> <source>Snapmatic Title</source>
<translation>Titre Snapmatic</translation> <translation>Titre Snapmatic</translation>
</message> </message>
@ -1524,20 +1591,20 @@ Appuyer sur 1 pour le mode par défaut</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="113"/> <location filename="../SnapmaticEditor.ui" line="113"/>
<location filename="../SnapmaticEditor.cpp" line="200"/> <location filename="../SnapmaticEditor.cpp" line="211"/>
<source>Crew: %1 (%2)</source> <source>Crew: %1 (%2)</source>
<translation>Crew : %1 (%2)</translation> <translation>Crew : %1 (%2)</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="126"/> <location filename="../SnapmaticEditor.ui" line="126"/>
<location filename="../SnapmaticEditor.cpp" line="185"/> <location filename="../SnapmaticEditor.cpp" line="196"/>
<source>Title: %1 (%2)</source> <source>Title: %1 (%2)</source>
<translation>Titre : %1 (%2)</translation> <translation>Titre : %1 (%2)</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="136"/> <location filename="../SnapmaticEditor.ui" line="136"/>
<location filename="../SnapmaticEditor.cpp" line="189"/> <location filename="../SnapmaticEditor.cpp" line="200"/>
<location filename="../SnapmaticEditor.cpp" line="193"/> <location filename="../SnapmaticEditor.cpp" line="204"/>
<source>Appropriate: %1</source> <source>Appropriate: %1</source>
<translation>Valide : %1</translation> <translation>Valide : %1</translation>
</message> </message>
@ -1567,43 +1634,56 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation>A&amp;nnuler</translation> <translation>A&amp;nnuler</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="184"/> <location filename="../SnapmaticEditor.cpp" line="195"/>
<location filename="../SnapmaticEditor.cpp" line="199"/> <location filename="../SnapmaticEditor.cpp" line="210"/>
<source>Edit</source> <source>Edit</source>
<translation>Éditer</translation> <translation>Éditer</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="189"/> <location filename="../SnapmaticEditor.cpp" line="200"/>
<source>Yes</source> <source>Yes</source>
<comment>Yes, should work fine</comment> <comment>Yes, should work fine</comment>
<translatorcomment>Oui, devrait fonctionner</translatorcomment> <translatorcomment>Oui, devrait fonctionner</translatorcomment>
<translation>Oui</translation> <translation>Oui</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="193"/> <location filename="../SnapmaticEditor.cpp" line="204"/>
<source>No</source> <source>No</source>
<comment>No, could lead to issues</comment> <comment>No, could lead to issues</comment>
<translatorcomment>Non, pourrait causer des erreurs</translatorcomment> <translatorcomment>Non, pourrait causer des erreurs</translatorcomment>
<translation>Non</translation> <translation>Non</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="727"/> <location filename="../JsonEditorDialog.cpp" line="83"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <source>&lt;h4&gt;Unsaved changes detected&lt;/h4&gt;You want to save the JSON content before you quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.cpp" line="130"/>
<location filename="../JsonEditorDialog.cpp" line="148"/>
<source>Patching of Snapmatic Properties failed because of JSON Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.cpp" line="136"/>
<location filename="../PictureDialog.cpp" line="732"/>
<location filename="../SnapmaticEditor.cpp" line="252"/>
<location filename="../SnapmaticWidget.cpp" line="332"/>
<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>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="291"/> <location filename="../SnapmaticEditor.cpp" line="302"/>
<source>New Snapmatic title:</source> <source>New Snapmatic title:</source>
<translation>Nouveau titre Snapmatic :</translation> <translation>Nouveau titre Snapmatic :</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="320"/> <location filename="../SnapmaticEditor.cpp" line="331"/>
<source>Snapmatic Crew</source> <source>Snapmatic Crew</source>
<translation>Crew Snapmatic</translation> <translation>Crew Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="320"/> <location filename="../SnapmaticEditor.cpp" line="331"/>
<source>New Snapmatic crew:</source> <source>New Snapmatic crew:</source>
<translation>Nouveau crew Snapmatic :</translation> <translation>Nouveau crew Snapmatic :</translation>
</message> </message>
@ -1660,8 +1740,8 @@ Appuyer sur 1 pour le mode par défaut</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.ui" line="152"/> <location filename="../SnapmaticWidget.ui" line="152"/>
<location filename="../SnapmaticWidget.cpp" line="144"/> <location filename="../SnapmaticWidget.cpp" line="146"/>
<location filename="../SnapmaticWidget.cpp" line="153"/> <location filename="../SnapmaticWidget.cpp" line="155"/>
<source>Delete picture</source> <source>Delete picture</source>
<translation>Supprimer la photo</translation> <translation>Supprimer la photo</translation>
</message> </message>
@ -1671,27 +1751,27 @@ Appuyer sur 1 pour le mode par défaut</translation>
<translation>Supprimer</translation> <translation>Supprimer</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="144"/> <location filename="../SnapmaticWidget.cpp" line="146"/>
<source>Are you sure to delete %1 from your Snapmatic pictures?</source> <source>Are you sure to delete %1 from your Snapmatic pictures?</source>
<translation>Supprimer %1 ?</translation> <translation>Supprimer %1 ?</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="153"/> <location filename="../SnapmaticWidget.cpp" line="155"/>
<source>Failed at deleting %1 from your Snapmatic pictures</source> <source>Failed at deleting %1 from your Snapmatic pictures</source>
<translation>Impossible de supprimer %1</translation> <translation>Impossible de supprimer %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1151"/> <location filename="../ProfileInterface.cpp" line="1155"/>
<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="1154"/> <location filename="../ProfileInterface.cpp" line="1158"/>
<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="1158"/> <location filename="../ProfileInterface.cpp" line="1162"/>
<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>
@ -1700,7 +1780,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="1161"/> <location filename="../ProfileInterface.cpp" line="1168"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation>&amp;Exporter</translation> <translation>&amp;Exporter</translation>
</message> </message>
@ -1713,32 +1793,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="1164"/> <location filename="../ProfileInterface.cpp" line="1171"/>
<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="1167"/> <location filename="../ProfileInterface.cpp" line="1174"/>
<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="1169"/> <location filename="../ProfileInterface.cpp" line="1176"/>
<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="1170"/> <location filename="../ProfileInterface.cpp" line="1177"/>
<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="1173"/> <location filename="../ProfileInterface.cpp" line="1180"/>
<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="1177"/> <location filename="../ProfileInterface.cpp" line="1184"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation>&amp;Déselectionner tout</translation> <translation>&amp;Déselectionner tout</translation>
</message> </message>
@ -1912,7 +1992,7 @@ 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="491"/> <location filename="../OptionsDialog.cpp" line="564"/>
<location filename="../UserInterface.cpp" line="103"/> <location filename="../UserInterface.cpp" line="103"/>
<location filename="../UserInterface.cpp" line="523"/> <location filename="../UserInterface.cpp" line="523"/>
<source>Select GTA V Folder...</source> <source>Select GTA V Folder...</source>

Binary file not shown.

View File

@ -184,6 +184,7 @@ Grand Theft Auto V Snapmatic картинок и сохранений</translati
<name>CrewDatabase</name> <name>CrewDatabase</name>
<message> <message>
<location filename="../CrewDatabase.cpp" line="102"/> <location filename="../CrewDatabase.cpp" line="102"/>
<location filename="../CrewDatabase.cpp" line="113"/>
<source>No Crew</source> <source>No Crew</source>
<translation>Вне банды</translation> <translation>Вне банды</translation>
</message> </message>
@ -325,12 +326,14 @@ Grand Theft Auto V Snapmatic картинок и сохранений</translati
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="105"/> <location filename="../ImportDialog.cpp" line="105"/>
<location filename="../ProfileInterface.cpp" line="599"/>
<source>Custom Avatar</source> <source>Custom Avatar</source>
<comment>Custom Avatar Description in SC, don&apos;t use Special Character!</comment> <comment>Custom Avatar Description in SC, don&apos;t use Special Character!</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ImportDialog.cpp" line="131"/> <location filename="../ImportDialog.cpp" line="131"/>
<location filename="../ProfileInterface.cpp" line="618"/>
<source>Custom Picture</source> <source>Custom Picture</source>
<comment>Custom Picture Description in SC, don&apos;t use Special Character!</comment> <comment>Custom Picture Description in SC, don&apos;t use Special Character!</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -352,6 +355,24 @@ When you want to use it as Avatar the image will be detached!</source>
<translation>Выбрать цвет...</translation> <translation>Выбрать цвет...</translation>
</message> </message>
</context> </context>
<context>
<name>JsonEditorDialog</name>
<message>
<location filename="../JsonEditorDialog.ui" line="14"/>
<source>Snapmatic JSON Editor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.ui" line="107"/>
<source>&amp;Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.ui" line="114"/>
<source>&amp;Close</source>
<translation type="unfinished">&amp;Закрыть</translation>
</message>
</context>
<context> <context>
<name>MapLocationDialog</name> <name>MapLocationDialog</name>
<message> <message>
@ -392,7 +413,7 @@ Y: %2</translation>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../MapLocationDialog.cpp" line="89"/> <location filename="../MapLocationDialog.cpp" line="90"/>
<source>X: %1 <source>X: %1
Y: %2</source> Y: %2</source>
<comment>X and Y position</comment> <comment>X and Y position</comment>
@ -534,56 +555,85 @@ Y: %2</translation>
<translation>Имя</translation> <translation>Имя</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="387"/> <location filename="../OptionsDialog.ui" line="412"/>
<source>Language for Areas</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="431"/>
<source>Style</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="449"/>
<source>Style:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="474"/>
<source>Font</source>
<translation type="unfinished">Шрифт</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="480"/>
<source>Always use Message Font (Windows 2003 and earlier)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Language</source> <source>Language</source>
<translation>Язык</translation> <translation type="vanished">Язык</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="387"/>
<source>Interface</source>
<translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="393"/> <location filename="../OptionsDialog.ui" line="393"/>
<source>Interface</source> <source>Language for Interface</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="402"/> <location filename="../OptionsDialog.ui" line="402"/>
<location filename="../OptionsDialog.ui" line="421"/> <location filename="../OptionsDialog.ui" line="421"/>
<location filename="../OptionsDialog.cpp" line="167"/> <location filename="../OptionsDialog.cpp" line="169"/>
<location filename="../OptionsDialog.cpp" line="215"/> <location filename="../OptionsDialog.cpp" line="217"/>
<source>Current: %1</source> <source>Current: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="412"/> <location filename="../OptionsDialog.ui" line="437"/>
<source>Areas</source> <source>Use Default Style (Restart)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="445"/> <location filename="../OptionsDialog.ui" line="504"/>
<source>Sync</source> <source>Sync</source>
<translation>Sync</translation> <translation>Sync</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="451"/> <location filename="../OptionsDialog.ui" line="510"/>
<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="489"/> <location filename="../OptionsDialog.ui" line="548"/>
<source>Apply changes</source> <source>Apply changes</source>
<translation>Применить изменения</translation> <translation>Применить изменения</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="492"/> <location filename="../OptionsDialog.ui" line="551"/>
<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="505"/> <location filename="../OptionsDialog.ui" line="564"/>
<source>Discard changes</source> <source>Discard changes</source>
<translation>Отвергнуть изменения</translation> <translation>Отвергнуть изменения</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.ui" line="508"/> <location filename="../OptionsDialog.ui" line="567"/>
<source>&amp;Cancel</source> <source>&amp;Cancel</source>
<extracomment>OK, Cancel, Apply</extracomment> <extracomment>OK, Cancel, Apply</extracomment>
<translation>От&amp;мена</translation> <translation>От&amp;мена</translation>
@ -600,37 +650,37 @@ Y: %2</translation>
<translation type="vanished">%1 (%2 если имеется)</translation> <translation type="vanished">%1 (%2 если имеется)</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="131"/> <location filename="../OptionsDialog.cpp" line="133"/>
<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="131"/> <location filename="../OptionsDialog.cpp" line="133"/>
<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="133"/> <location filename="../OptionsDialog.cpp" line="135"/>
<source>%1 (Closest to Interface)</source> <source>%1 (Closest to Interface)</source>
<comment>Next closest language compared to the Interface</comment> <comment>Next closest language compared to the Interface</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="133"/> <location filename="../OptionsDialog.cpp" line="135"/>
<source>Auto</source> <source>Auto</source>
<comment>Automatic language choice.</comment> <comment>Automatic language choice.</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="335"/> <location filename="../OptionsDialog.cpp" line="408"/>
<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="335"/> <location filename="../OptionsDialog.cpp" line="408"/>
<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>
@ -643,15 +693,15 @@ Y: %2</translation>
<translation type="vanished">Язык изменится после перезапуска %1.</translation> <translation type="vanished">Язык изменится после перезапуска %1.</translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="345"/> <location filename="../OptionsDialog.cpp" line="418"/>
<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="353"/> <location filename="../OptionsDialog.cpp" line="426"/>
<location filename="../OptionsDialog.cpp" line="357"/> <location filename="../OptionsDialog.cpp" line="430"/>
<location filename="../OptionsDialog.cpp" line="359"/> <location filename="../OptionsDialog.cpp" line="432"/>
<source>Profile: %1</source> <source>Profile: %1</source>
<translation>Профиль: %1</translation> <translation>Профиль: %1</translation>
</message> </message>
@ -731,8 +781,8 @@ Y: %2</translation>
<translation type="vanished">Эксп&amp;ортировать как картинку JPG...</translation> <translation type="vanished">Эксп&amp;ортировать как картинку JPG...</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="145"/> <location filename="../PictureDialog.cpp" line="148"/>
<location filename="../ProfileInterface.cpp" line="1162"/> <location filename="../ProfileInterface.cpp" line="1169"/>
<source>Export as &amp;Picture...</source> <source>Export as &amp;Picture...</source>
<translation>Экспортировать как &amp;картинку...</translation> <translation>Экспортировать как &amp;картинку...</translation>
</message> </message>
@ -741,8 +791,8 @@ Y: %2</translation>
<translation type="vanished">Экс&amp;портировать как GTA Snapmatic...</translation> <translation type="vanished">Экс&amp;портировать как GTA Snapmatic...</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="146"/> <location filename="../PictureDialog.cpp" line="149"/>
<location filename="../ProfileInterface.cpp" line="1163"/> <location filename="../ProfileInterface.cpp" line="1170"/>
<source>Export as &amp;Snapmatic...</source> <source>Export as &amp;Snapmatic...</source>
<translation>Экспортировать как &amp;Snapmatic...</translation> <translation>Экспортировать как &amp;Snapmatic...</translation>
</message> </message>
@ -751,18 +801,23 @@ Y: %2</translation>
<translation type="obsolete">&amp;Правка</translation> <translation type="obsolete">&amp;Правка</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="148"/>
<source>Open &amp;Map View...</source> <source>Open &amp;Map View...</source>
<translation>Открыть &amp;карту...</translation> <translation type="vanished">Открыть &amp;карту...</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="150"/> <location filename="../PictureDialog.cpp" line="151"/>
<location filename="../ProfileInterface.cpp" line="1160"/> <location filename="../ProfileInterface.cpp" line="1164"/>
<source>&amp;Edit Properties...</source> <source>&amp;Edit Properties...</source>
<translation>&amp;Изменить свойства...</translation> <translation>&amp;Изменить свойства...</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="373"/> <location filename="../PictureDialog.cpp" line="153"/>
<location filename="../ProfileInterface.cpp" line="1166"/>
<source>Open &amp;Map Viewer...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../PictureDialog.cpp" line="380"/>
<source>Key 1 - Avatar Preview Mode <source>Key 1 - Avatar Preview Mode
Key 2 - Toggle Overlay Key 2 - Toggle Overlay
Arrow Keys - Navigate</source> Arrow Keys - Navigate</source>
@ -771,31 +826,31 @@ Arrow Keys - Navigate</source>
Стрелки - Навигация</translation> Стрелки - Навигация</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="433"/> <location filename="../PictureDialog.cpp" line="439"/>
<location filename="../PictureDialog.cpp" line="476"/> <location filename="../PictureDialog.cpp" line="473"/>
<source>Snapmatic Picture Viewer</source> <source>Snapmatic Picture Viewer</source>
<translation>Просмотрщик фотографий Snapmatic</translation> <translation>Просмотрщик фотографий Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="433"/> <location filename="../PictureDialog.cpp" line="439"/>
<location filename="../PictureDialog.cpp" line="476"/> <location filename="../PictureDialog.cpp" line="473"/>
<source>Failed at %1</source> <source>Failed at %1</source>
<translation>Ошибка при %1</translation> <translation>Ошибка при %1</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<location filename="../PictureDialog.cpp" line="589"/> <location filename="../PictureDialog.cpp" line="591"/>
<source>No Crew</source> <source>No Crew</source>
<translation>Вне банды</translation> <translation>Вне банды</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<location filename="../PictureDialog.cpp" line="614"/> <location filename="../PictureDialog.cpp" line="618"/>
<source>No Players</source> <source>No Players</source>
<translation>Игроков нет</translation> <translation>Игроков нет</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="560"/> <location filename="../PictureDialog.cpp" line="557"/>
<source>Avatar Preview Mode <source>Avatar Preview Mode
Press 1 for Default View</source> Press 1 for Default View</source>
<translation>Режим просмотра аватарок <translation>Режим просмотра аватарок
@ -810,7 +865,7 @@ Press 1 for Default View</source>
<translation type="vanished">Без группы</translation> <translation type="vanished">Без группы</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="475"/> <location filename="../PictureDialog.cpp" line="472"/>
<source>Unknown Location</source> <source>Unknown Location</source>
<translation>Неизвестное место</translation> <translation>Неизвестное место</translation>
</message> </message>
@ -947,6 +1002,12 @@ Press 1 for Default View</source>
<source>Failed to copy current Snapmatic picture</source> <source>Failed to copy current Snapmatic picture</source>
<translation type="vanished">Не удалось скопировать текущую картинку Snapmatic</translation> <translation type="vanished">Не удалось скопировать текущую картинку Snapmatic</translation>
</message> </message>
<message>
<location filename="../PictureDialog.cpp" line="155"/>
<location filename="../ProfileInterface.cpp" line="1167"/>
<source>Open &amp;JSON Editor...</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>ProfileInterface</name> <name>ProfileInterface</name>
@ -998,30 +1059,30 @@ Press 1 for Default View</source>
<translation type="obsolete">Закрыть профиль</translation> <translation type="obsolete">Закрыть профиль</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="131"/> <location filename="../ProfileInterface.cpp" line="134"/>
<source>Loading...</source> <source>Loading...</source>
<translation>Загрузка...</translation> <translation>Загрузка...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="413"/> <location filename="../ProfileInterface.cpp" line="416"/>
<location filename="../ProfileInterface.cpp" line="478"/> <location filename="../ProfileInterface.cpp" line="483"/>
<source>Import...</source> <source>Import...</source>
<translation>Импортировать...</translation> <translation>Импортировать...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="414"/> <location filename="../ProfileInterface.cpp" line="417"/>
<location filename="../ProfileInterface.cpp" line="457"/> <location filename="../ProfileInterface.cpp" line="462"/>
<location filename="../ProfileInterface.cpp" line="509"/> <location filename="../ProfileInterface.cpp" line="515"/>
<location filename="../ProfileInterface.cpp" line="529"/> <location filename="../ProfileInterface.cpp" line="535"/>
<location filename="../ProfileInterface.cpp" line="545"/> <location filename="../ProfileInterface.cpp" line="551"/>
<location filename="../ProfileInterface.cpp" line="661"/> <location filename="../ProfileInterface.cpp" line="666"/>
<location filename="../ProfileInterface.cpp" line="742"/> <location filename="../ProfileInterface.cpp" line="746"/>
<location filename="../ProfileInterface.cpp" line="747"/> <location filename="../ProfileInterface.cpp" line="751"/>
<location filename="../ProfileInterface.cpp" line="757"/> <location filename="../ProfileInterface.cpp" line="761"/>
<location filename="../ProfileInterface.cpp" line="762"/> <location filename="../ProfileInterface.cpp" line="766"/>
<location filename="../ProfileInterface.cpp" line="773"/> <location filename="../ProfileInterface.cpp" line="777"/>
<location filename="../ProfileInterface.cpp" line="810"/> <location filename="../ProfileInterface.cpp" line="814"/>
<location filename="../ProfileInterface.cpp" line="816"/> <location filename="../ProfileInterface.cpp" line="820"/>
<source>Import</source> <source>Import</source>
<translation>Импортировать</translation> <translation>Импортировать</translation>
</message> </message>
@ -1030,31 +1091,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="431"/> <location filename="../ProfileInterface.cpp" line="434"/>
<location filename="../UserInterface.cpp" line="376"/> <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="432"/> <location filename="../ProfileInterface.cpp" line="435"/>
<location filename="../UserInterface.cpp" line="377"/> <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="434"/> <location filename="../ProfileInterface.cpp" line="437"/>
<location filename="../UserInterface.cpp" line="378"/> <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="479"/> <location filename="../ProfileInterface.cpp" line="484"/>
<location filename="../ProfileInterface.cpp" line="494"/> <location filename="../ProfileInterface.cpp" line="499"/>
<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="509"/> <location filename="../ProfileInterface.cpp" line="515"/>
<source>Import failed with... <source>Import failed with...
%1</source> %1</source>
@ -1063,13 +1124,13 @@ Press 1 for Default View</source>
%1</translation> %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="529"/> <location filename="../ProfileInterface.cpp" line="535"/>
<location filename="../UserInterface.cpp" line="418"/> <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="545"/> <location filename="../ProfileInterface.cpp" line="551"/>
<location filename="../UserInterface.cpp" line="434"/> <location filename="../UserInterface.cpp" line="434"/>
<source>Failed to read Savegame file</source> <source>Failed to read Savegame file</source>
<translation>Не удалось загрузить файл сохранения</translation> <translation>Не удалось загрузить файл сохранения</translation>
@ -1079,14 +1140,14 @@ 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="457"/> <location filename="../ProfileInterface.cpp" line="462"/>
<location filename="../ProfileInterface.cpp" line="747"/> <location filename="../ProfileInterface.cpp" line="751"/>
<location filename="../UserInterface.cpp" line="466"/> <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="65"/> <location filename="../ProfileInterface.cpp" line="68"/>
<source>Enabled pictures: %1 of %2</source> <source>Enabled pictures: %1 of %2</source>
<translation>Включенные картинки: %1 из %2</translation> <translation>Включенные картинки: %1 из %2</translation>
</message> </message>
@ -1099,93 +1160,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="429"/> <location filename="../ProfileInterface.cpp" line="432"/>
<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="433"/> <location filename="../ProfileInterface.cpp" line="436"/>
<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="661"/> <location filename="../ProfileInterface.cpp" line="666"/>
<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="742"/> <location filename="../ProfileInterface.cpp" line="746"/>
<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="757"/> <location filename="../ProfileInterface.cpp" line="761"/>
<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="762"/> <location filename="../ProfileInterface.cpp" line="766"/>
<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="773"/> <location filename="../ProfileInterface.cpp" line="777"/>
<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="810"/> <location filename="../ProfileInterface.cpp" line="814"/>
<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="816"/> <location filename="../ProfileInterface.cpp" line="820"/>
<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="903"/> <location filename="../ProfileInterface.cpp" line="907"/>
<location filename="../ProfileInterface.cpp" line="921"/> <location filename="../ProfileInterface.cpp" line="925"/>
<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="904"/> <location filename="../ProfileInterface.cpp" line="908"/>
<location filename="../ProfileInterface.cpp" line="926"/> <location filename="../ProfileInterface.cpp" line="930"/>
<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="905"/> <location filename="../ProfileInterface.cpp" line="909"/>
<location filename="../ProfileInterface.cpp" line="930"/> <location filename="../ProfileInterface.cpp" line="934"/>
<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="964"/> <location filename="../ProfileInterface.cpp" line="968"/>
<source>Initialising export...</source> <source>Initialising export...</source>
<translation>Подготовка к экспорту...</translation> <translation>Подготовка к экспорту...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1017"/> <location filename="../ProfileInterface.cpp" line="1021"/>
<location filename="../ProfileInterface.cpp" line="1059"/> <location filename="../ProfileInterface.cpp" line="1063"/>
<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="1025"/> <location filename="../ProfileInterface.cpp" line="1029"/>
<location filename="../ProfileInterface.cpp" line="1053"/> <location filename="../ProfileInterface.cpp" line="1057"/>
<location filename="../ProfileInterface.cpp" line="1059"/> <location filename="../ProfileInterface.cpp" line="1063"/>
<source>Remove selected</source> <source>Remove selected</source>
<translation>Снять выделение</translation> <translation>Снять выделение</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1025"/> <location filename="../ProfileInterface.cpp" line="1029"/>
<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="1053"/> <location filename="../ProfileInterface.cpp" line="1057"/>
<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>
@ -1206,20 +1267,20 @@ Press 1 for Default View</source>
<translation type="obsolete">Не получилось имортировать копию сохранения, потому что не осталось свободных под них слотов</translation> <translation type="obsolete">Не получилось имортировать копию сохранения, потому что не осталось свободных под них слотов</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="880"/> <location filename="../ProfileInterface.cpp" line="884"/>
<location filename="../ProfileInterface.cpp" line="918"/> <location filename="../ProfileInterface.cpp" line="922"/>
<location filename="../ProfileInterface.cpp" line="997"/> <location filename="../ProfileInterface.cpp" line="1001"/>
<location filename="../ProfileInterface.cpp" line="1017"/> <location filename="../ProfileInterface.cpp" line="1021"/>
<source>Export selected</source> <source>Export selected</source>
<translation>Экспортировать выделенное</translation> <translation>Экспортировать выделенное</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="918"/> <location filename="../ProfileInterface.cpp" line="922"/>
<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="963"/> <location filename="../ProfileInterface.cpp" line="967"/>
<source>Export selected...</source> <source>Export selected...</source>
<translation>Экпортировать выделенное...</translation> <translation>Экпортировать выделенное...</translation>
</message> </message>
@ -1228,7 +1289,7 @@ Press 1 for Default View</source>
<translation type="vanished">Подготавливаю эскпорт...</translation> <translation type="vanished">Подготавливаю эскпорт...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="997"/> <location filename="../ProfileInterface.cpp" line="1001"/>
<source>Export failed with... <source>Export failed with...
%1</source> %1</source>
@ -1249,7 +1310,7 @@ Press 1 for Default View</source>
<translation>Все файлы профиля (*.g5e SGTA* PGTA*)</translation> <translation>Все файлы профиля (*.g5e SGTA* PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="430"/> <location filename="../ProfileInterface.cpp" line="433"/>
<location filename="../UserInterface.cpp" line="375"/> <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>
@ -1258,15 +1319,20 @@ Press 1 for Default View</source>
<context> <context>
<name>QApplication</name> <name>QApplication</name>
<message> <message>
<location filename="../main.cpp" line="67"/> <location filename="../main.cpp" line="87"/>
<source>Font</source> <source>Font</source>
<translation>Шрифт</translation> <translation>Шрифт</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="67"/> <location filename="../main.cpp" line="87"/>
<source>Selected Font: %1</source> <source>Selected Font: %1</source>
<translation>Выбранный шрифт: %1</translation> <translation>Выбранный шрифт: %1</translation>
</message> </message>
<message>
<location filename="../main.cpp" line="108"/>
<source>&lt;h4&gt;Welcome to %1!&lt;/h4&gt;You want to configure %1 before you start using it?</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SavegameDialog</name> <name>SavegameDialog</name>
@ -1400,32 +1466,32 @@ Press 1 for Default View</source>
<translation>Не удалось удалить сохранение %1</translation> <translation>Не удалось удалить сохранение %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1198"/> <location filename="../ProfileInterface.cpp" line="1205"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation>&amp;Просмотр</translation> <translation>&amp;Просмотр</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1200"/> <location filename="../ProfileInterface.cpp" line="1207"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation>&amp;Удалить</translation> <translation>&amp;Удалить</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1202"/> <location filename="../ProfileInterface.cpp" line="1209"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation>&amp;Выбрать</translation> <translation>&amp;Выбрать</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1203"/> <location filename="../ProfileInterface.cpp" line="1210"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation>Сн&amp;ять выбор</translation> <translation>Сн&amp;ять выбор</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1206"/> <location filename="../ProfileInterface.cpp" line="1213"/>
<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="1210"/> <location filename="../ProfileInterface.cpp" line="1217"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation>Снять выбо&amp;р со всех</translation> <translation>Снять выбо&amp;р со всех</translation>
</message> </message>
@ -1435,7 +1501,7 @@ Press 1 for Default View</source>
<translation>Копировать сохранение</translation> <translation>Копировать сохранение</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1199"/> <location filename="../ProfileInterface.cpp" line="1206"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation>&amp;Экспортировать</translation> <translation>&amp;Экспортировать</translation>
</message> </message>
@ -1495,8 +1561,13 @@ 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="../JsonEditorDialog.cpp" line="83"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <location filename="../JsonEditorDialog.cpp" line="130"/>
<location filename="../JsonEditorDialog.cpp" line="136"/>
<location filename="../JsonEditorDialog.cpp" line="148"/>
<location filename="../PictureDialog.cpp" line="732"/>
<location filename="../SnapmaticEditor.cpp" line="252"/>
<location filename="../SnapmaticWidget.cpp" line="332"/>
<source>Snapmatic Properties</source> <source>Snapmatic Properties</source>
<translation>Свойства Snapmatic</translation> <translation>Свойства Snapmatic</translation>
</message> </message>
@ -1537,7 +1608,7 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="113"/> <location filename="../SnapmaticEditor.ui" line="113"/>
<location filename="../SnapmaticEditor.cpp" line="200"/> <location filename="../SnapmaticEditor.cpp" line="211"/>
<source>Crew: %1 (%2)</source> <source>Crew: %1 (%2)</source>
<translation>Банда: %1 (%2)</translation> <translation>Банда: %1 (%2)</translation>
</message> </message>
@ -1547,20 +1618,20 @@ Press 1 for Default View</source>
<translation>Meme</translation> <translation>Meme</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="291"/> <location filename="../SnapmaticEditor.cpp" line="302"/>
<source>Snapmatic Title</source> <source>Snapmatic Title</source>
<translation>Заголовок Snapmatic</translation> <translation>Заголовок Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="126"/> <location filename="../SnapmaticEditor.ui" line="126"/>
<location filename="../SnapmaticEditor.cpp" line="185"/> <location filename="../SnapmaticEditor.cpp" line="196"/>
<source>Title: %1 (%2)</source> <source>Title: %1 (%2)</source>
<translation>Заголовок: %1 (%2)</translation> <translation>Заголовок: %1 (%2)</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="136"/> <location filename="../SnapmaticEditor.ui" line="136"/>
<location filename="../SnapmaticEditor.cpp" line="189"/> <location filename="../SnapmaticEditor.cpp" line="200"/>
<location filename="../SnapmaticEditor.cpp" line="193"/> <location filename="../SnapmaticEditor.cpp" line="204"/>
<source>Appropriate: %1</source> <source>Appropriate: %1</source>
<translation>Подходит: %1</translation> <translation>Подходит: %1</translation>
</message> </message>
@ -1590,41 +1661,54 @@ Press 1 for Default View</source>
<translation>&amp;Отмена</translation> <translation>&amp;Отмена</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="184"/> <location filename="../SnapmaticEditor.cpp" line="195"/>
<location filename="../SnapmaticEditor.cpp" line="199"/> <location filename="../SnapmaticEditor.cpp" line="210"/>
<source>Edit</source> <source>Edit</source>
<translation>Правка</translation> <translation>Правка</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="189"/> <location filename="../SnapmaticEditor.cpp" line="200"/>
<source>Yes</source> <source>Yes</source>
<comment>Yes, should work fine</comment> <comment>Yes, should work fine</comment>
<translation>Да</translation> <translation>Да</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="193"/> <location filename="../SnapmaticEditor.cpp" line="204"/>
<source>No</source> <source>No</source>
<comment>No, could lead to issues</comment> <comment>No, could lead to issues</comment>
<translation>Нет</translation> <translation>Нет</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="727"/> <location filename="../JsonEditorDialog.cpp" line="83"/>
<location filename="../SnapmaticEditor.cpp" line="241"/> <source>&lt;h4&gt;Unsaved changes detected&lt;/h4&gt;You want to save the JSON content before you quit?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.cpp" line="130"/>
<location filename="../JsonEditorDialog.cpp" line="148"/>
<source>Patching of Snapmatic Properties failed because of JSON Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../JsonEditorDialog.cpp" line="136"/>
<location filename="../PictureDialog.cpp" line="732"/>
<location filename="../SnapmaticEditor.cpp" line="252"/>
<location filename="../SnapmaticWidget.cpp" line="332"/>
<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>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="291"/> <location filename="../SnapmaticEditor.cpp" line="302"/>
<source>New Snapmatic title:</source> <source>New Snapmatic title:</source>
<translation>Новый заголовок Snapmatic:</translation> <translation>Новый заголовок Snapmatic:</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="320"/> <location filename="../SnapmaticEditor.cpp" line="331"/>
<source>Snapmatic Crew</source> <source>Snapmatic Crew</source>
<translation>Банда на Snapmatic</translation> <translation>Банда на Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="320"/> <location filename="../SnapmaticEditor.cpp" line="331"/>
<source>New Snapmatic crew:</source> <source>New Snapmatic crew:</source>
<translation>Новая банда на Snapmatic:</translation> <translation>Новая банда на Snapmatic:</translation>
</message> </message>
@ -1676,33 +1760,33 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.ui" line="152"/> <location filename="../SnapmaticWidget.ui" line="152"/>
<location filename="../SnapmaticWidget.cpp" line="144"/> <location filename="../SnapmaticWidget.cpp" line="146"/>
<location filename="../SnapmaticWidget.cpp" line="153"/> <location filename="../SnapmaticWidget.cpp" line="155"/>
<source>Delete picture</source> <source>Delete picture</source>
<translation>Удалить картинку</translation> <translation>Удалить картинку</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="144"/> <location filename="../SnapmaticWidget.cpp" line="146"/>
<source>Are you sure to delete %1 from your Snapmatic pictures?</source> <source>Are you sure to delete %1 from your Snapmatic pictures?</source>
<translation>Уверены, что хотите удалить %1 из коллекции картинок Snapmatic?</translation> <translation>Уверены, что хотите удалить %1 из коллекции картинок Snapmatic?</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="153"/> <location filename="../SnapmaticWidget.cpp" line="155"/>
<source>Failed at deleting %1 from your Snapmatic pictures</source> <source>Failed at deleting %1 from your Snapmatic pictures</source>
<translation>Не удалось удалить %1 из колелкции картинок Snapmatic </translation> <translation>Не удалось удалить %1 из колелкции картинок Snapmatic </translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1151"/> <location filename="../ProfileInterface.cpp" line="1155"/>
<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="1154"/> <location filename="../ProfileInterface.cpp" line="1158"/>
<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="1158"/> <location filename="../ProfileInterface.cpp" line="1162"/>
<source>Hide &amp;In-game</source> <source>Hide &amp;In-game</source>
<translation>Ск&amp;рыть в игре</translation> <translation>Ск&amp;рыть в игре</translation>
</message> </message>
@ -1711,7 +1795,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="1161"/> <location filename="../ProfileInterface.cpp" line="1168"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation>&amp;Экспорт</translation> <translation>&amp;Экспорт</translation>
</message> </message>
@ -1724,32 +1808,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="1164"/> <location filename="../ProfileInterface.cpp" line="1171"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation>По&amp;казать</translation> <translation>По&amp;казать</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1167"/> <location filename="../ProfileInterface.cpp" line="1174"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation>У&amp;далить</translation> <translation>У&amp;далить</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1169"/> <location filename="../ProfileInterface.cpp" line="1176"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation>&amp;Выделить</translation> <translation>&amp;Выделить</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1170"/> <location filename="../ProfileInterface.cpp" line="1177"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation>Сн&amp;ять выделение</translation> <translation>Сн&amp;ять выделение</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1173"/> <location filename="../ProfileInterface.cpp" line="1180"/>
<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="1177"/> <location filename="../ProfileInterface.cpp" line="1184"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation>Снять выбо&amp;р со всех</translation> <translation>Снять выбо&amp;р со всех</translation>
</message> </message>
@ -1977,7 +2061,7 @@ 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="491"/> <location filename="../OptionsDialog.cpp" line="564"/>
<location filename="../UserInterface.cpp" line="103"/> <location filename="../UserInterface.cpp" line="103"/>
<location filename="../UserInterface.cpp" line="523"/> <location filename="../UserInterface.cpp" line="523"/>
<source>Select GTA V Folder...</source> <source>Select GTA V Folder...</source>