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.stash
*.qrc.depends
# qtcreator generated files
*.pro.user*
CMakeLists.txt.user*

View File

@@ -55,6 +55,7 @@ else()
# Generate translation files for Qt 5
# QT5_ADD_TRANSLATION()
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
${PROJECT_SOURCES}
goods/goods.h goods/goods.cpp
@@ -74,11 +75,11 @@ else()
image_redactor/imageredactor.h image_redactor/imageredactor.cpp
solvecaptchadialog.h solvecaptchadialog.cpp solvecaptchadialog.ui
exceptions/ofdrequestexception.h exceptions/ofdrequestexception.cpp
${QM_FILES}
# ${QM_FILES}
# ${TS_FILES}
translations.qrc
${TRANSLATIONQRC}
)
# configure_file(translations.qrc ${CMAKE_BINARY_DIR} COPYONLY)
# QT5_ADD_TRANSLATION(TRANSLATIONS ${CMAKE_SOURCE_DIR} translations/en_US.ts)
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
Type=Application
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
rm -rf AppDir
mkdir -p AppDir
mkdir -p AppDir/usr/bin
mkdir -p AppDir/usr/lib
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/AppRun
cp ../../icon.png AppDir/checks-parser.png
chmod +x AppDir/AppRun
cp ../../checks-parser AppDir/usr/bin
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>
using namespace std::filesystem;
#endif
#include <QFile>
#include <QTextStream>
#include <QTranslator>
int main(int argc, char *argv[]) {
@@ -43,9 +45,17 @@ int main(int argc, char *argv[]) {
QApplication a(argc, argv);
QTranslator translator;
if(!translator.load(QLocale::system().name())) {
translator.load("en_US");
QString lang = "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);
MainWindow w;
w.update();

View File

@@ -112,7 +112,11 @@ void MainWindow::on_parseButton_clicked() {
std::vector<Goods> c = parser.parse(check_plaintext);
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;
}

View File

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

View File

@@ -50,7 +50,7 @@ Settings::Settings(std::string path) {
}
})"_json;
output << settings;
output << settings.dump(4);
output.flush();
output.close();
this->settings = settings;
@@ -70,7 +70,7 @@ void Settings::write_setting(std::string setting, std::string value) {
this->settings[setting] = value;
output << this->settings;
output << this->settings.dump(4);
}
std::string Settings::get_setting(std::string setting) {
return this->settings[setting];
@@ -93,5 +93,5 @@ void Settings::alter_setting(std::string setting, std::string value) {
void Settings::flush() {
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 "utils/utils.h"
#include <QMessageBox>
SettingsDialog::SettingsDialog(QWidget *parent)
: QDialog(parent), ui(new Ui::settingsdialog),
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->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; }
@@ -121,4 +136,19 @@ void SettingsDialog::on_buttonBox_accepted() { this->settings.flush(); }
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_languageComboBox_currentTextChanged(const QString &arg1);
private:
Ui::settingsdialog *ui;
};

View File

@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>599</width>
<height>727</height>
<height>799</height>
</rect>
</property>
<property name="windowTitle">
@@ -17,16 +17,16 @@
<property name="geometry">
<rect>
<x>310</x>
<y>690</y>
<y>740</y>
<width>251</width>
<height>32</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Save</set>
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
</property>
</widget>
<widget class="QScrollArea" name="scrollArea">
@@ -35,7 +35,7 @@
<x>10</x>
<y>0</y>
<width>541</width>
<height>661</height>
<height>741</height>
</rect>
</property>
<property name="widgetResizable">
@@ -47,7 +47,7 @@
<x>0</x>
<y>0</y>
<width>539</width>
<height>659</height>
<height>739</height>
</rect>
</property>
<widget class="QWidget" name="gridLayoutWidget">
@@ -56,16 +56,126 @@
<x>0</x>
<y>0</y>
<width>531</width>
<height>651</height>
<height>731</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="11" column="1">
<widget class="QLineEdit" name="goodsNetWeightAliasEdit"/>
<item row="15" column="1">
<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 row="1" column="1">
<widget class="QLineEdit" name="storesModulesDirEdit"/>
</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">
<widget class="QLabel" name="label_9">
<property name="text">
@@ -73,6 +183,51 @@
</property>
</widget>
</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">
<widget class="QLabel" name="label_12">
<property name="text">
@@ -87,159 +242,25 @@
</property>
</widget>
</item>
<item row="13" column="1">
<widget class="QLineEdit" name="goodsTotalAliasEdit"/>
</item>
<item row="14" column="0">
<widget class="QLabel" name="label_2">
<item row="16" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Print header</string>
<string>TextLabel</string>
</property>
</widget>
</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="3" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Stores modules url</string>
</property>
</widget>
</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>
<item row="16" column="1">
<widget class="QComboBox" name="languageComboBox">
<item>
<property name="text">
<string>en_US</string>
</property>
</item>
<item>
<property name="text">
<string>ru_RU</string>
</property>
</item>
</widget>
</item>
</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"?>
<!DOCTYPE TS>
<TS version="2.1">
<TS version="2.1" language="en_US">
<context>
<name>AdjustPictureDialog</name>
<message>
<location filename="../adjustpicturedialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
<translation>Dialog</translation>
</message>
<message>
<location filename="../adjustpicturedialog.ui" line="58"/>
<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>
<location filename="../adjustpicturedialog.cpp" line="39"/>
<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>
<location filename="../adjustpicturedialog.cpp" line="41"/>
<source>No QR code</source>
<translation type="unfinished"></translation>
<translation>No QR code</translation>
</message>
</context>
<context>
@@ -29,151 +29,170 @@
<message>
<location filename="../mainwindow.ui" line="14"/>
<source>MainWindow</source>
<translation type="unfinished"></translation>
<translation>Главное окно</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="37"/>
<source>Store type</source>
<translation type="unfinished"></translation>
<translation>Store type</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="50"/>
<source>Parse</source>
<translation type="unfinished"></translation>
<translation>Parse</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="63"/>
<source>Preferences</source>
<translation type="unfinished"></translation>
<translation>Preferences</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="80"/>
<source>Text</source>
<translation type="unfinished"></translation>
<translation>Text</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="92"/>
<source>Check content</source>
<translation type="unfinished"></translation>
<translation>Check content</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="108"/>
<source>OCR</source>
<translation type="unfinished"></translation>
<translatorcomment>OCR = Optical Character Recognition</translatorcomment>
<translation>OCR</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="120"/>
<location filename="../mainwindow.ui" line="213"/>
<source>Choose</source>
<translation type="unfinished"></translation>
<translation>Choose</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="143"/>
<location filename="../mainwindow.ui" line="200"/>
<source>Path to image: </source>
<translation type="unfinished"></translation>
<translation>Path to image: </translation>
</message>
<message>
<location filename="../mainwindow.ui" line="156"/>
<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>
<location filename="../mainwindow.ui" line="175"/>
<source>OFD</source>
<translation type="unfinished"></translation>
<translatorcomment>OFD = Оператор Фискальных Данных</translatorcomment>
<translation>OFD</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="226"/>
<source>0000000000000000</source>
<translation type="unfinished"></translation>
<translation>0000000000000000</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="245"/>
<source>FN (Fiscal Number)</source>
<translation type="unfinished"></translation>
<translatorcomment>FN = Фискальный Номер</translatorcomment>
<translation>FN (Fiscal Number)</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="264"/>
<source>FD (Fiscal Document)</source>
<translation type="unfinished"></translation>
<translatorcomment>FD = Фискальный Документ</translatorcomment>
<translation>FD (Fiscal Document)</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="277"/>
<location filename="../mainwindow.ui" line="309"/>
<source>0000000000</source>
<translation type="unfinished"></translation>
<translation>000000000</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="296"/>
<source>FI (Fiscal Identifier)</source>
<translation type="unfinished"></translation>
<translatorcomment>FI = Фискальный Признак</translatorcomment>
<translation>FI (Fiscal Identifier)</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="333"/>
<source>Funds income</source>
<translation type="unfinished"></translation>
<translatorcomment>Приход средств</translatorcomment>
<translation>Funds incode</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="338"/>
<source>Funds return</source>
<translation type="unfinished"></translation>
<translatorcomment>Возврат средств</translatorcomment>
<translation>Funds return</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="343"/>
<source>Funds spend</source>
<translation type="unfinished"></translation>
<translatorcomment>Расход средств</translatorcomment>
<translation>Funds spend</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="348"/>
<source>Spends return</source>
<translation type="unfinished"></translation>
<translatorcomment>Возврат расхода</translatorcomment>
<translation>Spends return</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="375"/>
<source>Total</source>
<translation type="unfinished"></translation>
<translation>Total</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="392"/>
<source>checks parser</source>
<translation type="unfinished"></translation>
<translation>checks parser</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="85"/>
<source>Captcha was not solved correctly!</source>
<translation type="unfinished"></translation>
<translation>Captcha was not solved correctly!</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="87"/>
<source>Captcha is incorrect</source>
<translation type="unfinished"></translation>
<translation>Captcha is incorrect</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="92"/>
<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>
<location filename="../mainwindow.cpp" line="94"/>
<source>Check was not found</source>
<translation type="unfinished"></translation>
<translation></translation>
</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>
<translation type="unfinished"></translation>
<translation>Please, select a picture where QR code that contains info about check is present</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="147"/>
<location filename="../mainwindow.cpp" line="193"/>
<location filename="../mainwindow.cpp" line="151"/>
<location filename="../mainwindow.cpp" line="197"/>
<source>Picture was not selected</source>
<translation type="unfinished"></translation>
<translation>Picture was not selected</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="191"/>
<location filename="../mainwindow.cpp" line="195"/>
<source>Please, select a picture to scan</source>
<translation type="unfinished"></translation>
<translation>Please, select a picture to scan</translation>
</message>
</context>
<context>
@@ -181,112 +200,125 @@
<message>
<location filename="../outputdialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
<translation>Dialog</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="42"/>
<source>Path to export: </source>
<translation type="unfinished"></translation>
<translation>Path to export: </translation>
</message>
<message>
<location filename="../outputdialog.ui" line="55"/>
<source>Choose</source>
<translation type="unfinished"></translation>
<translation>Choose</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="68"/>
<source>Print header</source>
<translation type="unfinished"></translation>
<translation>Print header</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="82"/>
<source>Goods name</source>
<translation type="unfinished"></translation>
<translation>Goods name</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="87"/>
<source>Goods price</source>
<translation type="unfinished"></translation>
<translation>Goods price</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="92"/>
<source>Goods quantity</source>
<translation type="unfinished"></translation>
<translation>Goods quality</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="97"/>
<source>Goods net weight</source>
<translation type="unfinished"></translation>
<translation>Goods net weight</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="102"/>
<source>Goods total</source>
<translation type="unfinished"></translation>
<translation>Goods total</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="107"/>
<source>position</source>
<translation type="unfinished"></translation>
<translation>position</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="112"/>
<source>name</source>
<translation type="unfinished"></translation>
<translation>name</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="117"/>
<source>1</source>
<translation type="unfinished"></translation>
<translation>1</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="122"/>
<source>Name</source>
<translation type="unfinished"></translation>
<translation>Name</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="127"/>
<source>2</source>
<translation type="unfinished"></translation>
<translation>2</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="132"/>
<source>Price</source>
<translation type="unfinished"></translation>
<translation>Price</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="137"/>
<source>3</source>
<translation type="unfinished"></translation>
<translation>3</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="142"/>
<source>Quantity</source>
<translation type="unfinished"></translation>
<translation>Quantity</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="147"/>
<source>4</source>
<translation type="unfinished"></translation>
<translation>4</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="152"/>
<source>Net weight</source>
<translation type="unfinished"></translation>
<translation>Net Weight</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="157"/>
<source>5</source>
<translation type="unfinished"></translation>
<translation>5</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="162"/>
<source>Total price</source>
<translation type="unfinished"></translation>
<translation>Total price</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="176"/>
<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>
</context>
<context>
@@ -294,17 +326,17 @@
<message>
<location filename="../solvecaptchadialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
<translation>Dialog</translation>
</message>
<message>
<location filename="../solvecaptchadialog.cpp" line="23"/>
<source>Please, enter a valid captcha</source>
<translation type="unfinished"></translation>
<translation>Please, enter a valid captcha</translation>
</message>
<message>
<location filename="../solvecaptchadialog.cpp" line="25"/>
<source>No captcha</source>
<translation type="unfinished"></translation>
<translation>No captcha</translation>
</message>
</context>
<context>
@@ -312,93 +344,108 @@
<message>
<location filename="../settingsdialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
<translation>Dialog</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="72"/>
<location filename="../settingsdialog.ui" line="182"/>
<source>Goods name position</source>
<translation type="unfinished"></translation>
<translation>Goods name position</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="79"/>
<location filename="../settingsdialog.ui" line="234"/>
<source>Goods price per unit alias</source>
<translation type="unfinished"></translation>
<translation>Goods price per unit alias</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="86"/>
<location filename="../settingsdialog.ui" line="217"/>
<location filename="../settingsdialog.ui" line="248"/>
<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>
<translation type="unfinished"></translation>
<translation>Choose</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="96"/>
<location filename="../settingsdialog.ui" line="107"/>
<source>Print header</source>
<translation type="unfinished"></translation>
<translation>Print header</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="103"/>
<location filename="../settingsdialog.ui" line="150"/>
<source>Goods net weight alias</source>
<translation type="unfinished"></translation>
<translation>Goods net weight alias</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="110"/>
<location filename="../settingsdialog.ui" line="83"/>
<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>
<location filename="../settingsdialog.ui" line="120"/>
<source>Goods total alias</source>
<translation type="unfinished"></translation>
<source>Goods quantity alias</source>
<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>
<location filename="../settingsdialog.ui" line="127"/>
<source>Goods name alias</source>
<translation type="unfinished"></translation>
<source>OFD modules directory</source>
<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>
<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>
<translation type="unfinished"></translation>
<translation>Print total</translation>
</message>
</context>
</TS>

View File

@@ -6,22 +6,22 @@
<message>
<location filename="../adjustpicturedialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
<translation>Диалог</translation>
</message>
<message>
<location filename="../adjustpicturedialog.ui" line="58"/>
<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>
<location filename="../adjustpicturedialog.cpp" line="39"/>
<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>
<location filename="../adjustpicturedialog.cpp" line="41"/>
<source>No QR code</source>
<translation type="unfinished"></translation>
<translation>QR код не найден</translation>
</message>
</context>
<context>
@@ -29,151 +29,166 @@
<message>
<location filename="../mainwindow.ui" line="14"/>
<source>MainWindow</source>
<translation type="unfinished"></translation>
<translation>ГлавноеОкно</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="37"/>
<source>Store type</source>
<translation type="unfinished"></translation>
<translation>Магазин</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="50"/>
<source>Parse</source>
<translation type="unfinished"></translation>
<translation>Парсить</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="63"/>
<source>Preferences</source>
<translation type="unfinished"></translation>
<translation>Настройки</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="80"/>
<source>Text</source>
<translation type="unfinished"></translation>
<translation>Текст</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="92"/>
<source>Check content</source>
<translation type="unfinished"></translation>
<translation>Контент чека</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="108"/>
<source>OCR</source>
<translation type="unfinished"></translation>
<translatorcomment>Оптическое Распознавание Символов</translatorcomment>
<translation>ОСР</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="120"/>
<location filename="../mainwindow.ui" line="213"/>
<source>Choose</source>
<translation type="unfinished"></translation>
<translation>Выбрать</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="143"/>
<location filename="../mainwindow.ui" line="200"/>
<source>Path to image: </source>
<translation type="unfinished"></translation>
<translation>Путь к изображению: </translation>
</message>
<message>
<location filename="../mainwindow.ui" line="156"/>
<source>Here is recognised check text. Please, edit it if something&apos;s wrong:</source>
<translation type="unfinished"></translation>
<translation>Ниже приведён распознанный текст. Пожалуйста, отредактируйте его:</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="175"/>
<source>OFD</source>
<translation type="unfinished"></translation>
<translatorcomment>Оператор Фискальных Данных</translatorcomment>
<translation>ОФД</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="226"/>
<source>0000000000000000</source>
<translation type="unfinished"></translation>
<translation>0000000000000000</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="245"/>
<source>FN (Fiscal Number)</source>
<translation type="unfinished"></translation>
<translatorcomment>Фискальный Норма</translatorcomment>
<translation>ФН</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="264"/>
<source>FD (Fiscal Document)</source>
<translation type="unfinished"></translation>
<translatorcomment>Фискальный Документ</translatorcomment>
<translation>ФД</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="277"/>
<location filename="../mainwindow.ui" line="309"/>
<source>0000000000</source>
<translation type="unfinished"></translation>
<translation>000000000</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="296"/>
<source>FI (Fiscal Identifier)</source>
<translation type="unfinished"></translation>
<translatorcomment>Фискальный Признак</translatorcomment>
<translation>ФП</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="333"/>
<source>Funds income</source>
<translation type="unfinished"></translation>
<translation>Приход средств</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="338"/>
<source>Funds return</source>
<translation type="unfinished"></translation>
<translation>Возврат средств</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="343"/>
<source>Funds spend</source>
<translation type="unfinished"></translation>
<translation>Расход средств</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="348"/>
<source>Spends return</source>
<translation type="unfinished"></translation>
<translation>Возврат расхода</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="375"/>
<source>Total</source>
<translation type="unfinished"></translation>
<translation>Итого</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="392"/>
<source>checks parser</source>
<translation type="unfinished"></translation>
<translation>Парсер чеков</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="85"/>
<source>Captcha was not solved correctly!</source>
<translation type="unfinished"></translation>
<translation>Капча была решена неверно!</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="87"/>
<source>Captcha is incorrect</source>
<translation type="unfinished"></translation>
<translation>Капча введена неверно</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="92"/>
<source>Check not found. Please, ensure correctness of entered data.</source>
<translation type="unfinished"></translation>
<translation>Чек не найден. Пожалуйста, убедитесь в правильности введённых данных.</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="94"/>
<source>Check was not found</source>
<translation type="unfinished"></translation>
<translation>Чек не найден</translation>
</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>
<translation type="unfinished"></translation>
<translation>Пожалуйста, выберете изображение, содержащее QR код с информацией о чеке</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="147"/>
<location filename="../mainwindow.cpp" line="193"/>
<location filename="../mainwindow.cpp" line="151"/>
<location filename="../mainwindow.cpp" line="197"/>
<source>Picture was not selected</source>
<translation type="unfinished"></translation>
<translation>Изображение не было выбрано</translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="191"/>
<location filename="../mainwindow.cpp" line="195"/>
<source>Please, select a picture to scan</source>
<translation type="unfinished"></translation>
<translation>Пожалуйста, выберете изображение для сканирования</translation>
</message>
</context>
<context>
@@ -181,112 +196,125 @@
<message>
<location filename="../outputdialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
<translation>Диалог</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="42"/>
<source>Path to export: </source>
<translation type="unfinished"></translation>
<translation>Путь для экспорта: </translation>
</message>
<message>
<location filename="../outputdialog.ui" line="55"/>
<source>Choose</source>
<translation type="unfinished"></translation>
<translation>Выбрать</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="68"/>
<source>Print header</source>
<translation type="unfinished"></translation>
<translation>Печатать заголовок</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="82"/>
<source>Goods name</source>
<translation type="unfinished"></translation>
<translation>Имя товара</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="87"/>
<source>Goods price</source>
<translation type="unfinished"></translation>
<translation>Цена товара</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="92"/>
<source>Goods quantity</source>
<translation type="unfinished"></translation>
<translation>Количество товара</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="97"/>
<source>Goods net weight</source>
<translation type="unfinished"></translation>
<translation>Масса нетто товара</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="102"/>
<source>Goods total</source>
<translation type="unfinished"></translation>
<translation>Всего за товар</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="107"/>
<source>position</source>
<translation type="unfinished"></translation>
<translation>позиция</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="112"/>
<source>name</source>
<translation type="unfinished"></translation>
<translation>алиас</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="117"/>
<source>1</source>
<translation type="unfinished"></translation>
<translation>1</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="122"/>
<source>Name</source>
<translation type="unfinished"></translation>
<translation>Имя</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="127"/>
<source>2</source>
<translation type="unfinished"></translation>
<translation>2</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="132"/>
<source>Price</source>
<translation type="unfinished"></translation>
<translation>Цена</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="137"/>
<source>3</source>
<translation type="unfinished"></translation>
<translation>3</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="142"/>
<source>Quantity</source>
<translation type="unfinished"></translation>
<translation>Количество</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="147"/>
<source>4</source>
<translation type="unfinished"></translation>
<translation>4</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="152"/>
<source>Net weight</source>
<translation type="unfinished"></translation>
<translation>Масса нетто</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="157"/>
<source>5</source>
<translation type="unfinished"></translation>
<translation>5</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="162"/>
<source>Total price</source>
<translation type="unfinished"></translation>
<translation>Всего</translation>
</message>
<message>
<location filename="../outputdialog.ui" line="176"/>
<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>
</context>
<context>
@@ -294,17 +322,17 @@
<message>
<location filename="../solvecaptchadialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
<translation>Диалог</translation>
</message>
<message>
<location filename="../solvecaptchadialog.cpp" line="23"/>
<source>Please, enter a valid captcha</source>
<translation type="unfinished"></translation>
<translation>Пожалуйста, введите верную капчу</translation>
</message>
<message>
<location filename="../solvecaptchadialog.cpp" line="25"/>
<source>No captcha</source>
<translation type="unfinished"></translation>
<translation>Нет капчи</translation>
</message>
</context>
<context>
@@ -312,93 +340,108 @@
<message>
<location filename="../settingsdialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
<translation>Диалог</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="72"/>
<location filename="../settingsdialog.ui" line="182"/>
<source>Goods name position</source>
<translation type="unfinished"></translation>
<translation>Позиция имени товара</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="79"/>
<location filename="../settingsdialog.ui" line="234"/>
<source>Goods price per unit alias</source>
<translation type="unfinished"></translation>
<translation>Алиас цены товара</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="86"/>
<location filename="../settingsdialog.ui" line="217"/>
<location filename="../settingsdialog.ui" line="248"/>
<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>
<translation type="unfinished"></translation>
<translation>Выбрать</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="96"/>
<location filename="../settingsdialog.ui" line="107"/>
<source>Print header</source>
<translation type="unfinished"></translation>
<translation>Печатать заголовок</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="103"/>
<location filename="../settingsdialog.ui" line="150"/>
<source>Goods net weight alias</source>
<translation type="unfinished"></translation>
<translation>Алиас массы нетто товара</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="110"/>
<location filename="../settingsdialog.ui" line="83"/>
<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>
<location filename="../settingsdialog.ui" line="120"/>
<source>Goods total alias</source>
<translation type="unfinished"></translation>
<source>Goods quantity alias</source>
<translation>Алиас количества товара</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="210"/>
<source>Stores modules directory</source>
<translation>Директория модулей магазина</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="127"/>
<source>Goods name alias</source>
<translation type="unfinished"></translation>
<source>OFD modules directory</source>
<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>
<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>
<translation type="unfinished"></translation>
<translation>Печатать Итого</translation>
</message>
</context>
</TS>