8 Commits

Author SHA1 Message Date
64da9e9327 fixed language settings 2024-12-05 14:53:20 +03:00
b7b7c054d3 fixed loading system locale from wrong place 2024-12-05 13:58:23 +03:00
c478dcf8d4 embeding translations into qrc 2024-12-05 03:48:20 +03:00
7959bc5492 added language combo box in preferences 2024-12-04 18:44:40 +03:00
031c1d5792 translations 2024-12-04 04:35:51 +03:00
cca20abbfd pretty-printing settings.json 2024-12-04 04:05:02 +03:00
988dc0e133 upload icons 2024-12-04 01:08:08 +03:00
888f658a9c added icon 2024-12-04 01:07:48 +03:00
20 changed files with 700 additions and 427 deletions

2
.gitignore vendored
View File

@@ -35,6 +35,8 @@ Thumbs.db
/.qmake.cache /.qmake.cache
/.qmake.stash /.qmake.stash
*.qrc.depends
# qtcreator generated files # qtcreator generated files
*.pro.user* *.pro.user*
CMakeLists.txt.user* CMakeLists.txt.user*

View File

@@ -55,6 +55,7 @@ else()
# Generate translation files for Qt 5 # Generate translation files for Qt 5
# QT5_ADD_TRANSLATION() # QT5_ADD_TRANSLATION()
qt5_create_translation(QM_FILES "${TRANSLATION_SOURCES}" translations/en_US.ts translations/ru_RU.ts) qt5_create_translation(QM_FILES "${TRANSLATION_SOURCES}" translations/en_US.ts translations/ru_RU.ts)
qt5_add_resources(TRANSLATIONQRC translations.qrc)
add_executable(checks-parser add_executable(checks-parser
${PROJECT_SOURCES} ${PROJECT_SOURCES}
goods/goods.h goods/goods.cpp goods/goods.h goods/goods.cpp
@@ -74,11 +75,11 @@ else()
image_redactor/imageredactor.h image_redactor/imageredactor.cpp image_redactor/imageredactor.h image_redactor/imageredactor.cpp
solvecaptchadialog.h solvecaptchadialog.cpp solvecaptchadialog.ui solvecaptchadialog.h solvecaptchadialog.cpp solvecaptchadialog.ui
exceptions/ofdrequestexception.h exceptions/ofdrequestexception.cpp exceptions/ofdrequestexception.h exceptions/ofdrequestexception.cpp
${QM_FILES} # ${QM_FILES}
# ${TS_FILES}
translations.qrc
${TRANSLATIONQRC}
) )
# configure_file(translations.qrc ${CMAKE_BINARY_DIR} COPYONLY) # configure_file(translations.qrc ${CMAKE_BINARY_DIR} COPYONLY)
# QT5_ADD_TRANSLATION(TRANSLATIONS ${CMAKE_SOURCE_DIR} translations/en_US.ts) # QT5_ADD_TRANSLATION(TRANSLATIONS ${CMAKE_SOURCE_DIR} translations/en_US.ts)
endif() endif()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 627 KiB

View File

@@ -4,4 +4,3 @@ Exec=usr/bin/checks-parser
Icon=checks-parser Icon=checks-parser
Type=Application Type=Application
Categories=Utility; Categories=Utility;
X-AppImage-Version=41463c7

Binary file not shown.

Before

Width:  |  Height:  |  Size: 627 KiB

After

Width:  |  Height:  |  Size: 138 KiB

View File

@@ -1,7 +0,0 @@
# Generated by linuxdeployqt
# https://github.com/probonopd/linuxdeployqt/
[Paths]
Prefix = ./
Plugins = plugins
Imports = qml
Qml2Imports = qml

View File

@@ -1,7 +0,0 @@
# Generated by linuxdeployqt
# https://github.com/probonopd/linuxdeployqt/
[Paths]
Prefix = ../
Plugins = plugins
Imports = qml
Qml2Imports = qml

View File

@@ -1,4 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
rm -rf AppDir
mkdir -p AppDir
mkdir -p AppDir/usr/bin mkdir -p AppDir/usr/bin
mkdir -p AppDir/usr/lib mkdir -p AppDir/usr/lib
mkdir -p AppDir/usr/share/tesseract-ocr/4.00/tessdata mkdir -p AppDir/usr/share/tesseract-ocr/4.00/tessdata
@@ -21,6 +24,8 @@ export TESSDATA_PREFIX=\$APPDIR/usr/share/tesseract-ocr/4.00/tessdata
\$APPDIR/usr/bin/checks-parser" \ \$APPDIR/usr/bin/checks-parser" \
> AppDir/AppRun > AppDir/AppRun
cp ../../icon.png AppDir/checks-parser.png
chmod +x AppDir/AppRun chmod +x AppDir/AppRun
cp ../../checks-parser AppDir/usr/bin cp ../../checks-parser AppDir/usr/bin
linuxdeployqt AppDir/usr/bin/checks-parser -no-copy-copyright-files -appimage linuxdeployqt AppDir/usr/bin/checks-parser -no-copy-copyright-files -appimage

BIN
icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

116
icon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 649 KiB

View File

