ensured building on ubuntu 18.04

This commit is contained in:
leca 2024-12-01 18:53:16 +03:00
parent b59b42a40c
commit 88d849bee9
11 changed files with 194 additions and 252 deletions

View File

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.10)
project(checks-parser VERSION 0.1 LANGUAGES CXX) project(checks-parser VERSION 0.1 LANGUAGES CXX)
@ -71,7 +71,6 @@ else()
settings/settings.h settings/settings.cpp settings/settings.h settings/settings.cpp
settingsdialog.h settingsdialog.cpp settingsdialog.ui settingsdialog.h settingsdialog.cpp settingsdialog.ui
adjustpicturedialog.h adjustpicturedialog.cpp adjustpicturedialog.ui adjustpicturedialog.h adjustpicturedialog.cpp adjustpicturedialog.ui
imageview/imageview.h imageview/imageview.cpp
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
@ -119,3 +118,6 @@ target_link_libraries(checks-parser PRIVATE -lzbar)
target_link_libraries(checks-parser PRIVATE -ltesseract) target_link_libraries(checks-parser PRIVATE -ltesseract)
target_link_libraries(checks-parser PRIVATE -lcurl) target_link_libraries(checks-parser PRIVATE -lcurl)
target_link_libraries(checks-parser PRIVATE ${OpenCV_LIBS} ) target_link_libraries(checks-parser PRIVATE ${OpenCV_LIBS} )
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8)
target_link_libraries(checks-parser PRIVATE -lstdc++fs)
endif()

View File

@ -46,6 +46,7 @@ make -j{nproc}
sudo make install sudo make install
``` ```
##### Debian ##### Debian
apt install -y qtbase5-dev openssl libmbedtls-dev tesseract-ocr tesseract-ocr-rus libopencv-dev libzbar-dev qttools5-dev nlohmann-json-dev libcurl4-openssl-dev libtesseract-dev
TODO TODO
### Windows ### Windows
Maybe Maybe

View File

