ensured building on ubuntu 18.04
This commit is contained in:
		| @@ -1,4 +1,4 @@ | ||||
| cmake_minimum_required(VERSION 3.16) | ||||
| cmake_minimum_required(VERSION 3.10) | ||||
|  | ||||
| project(checks-parser VERSION 0.1 LANGUAGES CXX) | ||||
|  | ||||
| @@ -71,7 +71,6 @@ else() | ||||
|             settings/settings.h settings/settings.cpp | ||||
|             settingsdialog.h settingsdialog.cpp settingsdialog.ui | ||||
|             adjustpicturedialog.h adjustpicturedialog.cpp adjustpicturedialog.ui | ||||
|             imageview/imageview.h imageview/imageview.cpp | ||||
|             image_redactor/imageredactor.h image_redactor/imageredactor.cpp | ||||
|             solvecaptchadialog.h solvecaptchadialog.cpp solvecaptchadialog.ui | ||||
|             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 -lcurl) | ||||
| 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() | ||||
|   | ||||
| @@ -46,6 +46,7 @@ make -j{nproc} | ||||
| sudo make install | ||||
| ``` | ||||
| ##### 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 | ||||
| ### Windows  | ||||
| Maybe | ||||
|   | ||||
| @@ -5,7 +5,7 @@ | ||||
| #include <opencv2/imgproc.hpp> | ||||
| #include <string> | ||||
| #include <opencv2/core/mat.hpp> | ||||
| #include <QColorTransform> | ||||
| //#include <QColorTransform> | ||||
| #include <QFileDialog> | ||||
| #include <QMessageBox> | ||||
| #include <zbar.h> | ||||
| @@ -53,7 +53,6 @@ std::string AdjustPictureDialog::decode() { | ||||
|  | ||||
|     zbar::ImageScanner scanner; | ||||
|     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::cvtColor(im, imGray, cv::COLOR_BGR2GRAY); | ||||
|   | ||||
| @@ -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); | ||||
| } | ||||
| @@ -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 | ||||
							
								
								
									
										10
									
								
								main.cpp
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								main.cpp
									
									
									
									
									
								
							| @@ -5,7 +5,13 @@ | ||||
| #include <QApplication> | ||||
| #include <curl/curl.h> | ||||
| #include <iostream> | ||||
| #include <filesystem> | ||||
| #if __GNUC__ < 8 | ||||
| #	include <experimental/filesystem> | ||||
| 	using namespace std::experimental::filesystem; | ||||
| #else | ||||
| #	include <filesystem> | ||||
| 	using std::filesystem; | ||||
| #endif | ||||
| #include <fstream> | ||||
| #include <QTranslator> | ||||
|  | ||||
| @@ -25,7 +31,7 @@ int main(int argc, char *argv[]) { | ||||
|     curl_global_init(CURL_GLOBAL_ALL); | ||||
|  | ||||
|     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 = | ||||
|         get_path_relative_to_home(".local/share/checks_parser/settings.json"); | ||||
|   | ||||
| @@ -3,7 +3,11 @@ | ||||
|  | ||||
| #include <string> | ||||
| #include <vector> | ||||
| #include <filesystem> | ||||
| #if __GNUC__ < 8 | ||||
| #       include <experimental/filesystem> | ||||
| #else | ||||
| #       include <filesystem> | ||||
| #endif | ||||
| #include <iostream> | ||||
| #include <string> | ||||
| #include <vector> | ||||
|   | ||||
| @@ -3,18 +3,25 @@ | ||||
| #include "../net/net.h" | ||||
| #include "../settings/settings.h" | ||||
| #include "../utils/utils.h" | ||||
| #include <filesystem> | ||||
| #include <iostream> | ||||
|  | ||||
| #if __GNUC__ < 8 | ||||
| #       include <experimental/filesystem> | ||||
| 	using namespace std::experimental; | ||||
| #else | ||||
| #       include <filesystem> | ||||
| 	using std::filesystem; | ||||
| #endif | ||||
|  | ||||
| Parser::Parser() {} | ||||
|  | ||||
| std::vector<std::string> Parser::search_modules() { | ||||
|     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::filesystem::directory_entry modules_dir(path); | ||||
|     filesystem::directory_entry modules_dir(path); | ||||
|  | ||||
|     if (!modules_dir.exists()) { | ||||
|         std::filesystem::create_directories(path); | ||||
|     if (!exists(modules_dir)) { | ||||
|         filesystem::create_directories(path); | ||||
|         std::cout << "No modules directory found. Created one at " << path | ||||
|                   << std::endl; | ||||
|         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; | ||||
|  | ||||
|     for (auto file : std::filesystem::directory_iterator(path)) { | ||||
|     for (auto file : filesystem::directory_iterator(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> stored_modules; | ||||
|  | ||||
|     std::filesystem::directory_entry modules_dir(path); | ||||
|     if (!modules_dir.exists()) { | ||||
|         std::filesystem::create_directories(path); | ||||
|     filesystem::directory_entry modules_dir(path); | ||||
|     if (!exists(modules_dir)) { | ||||
|         filesystem::create_directories(path); | ||||
|     } | ||||
|     for (const auto& file : std::filesystem::directory_iterator(path)) { | ||||
|         if (!file.is_regular_file()) continue; | ||||
|     for (const auto& file : filesystem::directory_iterator(path)) { | ||||
|         if (!is_regular_file(file)) continue; | ||||
|         stored_modules.push_back(file.path().filename()); | ||||
|         std::cout << file.path().filename() << " detected store module" << std::endl; | ||||
|     } | ||||
|   | ||||
| @@ -1,14 +1,21 @@ | ||||
| #include "settings.h" | ||||
| #include <filesystem> | ||||
| #include <fstream> | ||||
| #include <nlohmann/json.hpp> | ||||
| #include <string> | ||||
| #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) { | ||||
|     this->settings_file_path = path; | ||||
|  | ||||
|     if (!std::filesystem::exists(path)) { | ||||
|     if (!filesystem::exists(path)) { | ||||
|         std::ofstream output(path); | ||||
|  | ||||
|         nlohmann::json settings = R"({ | ||||
| @@ -53,8 +60,8 @@ Settings::Settings(std::string path) { | ||||
|         this->settings = settings; | ||||
|     } | ||||
|  | ||||
|     std::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["ofds_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) { | ||||
|   | ||||
| @@ -1,27 +1,27 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!DOCTYPE TS> | ||||
| <TS version="2.1" language="en_US"> | ||||
| <TS version="2.1"> | ||||
| <context> | ||||
|     <name>AdjustPictureDialog</name> | ||||
|     <message> | ||||
|         <location filename="../adjustpicturedialog.ui" line="14"/> | ||||
|         <source>Dialog</source> | ||||
|         <translation>Dialog</translation> | ||||
|         <translation type="unfinished"></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>Please, zoom to qr code and adjust contrast so that qr code looks sharp</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../adjustpicturedialog.cpp" line="40"/> | ||||
|         <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> | ||||
|         <location filename="../adjustpicturedialog.cpp" line="42"/> | ||||
|         <source>No QR code</source> | ||||
|         <translation>No QR code</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
| </context> | ||||
| <context> | ||||
| @@ -29,144 +29,135 @@ | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="14"/> | ||||
|         <source>MainWindow</source> | ||||
|         <translation>Главное окно</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="37"/> | ||||
|         <source>Store type</source> | ||||
|         <translation>Store type</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="50"/> | ||||
|         <source>Parse</source> | ||||
|         <translation>Parse</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="63"/> | ||||
|         <source>Preferences</source> | ||||
|         <translation>Preferences</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="80"/> | ||||
|         <source>Text</source> | ||||
|         <translation>Text</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="92"/> | ||||
|         <source>Check content</source> | ||||
|         <translation>Check content</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="108"/> | ||||
|         <source>OCR</source> | ||||
|         <translatorcomment>OCR = Optical Character Recognition</translatorcomment> | ||||
|         <translation>OCR</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="120"/> | ||||
|         <location filename="../mainwindow.ui" line="213"/> | ||||
|         <source>Choose</source> | ||||
|         <translation>Choose</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="143"/> | ||||
|         <location filename="../mainwindow.ui" line="200"/> | ||||
|         <source>Path to image: </source> | ||||
|         <translation>Path to image: </translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="156"/> | ||||
|         <source>Here is recognised check text. Please, edit it if something's wrong:</source> | ||||
|         <translation>Here is recognised check text. Please, edit it if something's wrong:</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="175"/> | ||||
|         <source>OFD</source> | ||||
|         <translatorcomment>OFD = Оператор Фискальных Данных</translatorcomment> | ||||
|         <translation>OFD</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="226"/> | ||||
|         <source>0000000000000000</source> | ||||
|         <translation>0000000000000000</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="245"/> | ||||
|         <source>FN (Fiscal Number)</source> | ||||
|         <translatorcomment>FN = Фискальный Номер</translatorcomment> | ||||
|         <translation>FN (Fiscal Number)</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="264"/> | ||||
|         <source>FD (Fiscal Document)</source> | ||||
|         <translatorcomment>FD = Фискальный Документ</translatorcomment> | ||||
|         <translation>FD (Fiscal Document)</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="277"/> | ||||
|         <location filename="../mainwindow.ui" line="309"/> | ||||
|         <source>0000000000</source> | ||||
|         <translation>000000000</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="296"/> | ||||
|         <source>FI (Fiscal Identifier)</source> | ||||
|         <translatorcomment>FI = Фискальный Признак</translatorcomment> | ||||
|         <translation>FI (Fiscal Identifier)</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="333"/> | ||||
|         <source>Funds income</source> | ||||
|         <translatorcomment>Приход средств</translatorcomment> | ||||
|         <translation>Funds incode</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="338"/> | ||||
|         <source>Funds return</source> | ||||
|         <translatorcomment>Возврат средств</translatorcomment> | ||||
|         <translation>Funds return</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="343"/> | ||||
|         <source>Funds spend</source> | ||||
|         <translatorcomment>Расход средств</translatorcomment> | ||||
|         <translation>Funds spend</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="348"/> | ||||
|         <source>Spends return</source> | ||||
|         <translatorcomment>Возврат расхода</translatorcomment> | ||||
|         <translation>Spends return</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="375"/> | ||||
|         <source>Total</source> | ||||
|         <translation>Total</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="392"/> | ||||
|         <source>checks parser</source> | ||||
|         <translation>checks parser</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.cpp" line="94"/> | ||||
|         <source>Captcha was not solved correctly!</source> | ||||
|         <translation>Captcha was not solved correctly!</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.cpp" line="96"/> | ||||
|         <source>Captcha is incorrect</source> | ||||
|         <translation>Captcha is incorrect</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.cpp" line="101"/> | ||||
|         <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> | ||||
|         <location filename="../mainwindow.cpp" line="103"/> | ||||
|         <source>Check was not found</source> | ||||
|         <translation></translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
| </context> | ||||
| <context> | ||||
| @@ -174,112 +165,112 @@ | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="14"/> | ||||
|         <source>Dialog</source> | ||||
|         <translation>Dialog</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="42"/> | ||||
|         <source>Path to export: </source> | ||||
|         <translation>Path to export: </translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="55"/> | ||||
|         <source>Choose</source> | ||||
|         <translation>Choose</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="68"/> | ||||
|         <source>Print header</source> | ||||
|         <translation>Print header</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="82"/> | ||||
|         <source>Goods name</source> | ||||
|         <translation>Goods name</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="87"/> | ||||
|         <source>Goods price</source> | ||||
|         <translation>Goods price</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="92"/> | ||||
|         <source>Goods quantity</source> | ||||
|         <translation>Goods quality</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="97"/> | ||||
|         <source>Goods net weight</source> | ||||
|         <translation>Goods net weight</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="102"/> | ||||
|         <source>Goods total</source> | ||||
|         <translation>Goods total</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="107"/> | ||||
|         <source>position</source> | ||||
|         <translation>position</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="112"/> | ||||
|         <source>name</source> | ||||
|         <translation>name</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="117"/> | ||||
|         <source>1</source> | ||||
|         <translation>1</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="122"/> | ||||
|         <source>Name</source> | ||||
|         <translation>Name</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="127"/> | ||||
|         <source>2</source> | ||||
|         <translation>2</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="132"/> | ||||
|         <source>Price</source> | ||||
|         <translation>Price</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="137"/> | ||||
|         <source>3</source> | ||||
|         <translation>3</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="142"/> | ||||
|         <source>Quantity</source> | ||||
|         <translation>Quantity</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="147"/> | ||||
|         <source>4</source> | ||||
|         <translation>4</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="152"/> | ||||
|         <source>Net weight</source> | ||||
|         <translation>Net Weight</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="157"/> | ||||
|         <source>5</source> | ||||
|         <translation>5</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="162"/> | ||||
|         <source>Total price</source> | ||||
|         <translation>Total price</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="176"/> | ||||
|         <source>Print total</source> | ||||
|         <translation>Print total</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
| </context> | ||||
| <context> | ||||
| @@ -287,17 +278,17 @@ | ||||
|     <message> | ||||
|         <location filename="../solvecaptchadialog.ui" line="14"/> | ||||
|         <source>Dialog</source> | ||||
|         <translation>Dialog</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../solvecaptchadialog.cpp" line="22"/> | ||||
|         <source>Please, enter a valid captcha</source> | ||||
|         <translation>Please, enter a valid captcha</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../solvecaptchadialog.cpp" line="24"/> | ||||
|         <source>No captcha</source> | ||||
|         <translation>No captcha</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
| </context> | ||||
| <context> | ||||
| @@ -305,93 +296,93 @@ | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="14"/> | ||||
|         <source>Dialog</source> | ||||
|         <translation>Dialog</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="72"/> | ||||
|         <source>Goods name position</source> | ||||
|         <translation>Goods name position</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="79"/> | ||||
|         <source>Goods price per unit alias</source> | ||||
|         <translation>Goods price per unit alias</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="86"/> | ||||
|         <location filename="../settingsdialog.ui" line="217"/> | ||||
|         <source>Choose</source> | ||||
|         <translation>Choose</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="96"/> | ||||
|         <source>Print header</source> | ||||
|         <translation>Print header</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="103"/> | ||||
|         <source>Goods net weight alias</source> | ||||
|         <translation>Goods net weight alias</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="110"/> | ||||
|         <source>Stores modules url</source> | ||||
|         <translation>Stores modules url</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="120"/> | ||||
|         <source>Goods total alias</source> | ||||
|         <translation>Goods total alias</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="127"/> | ||||
|         <source>Goods name alias</source> | ||||
|         <translation>Goods name alias</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="137"/> | ||||
|         <source>Goods quantity alias</source> | ||||
|         <translation>Goods quantity alias</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="144"/> | ||||
|         <source>Stores modules directory</source> | ||||
|         <translation>Stores modules directory</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="157"/> | ||||
|         <source>OFD modules directory</source> | ||||
|         <translation>OFD modules directory</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="173"/> | ||||
|         <source>Goods price per unit position</source> | ||||
|         <translation>Goods price per unit position</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="180"/> | ||||
|         <source>Goods net weight position</source> | ||||
|         <translation>Goods net weight position</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="187"/> | ||||
|         <source>OFD modules url</source> | ||||
|         <translation>OFD modules url</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="197"/> | ||||
|         <source>Goods total position</source> | ||||
|         <translation>Goods total position</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="204"/> | ||||
|         <source>Goods quantity position</source> | ||||
|         <translation>Goods quantity position</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="227"/> | ||||
|         <source>Print total</source> | ||||
|         <translation>Print total</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
| </context> | ||||
| </TS> | ||||
|   | ||||
| @@ -6,22 +6,22 @@ | ||||
|     <message> | ||||
|         <location filename="../adjustpicturedialog.ui" line="14"/> | ||||
|         <source>Dialog</source> | ||||
|         <translation>Диалог</translation> | ||||
|         <translation type="unfinished"></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>Пожалуйста, приблизьте QR код и настройте контраст, чтобы он читался</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../adjustpicturedialog.cpp" line="40"/> | ||||
|         <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> | ||||
|         <location filename="../adjustpicturedialog.cpp" line="42"/> | ||||
|         <source>No QR code</source> | ||||
|         <translation>QR код не найден</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
| </context> | ||||
| <context> | ||||
| @@ -29,140 +29,135 @@ | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="14"/> | ||||
|         <source>MainWindow</source> | ||||
|         <translation>ГлавноеОкно</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="37"/> | ||||
|         <source>Store type</source> | ||||
|         <translation>Магазин</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="50"/> | ||||
|         <source>Parse</source> | ||||
|         <translation>Парсить</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="63"/> | ||||
|         <source>Preferences</source> | ||||
|         <translation>Настройки</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="80"/> | ||||
|         <source>Text</source> | ||||
|         <translation>Текст</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="92"/> | ||||
|         <source>Check content</source> | ||||
|         <translation>Контент чека</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="108"/> | ||||
|         <source>OCR</source> | ||||
|         <translatorcomment>Оптическое Распознавание Символов</translatorcomment> | ||||
|         <translation>ОСР</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="120"/> | ||||
|         <location filename="../mainwindow.ui" line="213"/> | ||||
|         <source>Choose</source> | ||||
|         <translation>Выбрать</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="143"/> | ||||
|         <location filename="../mainwindow.ui" line="200"/> | ||||
|         <source>Path to image: </source> | ||||
|         <translation>Путь к изображению: </translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="156"/> | ||||
|         <source>Here is recognised check text. Please, edit it if something's wrong:</source> | ||||
|         <translation>Ниже приведён распознанный текст. Пожалуйста, отредактируйте его:</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="175"/> | ||||
|         <source>OFD</source> | ||||
|         <translatorcomment>Оператор Фискальных Данных</translatorcomment> | ||||
|         <translation>ОФД</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="226"/> | ||||
|         <source>0000000000000000</source> | ||||
|         <translation>0000000000000000</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="245"/> | ||||
|         <source>FN (Fiscal Number)</source> | ||||
|         <translatorcomment>Фискальный Норма</translatorcomment> | ||||
|         <translation>ФН</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="264"/> | ||||
|         <source>FD (Fiscal Document)</source> | ||||
|         <translatorcomment>Фискальный Документ</translatorcomment> | ||||
|         <translation>ФД</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="277"/> | ||||
|         <location filename="../mainwindow.ui" line="309"/> | ||||
|         <source>0000000000</source> | ||||
|         <translation>000000000</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="296"/> | ||||
|         <source>FI (Fiscal Identifier)</source> | ||||
|         <translatorcomment>Фискальный Признак</translatorcomment> | ||||
|         <translation>ФП</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="333"/> | ||||
|         <source>Funds income</source> | ||||
|         <translation>Приход средств</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="338"/> | ||||
|         <source>Funds return</source> | ||||
|         <translation>Возврат средств</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="343"/> | ||||
|         <source>Funds spend</source> | ||||
|         <translation>Расход средств</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="348"/> | ||||
|         <source>Spends return</source> | ||||
|         <translation>Возврат расхода</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="375"/> | ||||
|         <source>Total</source> | ||||
|         <translation>Итого</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.ui" line="392"/> | ||||
|         <source>checks parser</source> | ||||
|         <translation>Парсер чеков</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.cpp" line="94"/> | ||||
|         <source>Captcha was not solved correctly!</source> | ||||
|         <translation>Капча была решена неверно!</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.cpp" line="96"/> | ||||
|         <source>Captcha is incorrect</source> | ||||
|         <translation>Капча введена неверно</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.cpp" line="101"/> | ||||
|         <source>Check not found. Please, ensure correctness of entered data.</source> | ||||
|         <translation>Чек не найден. Пожалуйста, убедитесь в правильности введённых данных.</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../mainwindow.cpp" line="103"/> | ||||
|         <source>Check was not found</source> | ||||
|         <translation>Чек не найден</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
| </context> | ||||
| <context> | ||||
| @@ -170,112 +165,112 @@ | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="14"/> | ||||
|         <source>Dialog</source> | ||||
|         <translation>Диалог</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="42"/> | ||||
|         <source>Path to export: </source> | ||||
|         <translation>Путь для экспорта: </translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="55"/> | ||||
|         <source>Choose</source> | ||||
|         <translation>Выбрать</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="68"/> | ||||
|         <source>Print header</source> | ||||
|         <translation>Печатать заголовок</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="82"/> | ||||
|         <source>Goods name</source> | ||||
|         <translation>Имя товара</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="87"/> | ||||
|         <source>Goods price</source> | ||||
|         <translation>Цена товара</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="92"/> | ||||
|         <source>Goods quantity</source> | ||||
|         <translation>Количество товара</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="97"/> | ||||
|         <source>Goods net weight</source> | ||||
|         <translation>Масса нетто товара</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="102"/> | ||||
|         <source>Goods total</source> | ||||
|         <translation>Всего за товар</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="107"/> | ||||
|         <source>position</source> | ||||
|         <translation>позиция</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="112"/> | ||||
|         <source>name</source> | ||||
|         <translation>алиас</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="117"/> | ||||
|         <source>1</source> | ||||
|         <translation>1</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="122"/> | ||||
|         <source>Name</source> | ||||
|         <translation>Имя</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="127"/> | ||||
|         <source>2</source> | ||||
|         <translation>2</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="132"/> | ||||
|         <source>Price</source> | ||||
|         <translation>Цена</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="137"/> | ||||
|         <source>3</source> | ||||
|         <translation>3</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="142"/> | ||||
|         <source>Quantity</source> | ||||
|         <translation>Количество</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="147"/> | ||||
|         <source>4</source> | ||||
|         <translation>4</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="152"/> | ||||
|         <source>Net weight</source> | ||||
|         <translation>Масса нетто</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="157"/> | ||||
|         <source>5</source> | ||||
|         <translation>5</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="162"/> | ||||
|         <source>Total price</source> | ||||
|         <translation>Всего</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../outputdialog.ui" line="176"/> | ||||
|         <source>Print total</source> | ||||
|         <translation>Печатать Итого</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
| </context> | ||||
| <context> | ||||
| @@ -283,17 +278,17 @@ | ||||
|     <message> | ||||
|         <location filename="../solvecaptchadialog.ui" line="14"/> | ||||
|         <source>Dialog</source> | ||||
|         <translation>Диалог</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../solvecaptchadialog.cpp" line="22"/> | ||||
|         <source>Please, enter a valid captcha</source> | ||||
|         <translation>Пожалуйста, введите верную капчу</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../solvecaptchadialog.cpp" line="24"/> | ||||
|         <source>No captcha</source> | ||||
|         <translation>Нет капчи</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
| </context> | ||||
| <context> | ||||
| @@ -301,93 +296,93 @@ | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="14"/> | ||||
|         <source>Dialog</source> | ||||
|         <translation>Диалог</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="72"/> | ||||
|         <source>Goods name position</source> | ||||
|         <translation>Позиция имени товара</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="79"/> | ||||
|         <source>Goods price per unit alias</source> | ||||
|         <translation>Алиас цены товара</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="86"/> | ||||
|         <location filename="../settingsdialog.ui" line="217"/> | ||||
|         <source>Choose</source> | ||||
|         <translation>Выбрать</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="96"/> | ||||
|         <source>Print header</source> | ||||
|         <translation>Печатать заголовок</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="103"/> | ||||
|         <source>Goods net weight alias</source> | ||||
|         <translation>Алиас массы нетто товара</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="110"/> | ||||
|         <source>Stores modules url</source> | ||||
|         <translation>URL модулей магазина</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="120"/> | ||||
|         <source>Goods total alias</source> | ||||
|         <translation>Алиас всего за продукт</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="127"/> | ||||
|         <source>Goods name alias</source> | ||||
|         <translation>Алиас имени товара</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="137"/> | ||||
|         <source>Goods quantity alias</source> | ||||
|         <translation>Алиас количества товара</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="144"/> | ||||
|         <source>Stores modules directory</source> | ||||
|         <translation>Директория модулей магазина</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="157"/> | ||||
|         <source>OFD modules directory</source> | ||||
|         <translation>Директория модулей ОФД</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="173"/> | ||||
|         <source>Goods price per unit position</source> | ||||
|         <translation>Позиция центы товара</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="180"/> | ||||
|         <source>Goods net weight position</source> | ||||
|         <translation>Позиция массы нетто товара</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="187"/> | ||||
|         <source>OFD modules url</source> | ||||
|         <translation>URL модулей ОФД</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="197"/> | ||||
|         <source>Goods total position</source> | ||||
|         <translation>Позиция всего за товар</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="204"/> | ||||
|         <source>Goods quantity position</source> | ||||
|         <translation>Позиция количества товара</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../settingsdialog.ui" line="227"/> | ||||
|         <source>Print total</source> | ||||
|         <translation>Печатать Итого</translation> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
| </context> | ||||
| </TS> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user