@@ -12,6 +12,8 @@
# include <filesystem> # include <filesystem>
using namespace std::filesystem; using namespace std::filesystem;
#endif #endif
#include <QFile>
#include <QTextStream>
#include <QTranslator> #include <QTranslator>
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
@@ -43,9 +45,17 @@ int main(int argc, char *argv[]) {
QApplication a(argc, argv); QApplication a(argc, argv);
QTranslator translator; QTranslator translator;
if(!translator.load(QLocale::system().name())) { QString lang = "en_US";
translator.load("en_US");
if (s.get_all_settings().contains("language")) {
lang = QString::fromStdString(s.get_all_settings()["language"]);
} else if (translator.load(":/translation/"+QLocale::system().name()+".qm")) {
lang = QLocale::system().name();
} else {
lang = QString::fromStdString("en_US");
} }
translator.load(":/translation/" + lang + ".qm");
a.installTranslator(&translator); a.installTranslator(&translator);
MainWindow w; MainWindow w;
w.update(); w.update();

View File

@@ -112,7 +112,11 @@ void MainWindow::on_parseButton_clicked() {
std::vector<Goods> c = parser.parse(check_plaintext); std::vector<Goods> c = parser.parse(check_plaintext);
if (c.size() == 0) { if (c.size() == 0) {
std::cerr << "An error has occured. Check was matched incorrectly. Vector sizes are different" << std::endl; QMessageBox infoDialog;
infoDialog.setText(tr("An error has occured. Check was matched incorrectly. Vector sizes are different. Please, contact the developer."));
infoDialog.setIcon(QMessageBox::Critical);
infoDialog.setWindowTitle(tr("Error in parsing"));
infoDialog.exec();
return; return;
} }

View File

@@ -110,7 +110,7 @@
<widget class="QPushButton" name="chooseImageButton_ocr"> <widget class="QPushButton" name="chooseImageButton_ocr">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>10</x>
<y>0</y> <y>0</y>
<width>80</width> <width>80</width>
<height>26</height> <height>26</height>

View File

@@ -50,7 +50,7 @@ Settings::Settings(std::string path) {
} }
})"_json; })"_json;
output << settings; output << settings.dump(4);
output.flush(); output.flush();
output.close(); output.close();
this->settings = settings; this->settings = settings;
@@ -70,7 +70,7 @@ void Settings::write_setting(std::string setting, std::string value) {
this->settings[setting] = value; this->settings[setting] = value;
output << this->settings; output << this->settings.dump(4);
} }
std::string Settings::get_setting(std::string setting) { std::string Settings::get_setting(std::string setting) {
return this->settings[setting]; return this->settings[setting];
@@ -93,5 +93,5 @@ void Settings::alter_setting(std::string setting, std::string value) {
void Settings::flush() { void Settings::flush() {
std::ofstream output(this->settings_file_path, std::fstream::trunc); std::ofstream output(this->settings_file_path, std::fstream::trunc);
output << this->settings; output << this->settings.dump(4);
} }

View File

@@ -3,6 +3,8 @@
#include "ui_settingsdialog.h" #include "ui_settingsdialog.h"
#include "utils/utils.h" #include "utils/utils.h"
#include <QMessageBox>
SettingsDialog::SettingsDialog(QWidget *parent) SettingsDialog::SettingsDialog(QWidget *parent)
: QDialog(parent), ui(new Ui::settingsdialog), : QDialog(parent), ui(new Ui::settingsdialog),
settings(Settings(get_path_relative_to_home( settings(Settings(get_path_relative_to_home(
@@ -32,6 +34,19 @@ SettingsDialog::SettingsDialog(QWidget *parent)
ui->printHeaderCheckBox->setChecked(this->settings.get_all_settings()["print_header"]); ui->printHeaderCheckBox->setChecked(this->settings.get_all_settings()["print_header"]);
ui->printTotalCheckBox->setChecked(this->settings.get_all_settings()["print_total"]); ui->printTotalCheckBox->setChecked(this->settings.get_all_settings()["print_total"]);
int currentLanguageIndex = 0;
if (!this->settings.get_all_settings().contains("language")) {
currentLanguageIndex = ui->languageComboBox->findText(QLocale::system().name());
if (currentLanguageIndex < 0) {
currentLanguageIndex = ui->languageComboBox->findText("en_US");
}
} else {
currentLanguageIndex = ui->languageComboBox->findText(QString::fromStdString(this->settings.get_all_settings()["language"]));
}
ui->languageComboBox->setCurrentIndex(currentLanguageIndex);
} }
SettingsDialog::~SettingsDialog() { delete ui; } SettingsDialog::~SettingsDialog() { delete ui; }
@@ -121,4 +136,19 @@ void SettingsDialog::on_buttonBox_accepted() { this->settings.flush(); }
void SettingsDialog::on_buttonBox_rejected() { this->close(); } void SettingsDialog::on_buttonBox_rejected() { this->close(); }
void SettingsDialog::on_languageComboBox_currentTextChanged(const QString &changed) {
if (this->settings.get_all_settings().contains("language")) {
if (changed == QString::fromStdString(this->settings.get_all_settings()["language"])) return;
} else {
if (changed == QLocale::system().name()) return;
}
this->settings.get_all_settings()["language"] = changed.toStdString();
QMessageBox infoDialog;
infoDialog.setText(tr("You need to restart program to apply language changes"));
infoDialog.setIcon(QMessageBox::Information);
infoDialog.setWindowTitle(tr("Restart required"));
infoDialog.exec();
}

View File

@@ -52,6 +52,8 @@ private slots:
void on_buttonBox_rejected(); void on_buttonBox_rejected();
void on_languageComboBox_currentTextChanged(const QString &arg1);
private: private:
Ui::settingsdialog *ui; Ui::settingsdialog *ui;
}; };

View File

@@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>599</width> <width>599</width>
<height>727</height> <height>799</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -17,16 +17,16 @@
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>310</x> <x>310</x>
<y>690</y> <y>740</y>
<width>251</width> <width>251</width>
<height>32</height> <height>32</height>
</rect> </rect>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Orientation::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="standardButtons"> <property name="standardButtons">
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Save</set> <set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
</property> </property>
</widget> </widget>
<widget class="QScrollArea" name="scrollArea"> <widget class="QScrollArea" name="scrollArea">
@@ -35,7 +35,7 @@
<x>10</x> <x>10</x>
<y>0</y> <y>0</y>
<width>541</width> <width>541</width>
<height>661</height> <height>741</height>
</rect> </rect>
</property> </property>
<property name="widgetResizable"> <property name="widgetResizable">
@@ -47,7 +47,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>539</width> <width>539</width>
<height>659</height> <height>739</height>
</rect> </rect>
</property> </property>
<widget class="QWidget" name="gridLayoutWidget"> <widget class="QWidget" name="gridLayoutWidget">
@@ -56,16 +56,126 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>531</width> <width>531</width>
<height>651</height> <height>731</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="11" column="1"> <item row="15" column="1">
<widget class="QLineEdit" name="goodsNetWeightAliasEdit"/> <widget class="QCheckBox" name="printTotalCheckBox">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Goods net weight position</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSpinBox" name="goodsNamePositionSpin"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Stores modules url</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Goods quantity position</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="OFDModulesDirEdit"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>OFD modules url</string>
</property>
</widget>
</item>
<item row="14" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Print header</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QSpinBox" name="goodsPricePerUnitPositionSpin"/>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="storesModulesURLEdit"/>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Goods quantity alias</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>OFD modules directory</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="goodsNameAliasEdit"/>
</item>
<item row="15" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Print total</string>
</property>
</widget>
</item>
<item row="13" column="1">
<widget class="QLineEdit" name="goodsTotalAliasEdit"/>
</item>
<item row="8" column="1">
<widget class="QSpinBox" name="goodsQuantityPositionSpin"/>
</item>
<item row="11" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
<string>Goods net weight alias</string>
</property>
</widget>
</item>
<item row="10" column="1">
<widget class="QSpinBox" name="goodsNetWeightPositionSpin"/>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="OFDModulesURLEdit"/>
</item>
<item row="13" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Goods total alias</string>
</property>
</widget>
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QLineEdit" name="storesModulesDirEdit"/> <widget class="QLineEdit" name="storesModulesDirEdit"/>
</item> </item>
<item row="7" column="1">
<widget class="QLineEdit" name="goodsPricePerUnitAliasEdit"/>
</item>
<item row="9" column="1">
<widget class="QLineEdit" name="goodsQuantityAliasEdit"/>
</item>
<item row="11" column="1">
<widget class="QLineEdit" name="goodsNetWeightAliasEdit"/>
</item>
<item row="4" column="0"> <item row="4" column="0">
<widget class="QLabel" name="label_9"> <widget class="QLabel" name="label_9">
<property name="text"> <property name="text">
@@ -73,6 +183,51 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="14" column="1">
<widget class="QCheckBox" name="printHeaderCheckBox">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Goods name alias</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Goods price per unit position</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Stores modules directory</string>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="label_17">
<property name="text">
<string>Goods total position</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="OFDModulesDirChooseButton">
<property name="text">
<string>Choose</string>
</property>
</widget>
</item>
<item row="12" column="1">
<widget class="QSpinBox" name="goodsTotalPositionSpin"/>
</item>
<item row="7" column="0"> <item row="7" column="0">
<widget class="QLabel" name="label_12"> <widget class="QLabel" name="label_12">
<property name="text"> <property name="text">
@@ -87,159 +242,25 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="13" column="1"> <item row="16" column="0">
<widget class="QLineEdit" name="goodsTotalAliasEdit"/> <widget class="QLabel" name="label_4">
</item>
<item row="14" column="0">
<widget class="QLabel" name="label_2">
<property name="text"> <property name="text">
<string>Print header</string> <string>TextLabel</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="11" column="0"> <item row="16" column="1">
<widget class="QLabel" name="label_16"> <widget class="QComboBox" name="languageComboBox">
<item>
<property name="text"> <property name="text">
<string>Goods net weight alias</string> <string>en_US</string>
</property> </property>
</widget>
</item> </item>
<item row="3" column="0"> <item>
<widget class="QLabel" name="label_8">
<property name="text"> <property name="text">
<string>Stores modules url</string> <string>ru_RU</string>
</property> </property>
</widget>
</item> </item>
<item row="3" column="1">
<widget class="QLineEdit" name="storesModulesURLEdit"/>
</item>
<item row="13" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Goods total alias</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Goods name alias</string>
</property>
</widget>
</item>
<item row="12" column="1">
<widget class="QSpinBox" name="goodsTotalPositionSpin"/>
</item>
<item row="9" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Goods quantity alias</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Stores modules directory</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="goodsNameAliasEdit"/>
</item>
<item row="10" column="1">
<widget class="QSpinBox" name="goodsNetWeightPositionSpin"/>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>OFD modules directory</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QSpinBox" name="goodsNamePositionSpin"/>
</item>
<item row="9" column="1">
<widget class="QLineEdit" name="goodsQuantityAliasEdit"/>
</item>
<item row="7" column="1">
<widget class="QLineEdit" name="goodsPricePerUnitAliasEdit"/>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Goods price per unit position</string>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Goods net weight position</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>OFD modules url</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="OFDModulesDirEdit"/>
</item>
<item row="12" column="0">
<widget class="QLabel" name="label_17">
<property name="text">
<string>Goods total position</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Goods quantity position</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="OFDModulesURLEdit"/>
</item>
<item row="8" column="1">
<widget class="QSpinBox" name="goodsQuantityPositionSpin"/>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="OFDModulesDirChooseButton">
<property name="text">
<string>Choose</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QSpinBox" name="goodsPricePerUnitPositionSpin"/>
</item>
<item row="15" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Print total</string>
</property>
</widget>
</item>
<item row="14" column="1">
<widget class="QCheckBox" name="printHeaderCheckBox">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="15" column="1">
<widget class="QCheckBox" name="printTotalCheckBox">
<property name="text">
<string/>
</property>
</widget> </widget>
</item> </item>
</layout> </layout>

7
translations.qrc Normal file
View File

@@ -0,0 +1,7 @@
<RCC>
<qresource prefix="/translation">
<file>en_US.qm</file>
<file>ru_RU.qm</file>
</qresource>
<qresource prefix="/translations"/>
</RCC>

View File

@@ -1,27 +1,27 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS> <!DOCTYPE TS>
<TS version="2.1"> <TS version="2.1" language="en_US">
<context> <context>
<name>AdjustPictureDialog</name> <name>AdjustPictureDialog</name>
<message> <message>
<location filename="../adjustpicturedialog.ui" line="14"/> <location filename="../adjustpicturedialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation type="unfinished"></translation> <translation>Dialog</translation>
</message> </message>
<message> <message>
<location filename="../adjustpicturedialog.ui" line="58"/> <location filename="../adjustpicturedialog.ui" line="58"/>
<source>Please, zoom to qr code and adjust contrast so that qr code looks sharp</source> <source>Please, zoom to qr code and adjust contrast so that qr code looks sharp</source>
<translation type="unfinished"></translation> <translation>Please, zoom to qr code and adjust contrast so that qr code looks sharp</translation>
</message> </message>
<message> <message>
<location filename="../adjustpicturedialog.cpp" line="39"/> <location filename="../adjustpicturedialog.cpp" line="39"/>
<source>QR code was not detected on that image. Please edit it again or enter data manually</source> <source>QR code was not detected on that image. Please edit it again or enter data manually</source>
<translation type="unfinished"></translation> <translation>QR code was not detected on that image. Please edit it again or enter data manually</translation>
</message> </message>
<message> <message>
<location filename="../adjustpicturedialog.cpp" line="41"/> <location filename="../adjustpicturedialog.cpp" line="41"/>
<source>No QR code</source> <source>No QR code</source>
<translation type="unfinished"></translation> <translation>No QR code</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -29,151 +29,170 @@
<message> <message>
<location filename="../mainwindow.ui" line="14"/> <location filename="../mainwindow.ui" line="14"/>
<source>MainWindow</source> <source>MainWindow</source>
<translation type="unfinished"></translation> <translation>Главное окно</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="37"/> <location filename="../mainwindow.ui" line="37"/>
<source>Store type</source> <source>Store type</source>
<translation type="unfinished"></translation> <translation>Store type</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="50"/> <location filename="../mainwindow.ui" line="50"/>
<source>Parse</source> <source>Parse</source>
<translation type="unfinished"></translation> <translation>Parse</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="63"/> <location filename="../mainwindow.ui" line="63"/>
<source>Preferences</source> <source>Preferences</source>
<translation type="unfinished"></translation> <translation>Preferences</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="80"/> <location filename="../mainwindow.ui" line="80"/>
<source>Text</source> <source>Text</source>
<translation type="unfinished"></translation> <translation>Text</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="92"/> <location filename="../mainwindow.ui" line="92"/>
<source>Check content</source> <source>Check content</source>
<translation type="unfinished"></translation> <translation>Check content</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="108"/> <location filename="../mainwindow.ui" line="108"/>
<source>OCR</source> <source>OCR</source>
<translation type="unfinished"></translation> <translatorcomment>OCR = Optical Character Recognition</translatorcomment>
<translation>OCR</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="120"/> <location filename="../mainwindow.ui" line="120"/>
<location filename="../mainwindow.ui" line="213"/> <location filename="../mainwindow.ui" line="213"/>
<source>Choose</source> <source>Choose</source>
<translation type="unfinished"></translation> <translation>Choose</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="143"/> <location filename="../mainwindow.ui" line="143"/>
<location filename="../mainwindow.ui" line="200"/> <location filename="../mainwindow.ui" line="200"/>
<source>Path to image: </source> <source>Path to image: </source>
<translation type="unfinished"></translation> <translation>Path to image: </translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="156"/> <location filename="../mainwindow.ui" line="156"/>
<source>Here is recognised check text. Please, edit it if something&apos;s wrong:</source> <source>Here is recognised check text. Please, edit it if something&apos;s wrong:</source>
<translation type="unfinished"></translation> <translation>Here is recognised check text. Please, edit it if something&apos;s wrong:</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="175"/> <location filename="../mainwindow.ui" line="175"/>
<source>OFD</source> <source>OFD</source>
<translation type="unfinished"></translation> <translatorcomment>OFD = Оператор Фискальных Данных</translatorcomment>
<translation>OFD</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="226"/> <location filename="../mainwindow.ui" line="226"/>
<source>0000000000000000</source> <source>0000000000000000</source>
<translation type="unfinished"></translation> <translation>0000000000000000</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="245"/> <location filename="../mainwindow.ui" line="245"/>
<source>FN (Fiscal Number)</source> <source>FN (Fiscal Number)</source>
<translation type="unfinished"></translation> <translatorcomment>FN = Фискальный Номер</translatorcomment>
<translation>FN (Fiscal Number)</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="264"/> <location filename="../mainwindow.ui" line="264"/>
<source>FD (Fiscal Document)</source> <source>FD (Fiscal Document)</source>
<translation type="unfinished"></translation> <translatorcomment>FD = Фискальный Документ</translatorcomment>
<translation>FD (Fiscal Document)</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="277"/> <location filename="../mainwindow.ui" line="277"/>
<location filename="../mainwindow.ui" line="309"/> <location filename="../mainwindow.ui" line="309"/>
<source>0000000000</source> <source>0000000000</source>
<translation type="unfinished"></translation> <translation>000000000</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="296"/> <location filename="../mainwindow.ui" line="296"/>
<source>FI (Fiscal Identifier)</source> <source>FI (Fiscal Identifier)</source>
<translation type="unfinished"></translation> <translatorcomment>FI = Фискальный Признак</translatorcomment>
<translation>FI (Fiscal Identifier)</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="333"/> <location filename="../mainwindow.ui" line="333"/>
<source>Funds income</source> <source>Funds income</source>
<translation type="unfinished"></translation> <translatorcomment>Приход средств</translatorcomment>
<translation>Funds incode</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="338"/> <location filename="../mainwindow.ui" line="338"/>
<source>Funds return</source> <source>Funds return</source>
<translation type="unfinished"></translation> <translatorcomment>Возврат средств</translatorcomment>
<translation>Funds return</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="343"/> <location filename="../mainwindow.ui" line="343"/>
<source>Funds spend</source> <source>Funds spend</source>
<translation type="unfinished"></translation> <translatorcomment>Расход средств</translatorcomment>
<translation>Funds spend</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="348"/> <location filename="../mainwindow.ui" line="348"/>
<source>Spends return</source> <source>Spends return</source>
<translation type="unfinished"></translation> <translatorcomment>Возврат расхода</translatorcomment>
<translation>Spends return</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="375"/> <location filename="../mainwindow.ui" line="375"/>
<source>Total</source> <source>Total</source>
<translation type="unfinished"></translation> <translation>Total</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="392"/> <location filename="../mainwindow.ui" line="392"/>
<source>checks parser</source> <source>checks parser</source>
<translation type="unfinished"></translation> <translation>checks parser</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="85"/> <location filename="../mainwindow.cpp" line="85"/>
<source>Captcha was not solved correctly!</source> <source>Captcha was not solved correctly!</source>
<translation type="unfinished"></translation> <translation>Captcha was not solved correctly!</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="87"/> <location filename="../mainwindow.cpp" line="87"/>
<source>Captcha is incorrect</source> <source>Captcha is incorrect</source>
<translation type="unfinished"></translation> <translation>Captcha is incorrect</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="92"/> <location filename="../mainwindow.cpp" line="92"/>
<source>Check not found. Please, ensure correctness of entered data.</source> <source>Check not found. Please, ensure correctness of entered data.</source>
<translation type="unfinished"></translation> <translation>Check not found. Please, ensure correctness of entered data.</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="94"/> <location filename="../mainwindow.cpp" line="94"/>
<source>Check was not found</source> <source>Check was not found</source>
<translation type="unfinished"></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="145"/> <location filename="../mainwindow.cpp" line="116"/>
<source>An error has occured. Check was matched incorrectly. Vector sizes are different. Please, contact the developer.</source>
<translation>An error has occured. Check was matched incorrectly. Vector sizes are different. Please, contact the developer.</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="118"/>
<source>Error in parsing</source>
<translation>Error in parsing</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="149"/>
<source>Please, select a picture where QR code that contains info about check is present</source> <source>Please, select a picture where QR code that contains info about check is present</source>
<translation type="unfinished"></translation> <translation>Please, select a picture where QR code that contains info about check is present</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="147"/> <location filename="../mainwindow.cpp" line="151"/>
<location filename="../mainwindow.cpp" line="193"/> <location filename="../mainwindow.cpp" line="197"/>
<source>Picture was not selected</source> <source>Picture was not selected</source>
<translation type="unfinished"></translation> <translation>Picture was not selected</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="191"/> <location filename="../mainwindow.cpp" line="195"/>
<source>Please, select a picture to scan</source> <source>Please, select a picture to scan</source>
<translation type="unfinished"></translation> <translation>Please, select a picture to scan</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -181,112 +200,125 @@
<message> <message>
<location filename="../outputdialog.ui" line="14"/> <location filename="../outputdialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation type="unfinished"></translation> <translation>Dialog</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="42"/> <location filename="../outputdialog.ui" line="42"/>
<source>Path to export: </source> <source>Path to export: </source>
<translation type="unfinished"></translation> <translation>Path to export: </translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="55"/> <location filename="../outputdialog.ui" line="55"/>
<source>Choose</source> <source>Choose</source>
<translation type="unfinished"></translation> <translation>Choose</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="68"/> <location filename="../outputdialog.ui" line="68"/>
<source>Print header</source> <source>Print header</source>
<translation type="unfinished"></translation> <translation>Print header</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="82"/> <location filename="../outputdialog.ui" line="82"/>
<source>Goods name</source> <source>Goods name</source>
<translation type="unfinished"></translation> <translation>Goods name</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="87"/> <location filename="../outputdialog.ui" line="87"/>
<source>Goods price</source> <source>Goods price</source>
<translation type="unfinished"></translation> <translation>Goods price</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="92"/> <location filename="../outputdialog.ui" line="92"/>
<source>Goods quantity</source> <source>Goods quantity</source>
<translation type="unfinished"></translation> <translation>Goods quality</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="97"/> <location filename="../outputdialog.ui" line="97"/>
<source>Goods net weight</source> <source>Goods net weight</source>
<translation type="unfinished"></translation> <translation>Goods net weight</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="102"/> <location filename="../outputdialog.ui" line="102"/>
<source>Goods total</source> <source>Goods total</source>
<translation type="unfinished"></translation> <translation>Goods total</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="107"/> <location filename="../outputdialog.ui" line="107"/>
<source>position</source> <source>position</source>
<translation type="unfinished"></translation> <translation>position</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="112"/> <location filename="../outputdialog.ui" line="112"/>
<source>name</source> <source>name</source>
<translation type="unfinished"></translation> <translation>name</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="117"/> <location filename="../outputdialog.ui" line="117"/>
<source>1</source> <source>1</source>
<translation type="unfinished"></translation> <translation>1</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="122"/> <location filename="../outputdialog.ui" line="122"/>
<source>Name</source> <source>Name</source>
<translation type="unfinished"></translation> <translation>Name</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="127"/> <location filename="../outputdialog.ui" line="127"/>
<source>2</source> <source>2</source>
<translation type="unfinished"></translation> <translation>2</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="132"/> <location filename="../outputdialog.ui" line="132"/>
<source>Price</source> <source>Price</source>
<translation type="unfinished"></translation> <translation>Price</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="137"/> <location filename="../outputdialog.ui" line="137"/>
<source>3</source> <source>3</source>
<translation type="unfinished"></translation> <translation>3</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="142"/> <location filename="../outputdialog.ui" line="142"/>
<source>Quantity</source> <source>Quantity</source>
<translation type="unfinished"></translation> <translation>Quantity</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="147"/> <location filename="../outputdialog.ui" line="147"/>
<source>4</source> <source>4</source>
<translation type="unfinished"></translation> <translation>4</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="152"/> <location filename="../outputdialog.ui" line="152"/>
<source>Net weight</source> <source>Net weight</source>
<translation type="unfinished"></translation> <translation>Net Weight</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="157"/> <location filename="../outputdialog.ui" line="157"/>
<source>5</source> <source>5</source>
<translation type="unfinished"></translation> <translation>5</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="162"/> <location filename="../outputdialog.ui" line="162"/>
<source>Total price</source> <source>Total price</source>
<translation type="unfinished"></translation> <translation>Total price</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="176"/> <location filename="../outputdialog.ui" line="176"/>
<source>Print total</source> <source>Print total</source>
<translation type="unfinished"></translation> <translation>Print total</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settingsdialog.cpp" line="149"/>
<source>You need to restart program to apply language changes</source>
<translation>You need to restart program to apply language changes</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="151"/>
<source>Restart required</source>
<translation>Restart required</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -294,17 +326,17 @@
<message> <message>
<location filename="../solvecaptchadialog.ui" line="14"/> <location filename="../solvecaptchadialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation type="unfinished"></translation> <translation>Dialog</translation>
</message> </message>
<message> <message>
<location filename="../solvecaptchadialog.cpp" line="23"/> <location filename="../solvecaptchadialog.cpp" line="23"/>
<source>Please, enter a valid captcha</source> <source>Please, enter a valid captcha</source>
<translation type="unfinished"></translation> <translation>Please, enter a valid captcha</translation>
</message> </message>
<message> <message>
<location filename="../solvecaptchadialog.cpp" line="25"/> <location filename="../solvecaptchadialog.cpp" line="25"/>
<source>No captcha</source> <source>No captcha</source>
<translation type="unfinished"></translation> <translation>No captcha</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -312,93 +344,108 @@
<message> <message>
<location filename="../settingsdialog.ui" line="14"/> <location filename="../settingsdialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation type="unfinished"></translation> <translation>Dialog</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="72"/> <location filename="../settingsdialog.ui" line="182"/>
<source>Goods name position</source> <source>Goods name position</source>
<translation type="unfinished"></translation> <translation>Goods name position</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="79"/> <location filename="../settingsdialog.ui" line="234"/>
<source>Goods price per unit alias</source> <source>Goods price per unit alias</source>
<translation type="unfinished"></translation> <translation>Goods price per unit alias</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="86"/> <location filename="../settingsdialog.ui" line="248"/>
<location filename="../settingsdialog.ui" line="217"/> <source>TextLabel</source>
<translation>Language</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="256"/>
<source>en_US</source>
<translation>en_US</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="261"/>
<source>ru_RU</source>
<translation>ru_RU</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="224"/>
<location filename="../settingsdialog.ui" line="241"/>
<source>Choose</source> <source>Choose</source>
<translation type="unfinished"></translation> <translation>Choose</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="96"/> <location filename="../settingsdialog.ui" line="107"/>
<source>Print header</source> <source>Print header</source>
<translation type="unfinished"></translation> <translation>Print header</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="103"/> <location filename="../settingsdialog.ui" line="150"/>
<source>Goods net weight alias</source> <source>Goods net weight alias</source>
<translation type="unfinished"></translation> <translation>Goods net weight alias</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="110"/> <location filename="../settingsdialog.ui" line="83"/>
<source>Stores modules url</source> <source>Stores modules url</source>
<translation type="unfinished"></translation> <translation>Stores modules url</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="163"/>
<source>Goods total alias</source>
<translation>Goods total alias</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="196"/>
<source>Goods name alias</source>
<translation>Goods name alias</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="120"/> <location filename="../settingsdialog.ui" line="120"/>
<source>Goods total alias</source> <source>Goods quantity alias</source>
<translation type="unfinished"></translation> <translation>Goods quantity alias</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="210"/>
<source>Stores modules directory</source>
<translation>Stores modules directory</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="127"/> <location filename="../settingsdialog.ui" line="127"/>
<source>Goods name alias</source> <source>OFD modules directory</source>
<translation type="unfinished"></translation> <translation>OFD modules directory</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="203"/>
<source>Goods price per unit position</source>
<translation>Goods price per unit position</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="73"/>
<source>Goods net weight position</source>
<translation>Goods net weight position</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="100"/>
<source>OFD modules url</source>
<translation>OFD modules url</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="217"/>
<source>Goods total position</source>
<translation>Goods total position</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="90"/>
<source>Goods quantity position</source>
<translation>Goods quantity position</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="137"/> <location filename="../settingsdialog.ui" line="137"/>
<source>Goods quantity alias</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="144"/>
<source>Stores modules directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="157"/>
<source>OFD modules directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="173"/>
<source>Goods price per unit position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="180"/>
<source>Goods net weight position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="187"/>
<source>OFD modules url</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="197"/>
<source>Goods total position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="204"/>
<source>Goods quantity position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="227"/>
<source>Print total</source> <source>Print total</source>
<translation type="unfinished"></translation> <translation>Print total</translation>
</message> </message>
</context> </context>
</TS> </TS>

View File

@@ -6,22 +6,22 @@
<message> <message>
<location filename="../adjustpicturedialog.ui" line="14"/> <location filename="../adjustpicturedialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation type="unfinished"></translation> <translation>Диалог</translation>
</message> </message>
<message> <message>
<location filename="../adjustpicturedialog.ui" line="58"/> <location filename="../adjustpicturedialog.ui" line="58"/>
<source>Please, zoom to qr code and adjust contrast so that qr code looks sharp</source> <source>Please, zoom to qr code and adjust contrast so that qr code looks sharp</source>
<translation type="unfinished"></translation> <translation>Пожалуйста, приблизьте QR код и настройте контраст, чтобы он читался</translation>
</message> </message>
<message> <message>
<location filename="../adjustpicturedialog.cpp" line="39"/> <location filename="../adjustpicturedialog.cpp" line="39"/>
<source>QR code was not detected on that image. Please edit it again or enter data manually</source> <source>QR code was not detected on that image. Please edit it again or enter data manually</source>
<translation type="unfinished"></translation> <translation>QR код не найден на этом изображении. Пожалуйста, попытайтесь снова или введите данные вручную</translation>
</message> </message>
<message> <message>
<location filename="../adjustpicturedialog.cpp" line="41"/> <location filename="../adjustpicturedialog.cpp" line="41"/>
<source>No QR code</source> <source>No QR code</source>
<translation type="unfinished"></translation> <translation>QR код не найден</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -29,151 +29,166 @@
<message> <message>
<location filename="../mainwindow.ui" line="14"/> <location filename="../mainwindow.ui" line="14"/>
<source>MainWindow</source> <source>MainWindow</source>
<translation type="unfinished"></translation> <translation>ГлавноеОкно</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="37"/> <location filename="../mainwindow.ui" line="37"/>
<source>Store type</source> <source>Store type</source>
<translation type="unfinished"></translation> <translation>Магазин</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="50"/> <location filename="../mainwindow.ui" line="50"/>
<source>Parse</source> <source>Parse</source>
<translation type="unfinished"></translation> <translation>Парсить</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="63"/> <location filename="../mainwindow.ui" line="63"/>
<source>Preferences</source> <source>Preferences</source>
<translation type="unfinished"></translation> <translation>Настройки</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="80"/> <location filename="../mainwindow.ui" line="80"/>
<source>Text</source> <source>Text</source>
<translation type="unfinished"></translation> <translation>Текст</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="92"/> <location filename="../mainwindow.ui" line="92"/>
<source>Check content</source> <source>Check content</source>
<translation type="unfinished"></translation> <translation>Контент чека</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="108"/> <location filename="../mainwindow.ui" line="108"/>
<source>OCR</source> <source>OCR</source>
<translation type="unfinished"></translation> <translatorcomment>Оптическое Распознавание Символов</translatorcomment>
<translation>ОСР</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="120"/> <location filename="../mainwindow.ui" line="120"/>
<location filename="../mainwindow.ui" line="213"/> <location filename="../mainwindow.ui" line="213"/>
<source>Choose</source> <source>Choose</source>
<translation type="unfinished"></translation> <translation>Выбрать</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="143"/> <location filename="../mainwindow.ui" line="143"/>
<location filename="../mainwindow.ui" line="200"/> <location filename="../mainwindow.ui" line="200"/>
<source>Path to image: </source> <source>Path to image: </source>
<translation type="unfinished"></translation> <translation>Путь к изображению: </translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="156"/> <location filename="../mainwindow.ui" line="156"/>
<source>Here is recognised check text. Please, edit it if something&apos;s wrong:</source> <source>Here is recognised check text. Please, edit it if something&apos;s wrong:</source>
<translation type="unfinished"></translation> <translation>Ниже приведён распознанный текст. Пожалуйста, отредактируйте его:</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="175"/> <location filename="../mainwindow.ui" line="175"/>
<source>OFD</source> <source>OFD</source>
<translation type="unfinished"></translation> <translatorcomment>Оператор Фискальных Данных</translatorcomment>
<translation>ОФД</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="226"/> <location filename="../mainwindow.ui" line="226"/>
<source>0000000000000000</source> <source>0000000000000000</source>
<translation type="unfinished"></translation> <translation>0000000000000000</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="245"/> <location filename="../mainwindow.ui" line="245"/>
<source>FN (Fiscal Number)</source> <source>FN (Fiscal Number)</source>
<translation type="unfinished"></translation> <translatorcomment>Фискальный Норма</translatorcomment>
<translation>ФН</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="264"/> <location filename="../mainwindow.ui" line="264"/>
<source>FD (Fiscal Document)</source> <source>FD (Fiscal Document)</source>
<translation type="unfinished"></translation> <translatorcomment>Фискальный Документ</translatorcomment>
<translation>ФД</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="277"/> <location filename="../mainwindow.ui" line="277"/>
<location filename="../mainwindow.ui" line="309"/> <location filename="../mainwindow.ui" line="309"/>
<source>0000000000</source> <source>0000000000</source>
<translation type="unfinished"></translation> <translation>000000000</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="296"/> <location filename="../mainwindow.ui" line="296"/>
<source>FI (Fiscal Identifier)</source> <source>FI (Fiscal Identifier)</source>
<translation type="unfinished"></translation> <translatorcomment>Фискальный Признак</translatorcomment>
<translation>ФП</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="333"/> <location filename="../mainwindow.ui" line="333"/>
<source>Funds income</source> <source>Funds income</source>
<translation type="unfinished"></translation> <translation>Приход средств</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="338"/> <location filename="../mainwindow.ui" line="338"/>
<source>Funds return</source> <source>Funds return</source>
<translation type="unfinished"></translation> <translation>Возврат средств</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="343"/> <location filename="../mainwindow.ui" line="343"/>
<source>Funds spend</source> <source>Funds spend</source>
<translation type="unfinished"></translation> <translation>Расход средств</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="348"/> <location filename="../mainwindow.ui" line="348"/>
<source>Spends return</source> <source>Spends return</source>
<translation type="unfinished"></translation> <translation>Возврат расхода</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="375"/> <location filename="../mainwindow.ui" line="375"/>
<source>Total</source> <source>Total</source>
<translation type="unfinished"></translation> <translation>Итого</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="392"/> <location filename="../mainwindow.ui" line="392"/>
<source>checks parser</source> <source>checks parser</source>
<translation type="unfinished"></translation> <translation>Парсер чеков</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="85"/> <location filename="../mainwindow.cpp" line="85"/>
<source>Captcha was not solved correctly!</source> <source>Captcha was not solved correctly!</source>
<translation type="unfinished"></translation> <translation>Капча была решена неверно!</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="87"/> <location filename="../mainwindow.cpp" line="87"/>
<source>Captcha is incorrect</source> <source>Captcha is incorrect</source>
<translation type="unfinished"></translation> <translation>Капча введена неверно</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="92"/> <location filename="../mainwindow.cpp" line="92"/>
<source>Check not found. Please, ensure correctness of entered data.</source> <source>Check not found. Please, ensure correctness of entered data.</source>
<translation type="unfinished"></translation> <translation>Чек не найден. Пожалуйста, убедитесь в правильности введённых данных.</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="94"/> <location filename="../mainwindow.cpp" line="94"/>
<source>Check was not found</source> <source>Check was not found</source>
<translation type="unfinished"></translation> <translation>Чек не найден</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="145"/> <location filename="../mainwindow.cpp" line="116"/>
<source>An error has occured. Check was matched incorrectly. Vector sizes are different. Please, contact the developer.</source>
<translation>Произошла ошибка. Чек был прочитан неверно. Размеры векторов различаются. Пожалуйста, сообщите об этом разработчику.</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="118"/>
<source>Error in parsing</source>
<translation>Ошибка в парсинге</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="149"/>
<source>Please, select a picture where QR code that contains info about check is present</source> <source>Please, select a picture where QR code that contains info about check is present</source>
<translation type="unfinished"></translation> <translation>Пожалуйста, выберете изображение, содержащее QR код с информацией о чеке</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="147"/> <location filename="../mainwindow.cpp" line="151"/>
<location filename="../mainwindow.cpp" line="193"/> <location filename="../mainwindow.cpp" line="197"/>
<source>Picture was not selected</source> <source>Picture was not selected</source>
<translation type="unfinished"></translation> <translation>Изображение не было выбрано</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="191"/> <location filename="../mainwindow.cpp" line="195"/>
<source>Please, select a picture to scan</source> <source>Please, select a picture to scan</source>
<translation type="unfinished"></translation> <translation>Пожалуйста, выберете изображение для сканирования</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -181,112 +196,125 @@
<message> <message>
<location filename="../outputdialog.ui" line="14"/> <location filename="../outputdialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation type="unfinished"></translation> <translation>Диалог</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="42"/> <location filename="../outputdialog.ui" line="42"/>
<source>Path to export: </source> <source>Path to export: </source>
<translation type="unfinished"></translation> <translation>Путь для экспорта: </translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="55"/> <location filename="../outputdialog.ui" line="55"/>
<source>Choose</source> <source>Choose</source>
<translation type="unfinished"></translation> <translation>Выбрать</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="68"/> <location filename="../outputdialog.ui" line="68"/>
<source>Print header</source> <source>Print header</source>
<translation type="unfinished"></translation> <translation>Печатать заголовок</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="82"/> <location filename="../outputdialog.ui" line="82"/>
<source>Goods name</source> <source>Goods name</source>
<translation type="unfinished"></translation> <translation>Имя товара</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="87"/> <location filename="../outputdialog.ui" line="87"/>
<source>Goods price</source> <source>Goods price</source>
<translation type="unfinished"></translation> <translation>Цена товара</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="92"/> <location filename="../outputdialog.ui" line="92"/>
<source>Goods quantity</source> <source>Goods quantity</source>
<translation type="unfinished"></translation> <translation>Количество товара</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="97"/> <location filename="../outputdialog.ui" line="97"/>
<source>Goods net weight</source> <source>Goods net weight</source>
<translation type="unfinished"></translation> <translation>Масса нетто товара</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="102"/> <location filename="../outputdialog.ui" line="102"/>
<source>Goods total</source> <source>Goods total</source>
<translation type="unfinished"></translation> <translation>Всего за товар</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="107"/> <location filename="../outputdialog.ui" line="107"/>
<source>position</source> <source>position</source>
<translation type="unfinished"></translation> <translation>позиция</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="112"/> <location filename="../outputdialog.ui" line="112"/>
<source>name</source> <source>name</source>
<translation type="unfinished"></translation> <translation>алиас</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="117"/> <location filename="../outputdialog.ui" line="117"/>
<source>1</source> <source>1</source>
<translation type="unfinished"></translation> <translation>1</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="122"/> <location filename="../outputdialog.ui" line="122"/>
<source>Name</source> <source>Name</source>
<translation type="unfinished"></translation> <translation>Имя</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="127"/> <location filename="../outputdialog.ui" line="127"/>
<source>2</source> <source>2</source>
<translation type="unfinished"></translation> <translation>2</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="132"/> <location filename="../outputdialog.ui" line="132"/>
<source>Price</source> <source>Price</source>
<translation type="unfinished"></translation> <translation>Цена</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="137"/> <location filename="../outputdialog.ui" line="137"/>
<source>3</source> <source>3</source>
<translation type="unfinished"></translation> <translation>3</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="142"/> <location filename="../outputdialog.ui" line="142"/>
<source>Quantity</source> <source>Quantity</source>
<translation type="unfinished"></translation> <translation>Количество</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="147"/> <location filename="../outputdialog.ui" line="147"/>
<source>4</source> <source>4</source>
<translation type="unfinished"></translation> <translation>4</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="152"/> <location filename="../outputdialog.ui" line="152"/>
<source>Net weight</source> <source>Net weight</source>
<translation type="unfinished"></translation> <translation>Масса нетто</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="157"/> <location filename="../outputdialog.ui" line="157"/>
<source>5</source> <source>5</source>
<translation type="unfinished"></translation> <translation>5</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="162"/> <location filename="../outputdialog.ui" line="162"/>
<source>Total price</source> <source>Total price</source>
<translation type="unfinished"></translation> <translation>Всего</translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="176"/> <location filename="../outputdialog.ui" line="176"/>
<source>Print total</source> <source>Print total</source>
<translation type="unfinished"></translation> <translation>Печатать Итого</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settingsdialog.cpp" line="149"/>
<source>You need to restart program to apply language changes</source>
<translation>Требуется перезагрузить программу, чтобы применить изменения языка</translation>
</message>
<message>
<location filename="../settingsdialog.cpp" line="151"/>
<source>Restart required</source>
<translation>Требуется перезагрузка</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -294,17 +322,17 @@
<message> <message>
<location filename="../solvecaptchadialog.ui" line="14"/> <location filename="../solvecaptchadialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation type="unfinished"></translation> <translation>Диалог</translation>
</message> </message>
<message> <message>
<location filename="../solvecaptchadialog.cpp" line="23"/> <location filename="../solvecaptchadialog.cpp" line="23"/>
<source>Please, enter a valid captcha</source> <source>Please, enter a valid captcha</source>
<translation type="unfinished"></translation> <translation>Пожалуйста, введите верную капчу</translation>
</message> </message>
<message> <message>
<location filename="../solvecaptchadialog.cpp" line="25"/> <location filename="../solvecaptchadialog.cpp" line="25"/>
<source>No captcha</source> <source>No captcha</source>
<translation type="unfinished"></translation> <translation>Нет капчи</translation>
</message> </message>
</context> </context>
<context> <context>
@@ -312,93 +340,108 @@
<message> <message>
<location filename="../settingsdialog.ui" line="14"/> <location filename="../settingsdialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation type="unfinished"></translation> <translation>Диалог</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="72"/> <location filename="../settingsdialog.ui" line="182"/>
<source>Goods name position</source> <source>Goods name position</source>
<translation type="unfinished"></translation> <translation>Позиция имени товара</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="79"/> <location filename="../settingsdialog.ui" line="234"/>
<source>Goods price per unit alias</source> <source>Goods price per unit alias</source>
<translation type="unfinished"></translation> <translation>Алиас цены товара</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="86"/> <location filename="../settingsdialog.ui" line="248"/>
<location filename="../settingsdialog.ui" line="217"/> <source>TextLabel</source>
<translation>Язык</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="256"/>
<source>en_US</source>
<translation>en_US</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="261"/>
<source>ru_RU</source>
<translation>ru_RU</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="224"/>
<location filename="../settingsdialog.ui" line="241"/>
<source>Choose</source> <source>Choose</source>
<translation type="unfinished"></translation> <translation>Выбрать</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="96"/> <location filename="../settingsdialog.ui" line="107"/>
<source>Print header</source> <source>Print header</source>
<translation type="unfinished"></translation> <translation>Печатать заголовок</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="103"/> <location filename="../settingsdialog.ui" line="150"/>
<source>Goods net weight alias</source> <source>Goods net weight alias</source>
<translation type="unfinished"></translation> <translation>Алиас массы нетто товара</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="110"/> <location filename="../settingsdialog.ui" line="83"/>
<source>Stores modules url</source> <source>Stores modules url</source>
<translation type="unfinished"></translation> <translation>URL модулей магазина</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="163"/>
<source>Goods total alias</source>
<translation>Алиас всего за продукт</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="196"/>
<source>Goods name alias</source>
<translation>Алиас имени товара</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="120"/> <location filename="../settingsdialog.ui" line="120"/>
<source>Goods total alias</source> <source>Goods quantity alias</source>
<translation type="unfinished"></translation> <translation>Алиас количества товара</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="210"/>
<source>Stores modules directory</source>
<translation>Директория модулей магазина</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="127"/> <location filename="../settingsdialog.ui" line="127"/>
<source>Goods name alias</source> <source>OFD modules directory</source>
<translation type="unfinished"></translation> <translation>Директория модулей ОФД</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="203"/>
<source>Goods price per unit position</source>
<translation>Позиция центы товара</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="73"/>
<source>Goods net weight position</source>
<translation>Позиция массы нетто товара</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="100"/>
<source>OFD modules url</source>
<translation>URL модулей ОФД</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="217"/>
<source>Goods total position</source>
<translation>Позиция всего за товар</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="90"/>
<source>Goods quantity position</source>
<translation>Позиция количества товара</translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="137"/> <location filename="../settingsdialog.ui" line="137"/>
<source>Goods quantity alias</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="144"/>
<source>Stores modules directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="157"/>
<source>OFD modules directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="173"/>
<source>Goods price per unit position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="180"/>
<source>Goods net weight position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="187"/>
<source>OFD modules url</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="197"/>
<source>Goods total position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="204"/>
<source>Goods quantity position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="227"/>
<source>Print total</source> <source>Print total</source>
<translation type="unfinished"></translation> <translation>Печатать Итого</translation>
</message> </message>
</context> </context>
</TS> </TS>