@ -5,7 +5,7 @@
#include <opencv2/imgproc.hpp> #include <opencv2/imgproc.hpp>
#include <string> #include <string>
#include <opencv2/core/mat.hpp> #include <opencv2/core/mat.hpp>
#include <QColorTransform> //#include <QColorTransform>
#include <QFileDialog> #include <QFileDialog>
#include <QMessageBox> #include <QMessageBox>
#include <zbar.h> #include <zbar.h>
@ -53,7 +53,6 @@ std::string AdjustPictureDialog::decode() {
zbar::ImageScanner scanner; zbar::ImageScanner scanner;
scanner.set_config(zbar::ZBAR_QRCODE, zbar::ZBAR_CFG_ENABLE, 1); scanner.set_config(zbar::ZBAR_QRCODE, zbar::ZBAR_CFG_ENABLE, 1);
scanner.set_config(zbar::ZBAR_QRCODE, zbar::ZBAR_CFG_TEST_INVERTED, 1);
cv::Mat imGray; cv::Mat imGray;
cv::cvtColor(im, imGray, cv::COLOR_BGR2GRAY); cv::cvtColor(im, imGray, cv::COLOR_BGR2GRAY);

View File

@ -1,51 +0,0 @@
#include <QWheelEvent>
#include "imageview.h"
#include <iostream>
ImageView::ImageView(QWidget *parent) :
QLabel(parent) {
// std::cout << this->geometry().height() << " " << this->geometry().width() << std::endl;
}
// ImageView::ImageView(QWidget *parent, std::string path):
// QLabel(parent) {
// this->setPixmap(QPixmap(QString::fromStdString(path)));
// }
void ImageView::wheelEvent(QWheelEvent *event) {
QPointF shift = event->position();
QRegion r = QRegion();
// this->pixmap(Qt::ReturnByValueConstant::ReturnByValue).scroll(10, 10, this->rect(), &r);
this->scroll(shift.x(), shift.y(), this->rect());
// this->setPixmap(QPixmap());
// pm.scroll(shift.x(), shift.y(), this->rect());
// pm.scroll();
// this->setPixmap(pm);
//this->pixmap(Qt::ReturnByValueConstant::ReturnByValue).scroll(shift.x(), shift.y(), this->pixmap()->rect());
QPoint numDegrees = event->angleDelta() / 8;
std::cout << numDegrees.x() << std::endl;
event->accept();
}
void ImageView::setImage(std::string image){
//Commented is a way of scaling that is, as I understand, is lossless. If there'll be problems with current method's losses, I'll return to commented method
maxHeight = this->height();
maxWidth = this->width();
QPixmap pixmap = QPixmap(QString::fromStdString(image));
// double scaleFactor = pixmap.height() > pixmap.width()? static_cast<double>(maxHeight) / pixmap.height() : static_cast<double>(maxWidth) / pixmap.width();
pixmap = pixmap.scaled(maxWidth, maxHeight, Qt::AspectRatioMode::KeepAspectRatio);
this->setPixmap(pixmap);
// this->setGeometry(this->geometry().x(), this->geometry().y(), pixmap.width() * scaleFactor, pixmap.height() * scaleFactor);
// this->setScaledContents(true);
}

View File

@ -1,19 +0,0 @@
#ifndef IMAGEVIEW_H
#define IMAGEVIEW_H
#include <QLabel>
#include <QObject>
#include <QWidget>
class ImageView : public QLabel
{
Q_OBJECT
double maxHeight, maxWidth;
public:
ImageView(QWidget *parent=nullptr);
// ImageView(QWidget *parent=nullptr, std::string path="");
void wheelEvent(QWheelEvent*);
void setImage(std::string);
};
#endif // IMAGEVIEW_H

View File

@ -5,7 +5,13 @@
#include <QApplication> #include <QApplication>
#include <curl/curl.h> #include <curl/curl.h>
#include <iostream> #include <iostream>
#if __GNUC__ < 8
# include <experimental/filesystem>
using namespace std::experimental::filesystem;
#else
# include <filesystem> # include <filesystem>
using std::filesystem;
#endif
#include <fstream> #include <fstream>
#include <QTranslator> #include <QTranslator>
@ -25,7 +31,7 @@ int main(int argc, char *argv[]) {
curl_global_init(CURL_GLOBAL_ALL); curl_global_init(CURL_GLOBAL_ALL);
std::string program_data_path = get_path_relative_to_home(".local/share/checks_parser"); std::string program_data_path = get_path_relative_to_home(".local/share/checks_parser");
std::filesystem::create_directories(program_data_path); create_directories(program_data_path);
std::string settings_file_path = std::string settings_file_path =
get_path_relative_to_home(".local/share/checks_parser/settings.json"); get_path_relative_to_home(".local/share/checks_parser/settings.json");

View File

@ -3,7 +3,11 @@
#include <string> #include <string>
#include <vector> #include <vector>
#if __GNUC__ < 8
# include <experimental/filesystem>
#else
# include <filesystem> # include <filesystem>
#endif
#include <iostream> #include <iostream>
#include <string> #include <string>
#include <vector> #include <vector>

View File

@ -3,18 +3,25 @@
#include "../net/net.h" #include "../net/net.h"
#include "../settings/settings.h" #include "../settings/settings.h"
#include "../utils/utils.h" #include "../utils/utils.h"
#include <filesystem>
#include <iostream> #include <iostream>
#if __GNUC__ < 8
# include <experimental/filesystem>
using namespace std::experimental;
#else
# include <filesystem>
using std::filesystem;
#endif
Parser::Parser() {} Parser::Parser() {}
std::vector<std::string> Parser::search_modules() { std::vector<std::string> Parser::search_modules() {
Settings s(get_path_relative_to_home(".local/share/checks_parser/settings.json")); Settings s(get_path_relative_to_home(".local/share/checks_parser/settings.json"));
std::string path = get_path_relative_to_home(s.get_setting("stores_modules_dir"));//std::string(std::getenv("HOME")) + "/" + STORES_MODULES_DIR; std::string path = get_path_relative_to_home(s.get_setting("stores_modules_dir"));//std::string(std::getenv("HOME")) + "/" + STORES_MODULES_DIR;
std::filesystem::directory_entry modules_dir(path); filesystem::directory_entry modules_dir(path);
if (!modules_dir.exists()) { if (!exists(modules_dir)) {
std::filesystem::create_directories(path); filesystem::create_directories(path);
std::cout << "No modules directory found. Created one at " << path std::cout << "No modules directory found. Created one at " << path
<< std::endl; << std::endl;
std::cout << "Please, download modules to that directory from my git." std::cout << "Please, download modules to that directory from my git."
@ -23,7 +30,7 @@ std::vector<std::string> Parser::search_modules() {
std::vector<std::string> modules_files; std::vector<std::string> modules_files;
for (auto file : std::filesystem::directory_iterator(path)) { for (auto file : filesystem::directory_iterator(path)) {
modules_files.push_back(file.path()); modules_files.push_back(file.path());
} }
@ -67,12 +74,12 @@ std::vector<std::string> Parser::check_updates() {
std::vector<std::string> to_download; std::vector<std::string> to_download;
std::vector<std::string> stored_modules; std::vector<std::string> stored_modules;
std::filesystem::directory_entry modules_dir(path); filesystem::directory_entry modules_dir(path);
if (!modules_dir.exists()) { if (!exists(modules_dir)) {
std::filesystem::create_directories(path); filesystem::create_directories(path);
} }
for (const auto& file : std::filesystem::directory_iterator(path)) { for (const auto& file : filesystem::directory_iterator(path)) {
if (!file.is_regular_file()) continue; if (!is_regular_file(file)) continue;
stored_modules.push_back(file.path().filename()); stored_modules.push_back(file.path().filename());
std::cout << file.path().filename() << " detected store module" << std::endl; std::cout << file.path().filename() << " detected store module" << std::endl;
} }

View File

@ -1,14 +1,21 @@
#include "settings.h" #include "settings.h"
#include <filesystem>
#include <fstream> #include <fstream>
#include <nlohmann/json.hpp> #include <nlohmann/json.hpp>
#include <string> #include <string>
#include "../utils/utils.h" #include "../utils/utils.h"
#if __GNUC__ < 8
# include <experimental/filesystem>
using namespace std::experimental;
#else
# include <filesystem>
using std::filesystem;
#endif
Settings::Settings(std::string path) { Settings::Settings(std::string path) {
this->settings_file_path = path; this->settings_file_path = path;
if (!std::filesystem::exists(path)) { if (!filesystem::exists(path)) {
std::ofstream output(path); std::ofstream output(path);
nlohmann::json settings = R"({ nlohmann::json settings = R"({
@ -53,8 +60,8 @@ Settings::Settings(std::string path) {
this->settings = settings; this->settings = settings;
} }
std::filesystem::create_directories(get_path_relative_to_home(this->settings["ofds_modules_dir"])); filesystem::create_directories(get_path_relative_to_home(this->settings["ofds_modules_dir"]));
std::filesystem::create_directories(get_path_relative_to_home(this->settings["stores_modules_dir"])); filesystem::create_directories(get_path_relative_to_home(this->settings["stores_modules_dir"]));
} }
void Settings::write_setting(std::string setting, std::string value) { void Settings::write_setting(std::string setting, std::string value) {

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" language="en_US"> <TS version="2.1">
<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>Dialog</translation> <translation type="unfinished"></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>Please, zoom to qr code and adjust contrast so that qr code looks sharp</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../adjustpicturedialog.cpp" line="40"/> <location filename="../adjustpicturedialog.cpp" line="40"/>
<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>QR code was not detected on that image. Please edit it again or enter data manually</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../adjustpicturedialog.cpp" line="42"/> <location filename="../adjustpicturedialog.cpp" line="42"/>
<source>No QR code</source> <source>No QR code</source>
<translation>No QR code</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
@ -29,144 +29,135 @@
<message> <message>
<location filename="../mainwindow.ui" line="14"/> <location filename="../mainwindow.ui" line="14"/>
<source>MainWindow</source> <source>MainWindow</source>
<translation>Главное окно</translation> <translation type="unfinished"></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>Store type</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="50"/> <location filename="../mainwindow.ui" line="50"/>
<source>Parse</source> <source>Parse</source>
<translation>Parse</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="63"/> <location filename="../mainwindow.ui" line="63"/>
<source>Preferences</source> <source>Preferences</source>
<translation>Preferences</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="80"/> <location filename="../mainwindow.ui" line="80"/>
<source>Text</source> <source>Text</source>
<translation>Text</translation> <translation type="unfinished"></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>Check content</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="108"/> <location filename="../mainwindow.ui" line="108"/>
<source>OCR</source> <source>OCR</source>
<translatorcomment>OCR = Optical Character Recognition</translatorcomment> <translation type="unfinished"></translation>
<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>Choose</translation> <translation type="unfinished"></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>Path to image: </translation> <translation type="unfinished"></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>Here is recognised check text. Please, edit it if something&apos;s wrong:</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="175"/> <location filename="../mainwindow.ui" line="175"/>
<source>OFD</source> <source>OFD</source>
<translatorcomment>OFD = Оператор Фискальных Данных</translatorcomment> <translation type="unfinished"></translation>
<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>0000000000000000</translation> <translation type="unfinished"></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>
<translatorcomment>FN = Фискальный Номер</translatorcomment> <translation type="unfinished"></translation>
<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>
<translatorcomment>FD = Фискальный Документ</translatorcomment> <translation type="unfinished"></translation>
<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>000000000</translation> <translation type="unfinished"></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>
<translatorcomment>FI = Фискальный Признак</translatorcomment> <translation type="unfinished"></translation>
<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>
<translatorcomment>Приход средств</translatorcomment> <translation type="unfinished"></translation>
<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>
<translatorcomment>Возврат средств</translatorcomment> <translation type="unfinished"></translation>
<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>
<translatorcomment>Расход средств</translatorcomment> <translation type="unfinished"></translation>
<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>
<translatorcomment>Возврат расхода</translatorcomment> <translation type="unfinished"></translation>
<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>Total</translation> <translation type="unfinished"></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>checks parser</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="94"/> <location filename="../mainwindow.cpp" line="94"/>
<source>Captcha was not solved correctly!</source> <source>Captcha was not solved correctly!</source>
<translation>Captcha was not solved correctly!</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="96"/> <location filename="../mainwindow.cpp" line="96"/>
<source>Captcha is incorrect</source> <source>Captcha is incorrect</source>
<translation>Captcha is incorrect</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="101"/> <location filename="../mainwindow.cpp" line="101"/>
<source>Check not found. Please, ensure correctness of entered data.</source> <source>Check not found. Please, ensure correctness of entered data.</source>
<translation>Check not found. Please, ensure correctness of entered data.</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="103"/> <location filename="../mainwindow.cpp" line="103"/>
<source>Check was not found</source> <source>Check was not found</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
@ -174,112 +165,112 @@
<message> <message>
<location filename="../outputdialog.ui" line="14"/> <location filename="../outputdialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation>Dialog</translation> <translation type="unfinished"></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>Path to export: </translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="55"/> <location filename="../outputdialog.ui" line="55"/>
<source>Choose</source> <source>Choose</source>
<translation>Choose</translation> <translation type="unfinished"></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>Print header</translation> <translation type="unfinished"></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>Goods name</translation> <translation type="unfinished"></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>Goods price</translation> <translation type="unfinished"></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>Goods quality</translation> <translation type="unfinished"></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>Goods net weight</translation> <translation type="unfinished"></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>Goods total</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="107"/> <location filename="../outputdialog.ui" line="107"/>
<source>position</source> <source>position</source>
<translation>position</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="112"/> <location filename="../outputdialog.ui" line="112"/>
<source>name</source> <source>name</source>
<translation>name</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="117"/> <location filename="../outputdialog.ui" line="117"/>
<source>1</source> <source>1</source>
<translation>1</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="122"/> <location filename="../outputdialog.ui" line="122"/>
<source>Name</source> <source>Name</source>
<translation>Name</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="127"/> <location filename="../outputdialog.ui" line="127"/>
<source>2</source> <source>2</source>
<translation>2</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="132"/> <location filename="../outputdialog.ui" line="132"/>
<source>Price</source> <source>Price</source>
<translation>Price</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="137"/> <location filename="../outputdialog.ui" line="137"/>
<source>3</source> <source>3</source>
<translation>3</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="142"/> <location filename="../outputdialog.ui" line="142"/>
<source>Quantity</source> <source>Quantity</source>
<translation>Quantity</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="147"/> <location filename="../outputdialog.ui" line="147"/>
<source>4</source> <source>4</source>
<translation>4</translation> <translation type="unfinished"></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>Net Weight</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="157"/> <location filename="../outputdialog.ui" line="157"/>
<source>5</source> <source>5</source>
<translation>5</translation> <translation type="unfinished"></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>Total price</translation> <translation type="unfinished"></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>Print total</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
@ -287,17 +278,17 @@
<message> <message>
<location filename="../solvecaptchadialog.ui" line="14"/> <location filename="../solvecaptchadialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation>Dialog</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../solvecaptchadialog.cpp" line="22"/> <location filename="../solvecaptchadialog.cpp" line="22"/>
<source>Please, enter a valid captcha</source> <source>Please, enter a valid captcha</source>
<translation>Please, enter a valid captcha</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../solvecaptchadialog.cpp" line="24"/> <location filename="../solvecaptchadialog.cpp" line="24"/>
<source>No captcha</source> <source>No captcha</source>
<translation>No captcha</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
@ -305,93 +296,93 @@
<message> <message>
<location filename="../settingsdialog.ui" line="14"/> <location filename="../settingsdialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation>Dialog</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="72"/> <location filename="../settingsdialog.ui" line="72"/>
<source>Goods name position</source> <source>Goods name position</source>
<translation>Goods name position</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="79"/> <location filename="../settingsdialog.ui" line="79"/>
<source>Goods price per unit alias</source> <source>Goods price per unit alias</source>
<translation>Goods price per unit alias</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="86"/> <location filename="../settingsdialog.ui" line="86"/>
<location filename="../settingsdialog.ui" line="217"/> <location filename="../settingsdialog.ui" line="217"/>
<source>Choose</source> <source>Choose</source>
<translation>Choose</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="96"/> <location filename="../settingsdialog.ui" line="96"/>
<source>Print header</source> <source>Print header</source>
<translation>Print header</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="103"/> <location filename="../settingsdialog.ui" line="103"/>
<source>Goods net weight alias</source> <source>Goods net weight alias</source>
<translation>Goods net weight alias</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="110"/> <location filename="../settingsdialog.ui" line="110"/>
<source>Stores modules url</source> <source>Stores modules url</source>
<translation>Stores modules url</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="120"/> <location filename="../settingsdialog.ui" line="120"/>
<source>Goods total alias</source> <source>Goods total alias</source>
<translation>Goods total alias</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="127"/> <location filename="../settingsdialog.ui" line="127"/>
<source>Goods name alias</source> <source>Goods name alias</source>
<translation>Goods name alias</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="137"/> <location filename="../settingsdialog.ui" line="137"/>
<source>Goods quantity alias</source> <source>Goods quantity alias</source>
<translation>Goods quantity alias</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="144"/> <location filename="../settingsdialog.ui" line="144"/>
<source>Stores modules directory</source> <source>Stores modules directory</source>
<translation>Stores modules directory</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="157"/> <location filename="../settingsdialog.ui" line="157"/>
<source>OFD modules directory</source> <source>OFD modules directory</source>
<translation>OFD modules directory</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="173"/> <location filename="../settingsdialog.ui" line="173"/>
<source>Goods price per unit position</source> <source>Goods price per unit position</source>
<translation>Goods price per unit position</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="180"/> <location filename="../settingsdialog.ui" line="180"/>
<source>Goods net weight position</source> <source>Goods net weight position</source>
<translation>Goods net weight position</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="187"/> <location filename="../settingsdialog.ui" line="187"/>
<source>OFD modules url</source> <source>OFD modules url</source>
<translation>OFD modules url</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="197"/> <location filename="../settingsdialog.ui" line="197"/>
<source>Goods total position</source> <source>Goods total position</source>
<translation>Goods total position</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="204"/> <location filename="../settingsdialog.ui" line="204"/>
<source>Goods quantity position</source> <source>Goods quantity position</source>
<translation>Goods quantity position</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="227"/> <location filename="../settingsdialog.ui" line="227"/>
<source>Print total</source> <source>Print total</source>
<translation>Print total</translation> <translation type="unfinished"></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>Диалог</translation> <translation type="unfinished"></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>Пожалуйста, приблизьте QR код и настройте контраст, чтобы он читался</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../adjustpicturedialog.cpp" line="40"/> <location filename="../adjustpicturedialog.cpp" line="40"/>
<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>QR код не найден на этом изображении. Пожалуйста, попытайтесь снова или введите данные вручную</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../adjustpicturedialog.cpp" line="42"/> <location filename="../adjustpicturedialog.cpp" line="42"/>
<source>No QR code</source> <source>No QR code</source>
<translation>QR код не найден</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
@ -29,140 +29,135 @@
<message> <message>
<location filename="../mainwindow.ui" line="14"/> <location filename="../mainwindow.ui" line="14"/>
<source>MainWindow</source> <source>MainWindow</source>
<translation>ГлавноеОкно</translation> <translation type="unfinished"></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>Магазин</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="50"/> <location filename="../mainwindow.ui" line="50"/>
<source>Parse</source> <source>Parse</source>
<translation>Парсить</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="63"/> <location filename="../mainwindow.ui" line="63"/>
<source>Preferences</source> <source>Preferences</source>
<translation>Настройки</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="80"/> <location filename="../mainwindow.ui" line="80"/>
<source>Text</source> <source>Text</source>
<translation>Текст</translation> <translation type="unfinished"></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>Контент чека</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="108"/> <location filename="../mainwindow.ui" line="108"/>
<source>OCR</source> <source>OCR</source>
<translatorcomment>Оптическое Распознавание Символов</translatorcomment> <translation type="unfinished"></translation>
<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>Выбрать</translation> <translation type="unfinished"></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>Путь к изображению: </translation> <translation type="unfinished"></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>Ниже приведён распознанный текст. Пожалуйста, отредактируйте его:</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="175"/> <location filename="../mainwindow.ui" line="175"/>
<source>OFD</source> <source>OFD</source>
<translatorcomment>Оператор Фискальных Данных</translatorcomment> <translation type="unfinished"></translation>
<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>0000000000000000</translation> <translation type="unfinished"></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>
<translatorcomment>Фискальный Норма</translatorcomment> <translation type="unfinished"></translation>
<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>
<translatorcomment>Фискальный Документ</translatorcomment> <translation type="unfinished"></translation>
<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>000000000</translation> <translation type="unfinished"></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>
<translatorcomment>Фискальный Признак</translatorcomment> <translation type="unfinished"></translation>
<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>Приход средств</translation> <translation type="unfinished"></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>Возврат средств</translation> <translation type="unfinished"></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>Расход средств</translation> <translation type="unfinished"></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>Возврат расхода</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="375"/> <location filename="../mainwindow.ui" line="375"/>
<source>Total</source> <source>Total</source>
<translation>Итого</translation> <translation type="unfinished"></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>Парсер чеков</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="94"/> <location filename="../mainwindow.cpp" line="94"/>
<source>Captcha was not solved correctly!</source> <source>Captcha was not solved correctly!</source>
<translation>Капча была решена неверно!</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="96"/> <location filename="../mainwindow.cpp" line="96"/>
<source>Captcha is incorrect</source> <source>Captcha is incorrect</source>
<translation>Капча введена неверно</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="101"/> <location filename="../mainwindow.cpp" line="101"/>
<source>Check not found. Please, ensure correctness of entered data.</source> <source>Check not found. Please, ensure correctness of entered data.</source>
<translation>Чек не найден. Пожалуйста, убедитесь в правильности введённых данных.</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="103"/> <location filename="../mainwindow.cpp" line="103"/>
<source>Check was not found</source> <source>Check was not found</source>
<translation>Чек не найден</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
@ -170,112 +165,112 @@
<message> <message>
<location filename="../outputdialog.ui" line="14"/> <location filename="../outputdialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation>Диалог</translation> <translation type="unfinished"></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>Путь для экспорта: </translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="55"/> <location filename="../outputdialog.ui" line="55"/>
<source>Choose</source> <source>Choose</source>
<translation>Выбрать</translation> <translation type="unfinished"></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>Печатать заголовок</translation> <translation type="unfinished"></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>Имя товара</translation> <translation type="unfinished"></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>Цена товара</translation> <translation type="unfinished"></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>Количество товара</translation> <translation type="unfinished"></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>Масса нетто товара</translation> <translation type="unfinished"></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>Всего за товар</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="107"/> <location filename="../outputdialog.ui" line="107"/>
<source>position</source> <source>position</source>
<translation>позиция</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="112"/> <location filename="../outputdialog.ui" line="112"/>
<source>name</source> <source>name</source>
<translation>алиас</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="117"/> <location filename="../outputdialog.ui" line="117"/>
<source>1</source> <source>1</source>
<translation>1</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="122"/> <location filename="../outputdialog.ui" line="122"/>
<source>Name</source> <source>Name</source>
<translation>Имя</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="127"/> <location filename="../outputdialog.ui" line="127"/>
<source>2</source> <source>2</source>
<translation>2</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="132"/> <location filename="../outputdialog.ui" line="132"/>
<source>Price</source> <source>Price</source>
<translation>Цена</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="137"/> <location filename="../outputdialog.ui" line="137"/>
<source>3</source> <source>3</source>
<translation>3</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="142"/> <location filename="../outputdialog.ui" line="142"/>
<source>Quantity</source> <source>Quantity</source>
<translation>Количество</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="147"/> <location filename="../outputdialog.ui" line="147"/>
<source>4</source> <source>4</source>
<translation>4</translation> <translation type="unfinished"></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>Масса нетто</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../outputdialog.ui" line="157"/> <location filename="../outputdialog.ui" line="157"/>
<source>5</source> <source>5</source>
<translation>5</translation> <translation type="unfinished"></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>Всего</translation> <translation type="unfinished"></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>Печатать Итого</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
@ -283,17 +278,17 @@
<message> <message>
<location filename="../solvecaptchadialog.ui" line="14"/> <location filename="../solvecaptchadialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation>Диалог</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../solvecaptchadialog.cpp" line="22"/> <location filename="../solvecaptchadialog.cpp" line="22"/>
<source>Please, enter a valid captcha</source> <source>Please, enter a valid captcha</source>
<translation>Пожалуйста, введите верную капчу</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../solvecaptchadialog.cpp" line="24"/> <location filename="../solvecaptchadialog.cpp" line="24"/>
<source>No captcha</source> <source>No captcha</source>
<translation>Нет капчи</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
@ -301,93 +296,93 @@
<message> <message>
<location filename="../settingsdialog.ui" line="14"/> <location filename="../settingsdialog.ui" line="14"/>
<source>Dialog</source> <source>Dialog</source>
<translation>Диалог</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="72"/> <location filename="../settingsdialog.ui" line="72"/>
<source>Goods name position</source> <source>Goods name position</source>
<translation>Позиция имени товара</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="79"/> <location filename="../settingsdialog.ui" line="79"/>
<source>Goods price per unit alias</source> <source>Goods price per unit alias</source>
<translation>Алиас цены товара</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="86"/> <location filename="../settingsdialog.ui" line="86"/>
<location filename="../settingsdialog.ui" line="217"/> <location filename="../settingsdialog.ui" line="217"/>
<source>Choose</source> <source>Choose</source>
<translation>Выбрать</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="96"/> <location filename="../settingsdialog.ui" line="96"/>
<source>Print header</source> <source>Print header</source>
<translation>Печатать заголовок</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="103"/> <location filename="../settingsdialog.ui" line="103"/>
<source>Goods net weight alias</source> <source>Goods net weight alias</source>
<translation>Алиас массы нетто товара</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="110"/> <location filename="../settingsdialog.ui" line="110"/>
<source>Stores modules url</source> <source>Stores modules url</source>
<translation>URL модулей магазина</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="120"/> <location filename="../settingsdialog.ui" line="120"/>
<source>Goods total alias</source> <source>Goods total alias</source>
<translation>Алиас всего за продукт</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="127"/> <location filename="../settingsdialog.ui" line="127"/>
<source>Goods name alias</source> <source>Goods name alias</source>
<translation>Алиас имени товара</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="137"/> <location filename="../settingsdialog.ui" line="137"/>
<source>Goods quantity alias</source> <source>Goods quantity alias</source>
<translation>Алиас количества товара</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="144"/> <location filename="../settingsdialog.ui" line="144"/>
<source>Stores modules directory</source> <source>Stores modules directory</source>
<translation>Директория модулей магазина</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="157"/> <location filename="../settingsdialog.ui" line="157"/>
<source>OFD modules directory</source> <source>OFD modules directory</source>
<translation>Директория модулей ОФД</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="173"/> <location filename="../settingsdialog.ui" line="173"/>
<source>Goods price per unit position</source> <source>Goods price per unit position</source>
<translation>Позиция центы товара</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="180"/> <location filename="../settingsdialog.ui" line="180"/>
<source>Goods net weight position</source> <source>Goods net weight position</source>
<translation>Позиция массы нетто товара</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="187"/> <location filename="../settingsdialog.ui" line="187"/>
<source>OFD modules url</source> <source>OFD modules url</source>
<translation>URL модулей ОФД</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="197"/> <location filename="../settingsdialog.ui" line="197"/>
<source>Goods total position</source> <source>Goods total position</source>
<translation>Позиция всего за товар</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="204"/> <location filename="../settingsdialog.ui" line="204"/>
<source>Goods quantity position</source> <source>Goods quantity position</source>
<translation>Позиция количества товара</translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../settingsdialog.ui" line="227"/> <location filename="../settingsdialog.ui" line="227"/>
<source>Print total</source> <source>Print total</source>
<translation>Печатать Итого</translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
</TS> </TS>