all ui translated to Latvian

This commit is contained in:
jorenchik
2024-11-03 11:16:55 +02:00
parent 8e6b3f7f96
commit 73c37659cb
5 changed files with 93 additions and 96 deletions

View File

@@ -294,7 +294,7 @@ void updateMdemInfo(std::string filename, bool isChanged) {
std::tm* tm = std::localtime(&currentMdemBuffer->trainedAt); std::tm* tm = std::localtime(&currentMdemBuffer->trainedAt);
char buffer[100]; char buffer[100];
std::strftime(buffer, sizeof(buffer), "%d.%m.%Y %H:%M", tm); std::strftime(buffer, sizeof(buffer), "%d.%m.%Y %H:%M", tm);
ss << "Last practiced: " << std::string(buffer); ss << "Pēdējā mācīšanās reize: " << std::string(buffer);
} }
lastPracticeLabel->setText(QString::fromStdString(ss.str())); lastPracticeLabel->setText(QString::fromStdString(ss.str()));
} else { } else {
@@ -330,7 +330,7 @@ Mdem* makeMdem() {
mdem->hFront.addWidget(&mdem->wFrontText); mdem->hFront.addWidget(&mdem->wFrontText);
mdem->hFront.addStretch(1); mdem->hFront.addStretch(1);
mdem->editButton.setText("Edit"); mdem->editButton.setText("Rediģēt");
QObject::connect( QObject::connect(
&mdem->editButton, &mdem->editButton,
&QToolButton::clicked, &QToolButton::clicked,
@@ -349,7 +349,7 @@ Mdem* makeMdem() {
); );
mdem->hFront.addWidget(&mdem->editButton); mdem->hFront.addWidget(&mdem->editButton);
mdem->deleteButton.setText("Delete"); mdem->deleteButton.setText("Dzēst");
QObject::connect( QObject::connect(
&mdem->deleteButton, &mdem->deleteButton,
&QToolButton::clicked, &QToolButton::clicked,
@@ -375,7 +375,7 @@ Mdem* makeMdem() {
); );
mdem->hFront.addWidget(&mdem->deleteButton); mdem->hFront.addWidget(&mdem->deleteButton);
mdem->toggleVisibility.setText("Show"); mdem->toggleVisibility.setText("Parādīt");
mdem->hFront.addWidget(&mdem->toggleVisibility); mdem->hFront.addWidget(&mdem->toggleVisibility);
// Back // Back
@@ -403,10 +403,10 @@ Mdem* makeMdem() {
QObject::connect(&mdem->toggleVisibility, &QToolButton::clicked, [mdem]() { QObject::connect(&mdem->toggleVisibility, &QToolButton::clicked, [mdem]() {
if (mdem->wBack.isVisible()) { if (mdem->wBack.isVisible()) {
mdem->wBack.hide(); mdem->wBack.hide();
mdem->toggleVisibility.setText("Show"); mdem->toggleVisibility.setText("Parādīt");
} else { } else {
mdem->wBack.show(); mdem->wBack.show();
mdem->toggleVisibility.setText("Hide"); mdem->toggleVisibility.setText("Slēpt");
} }
showBacklabels(mdem); showBacklabels(mdem);
}); });
@@ -464,14 +464,14 @@ void switchPage(int pageIdx) {
int l = 0; int l = 0;
char buffer[50]; char buffer[50];
snprintf(buffer, sizeof(buffer), "Page: %d", pageIdx + 1); snprintf(buffer, sizeof(buffer), "Lappuse: %d", pageIdx + 1);
pagination->paginationLabel.setText(buffer); pagination->paginationLabel.setText(buffer);
// Adjust mdem amount, hide widgets in mdems // Adjust mdem amount, hide widgets in mdems
for (auto& mdem : mdems) { for (auto& mdem : mdems) {
if (mdem->wBack.isVisible()) { if (mdem->wBack.isVisible()) {
mdem->wBack.hide(); mdem->wBack.hide();
mdem->toggleVisibility.setText("Show"); mdem->toggleVisibility.setText("Parādīt");
} }
} }
@@ -598,7 +598,7 @@ void reloadMdem(std::string path) {
end = std::chrono::high_resolution_clock::now(); end = std::chrono::high_resolution_clock::now();
showTimes = settings->value(SETTING_SHOW_TIMES).toBool(); showTimes = settings->value(SETTING_SHOW_TIMES).toBool();
if (showTimes) { if (showTimes) {
std::cout << showTime("I/O time") << std::endl; std::cout << showTime("I/O laiks") << std::endl;
} }
debug = settings->value(SETTING_DEBUG).toBool(); debug = settings->value(SETTING_DEBUG).toBool();
auto res = transpile(content); auto res = transpile(content);
@@ -613,7 +613,7 @@ void reloadMdem(std::string path) {
} }
if (settings->value(SETTING_DEBUG).toBool()) { if (settings->value(SETTING_DEBUG).toBool()) {
std::cout << std::format("Last trained at: {}", currentMdemBuffer->trainedAt) std::cout << std::format("Pēdējās mācīšanās reize: {}", currentMdemBuffer->trainedAt)
<< std::endl; << std::endl;
} }
@@ -621,7 +621,7 @@ void reloadMdem(std::string path) {
errorView->box.hide(); errorView->box.hide();
} else { } else {
currentMdemBuffer->trainedAt = 0; currentMdemBuffer->trainedAt = 0;
std::cout << std::format("Compilation error: {}", res.error) << std::endl; std::cout << std::format("Transpilācijas kļūda: {}", res.error) << std::endl;
for (auto question: res.value.questions) { for (auto question: res.value.questions) {
delete question; delete question;
@@ -632,7 +632,7 @@ void reloadMdem(std::string path) {
errorView->label.setText( errorView->label.setText(
QString::fromStdString( QString::fromStdString(
std::format( std::format(
"Error while transpiling {}: {} ({}:{})", "Kļūda, transpilējot {}: {} ({}:{})",
filename, filename,
res.error, res.error,
res.row, res.row,
@@ -649,12 +649,12 @@ void reloadMdem(std::string path) {
switchPage(0); switchPage(0);
updateMdemInfo(filename, false); updateMdemInfo(filename, false);
} else { } else {
std::cout << std::format("Could not open the file: {}", currentPath.toStdString()) << std::endl; std::cout << std::format("Nevar atvert failu: {}", currentPath.toStdString()) << std::endl;
} }
for (auto mdem: mdems) { for (auto mdem: mdems) {
mdem->wBack.hide(); mdem->wBack.hide();
mdem->toggleVisibility.setText("Show"); mdem->toggleVisibility.setText("Parādīt");
} }
hideQuestionElements(); hideQuestionElements();
} }
@@ -669,7 +669,7 @@ void pickDirectory(QString directory) {
QMessageBox::information( QMessageBox::information(
nullptr, nullptr,
"Error", "Error",
"The directory that is specified as the default memorybase does not exist." "Direktorijs, kas ir norādīts kā noklusētais, neeksistē."
); );
return; return;
} }
@@ -706,7 +706,7 @@ void setupEditorSave() {
} }
QMessageBox::information( QMessageBox::information(
nullptr, nullptr,
"Editing error", "Rediģēšanas kļūda",
QString::fromStdString(res.error) QString::fromStdString(res.error)
); );
} else { } else {
@@ -714,8 +714,8 @@ void setupEditorSave() {
if (res.value.questions.size() <= 0) { if (res.value.questions.size() <= 0) {
QMessageBox::information( QMessageBox::information(
nullptr, nullptr,
"Editing error", "Rediģēšanas kļūda",
"There are no questions in your input." "Jūsu ievadē nav jautājumu."
); );
} else if (res.value.questions.size() == 1) { } else if (res.value.questions.size() == 1) {
auto oldQuestion = editMdem->question; auto oldQuestion = editMdem->question;
@@ -735,16 +735,16 @@ void setupEditorSave() {
} else { } else {
QMessageBox::information( QMessageBox::information(
nullptr, nullptr,
"Editing error", "Rediģēšanas kļūda",
"There are more than question in your input. Please enter one." "Jūsu ievadē ir vairāki jautājumi. Lūdzu ievadiet vienu!"
); );
} }
} else { } else {
if (res.value.questions.size() <= 0) { if (res.value.questions.size() <= 0) {
QMessageBox::information( QMessageBox::information(
nullptr, nullptr,
"Editing error", "Rediģēšanas kļūda",
"There are no questions in your input." "Jūsu ievadē nav jautājumu."
); );
} else { } else {
currentMdemBuffer->questions.insert( currentMdemBuffer->questions.insert(
@@ -772,7 +772,7 @@ void saveMdem() {
showTimes = settings->value(SETTING_SHOW_TIMES).toBool(); showTimes = settings->value(SETTING_SHOW_TIMES).toBool();
if (showTimes) { if (showTimes) {
std::cout << showTime("Saving time") << std::endl; std::cout << showTime("Saglabāšanas laiks") << std::endl;
} }
} }
@@ -804,8 +804,8 @@ QMainWindow *initMdemListWindow() {
QMenuBar *menuBar = new QMenuBar; QMenuBar *menuBar = new QMenuBar;
QFileDialog *fileDialog = new QFileDialog; QFileDialog *fileDialog = new QFileDialog;
QMenu *menu = new QMenu("File"); QMenu *menu = new QMenu("Fails");
actionOpen = menu->addAction("Open memorybase"); actionOpen = menu->addAction("Atvert memorybase");
QObject::connect( QObject::connect(
actionOpen, actionOpen,
&QAction::triggered, &QAction::triggered,
@@ -822,7 +822,7 @@ QMainWindow *initMdemListWindow() {
} }
); );
openSettings = menu->addAction("Settings"); openSettings = menu->addAction("Iestatījumi");
QObject::connect( QObject::connect(
openSettings, openSettings,
&QAction::triggered, &QAction::triggered,
@@ -830,7 +830,7 @@ QMainWindow *initMdemListWindow() {
settingsWindow->show(); settingsWindow->show();
}); });
actionHelp = menu->addAction("Help"); actionHelp = menu->addAction("Palīdzība");
QObject::connect( QObject::connect(
actionHelp, actionHelp,
&QAction::triggered, &QAction::triggered,
@@ -846,7 +846,7 @@ QMainWindow *initMdemListWindow() {
{ // Editor. { // Editor.
editorWindow = new QMainWindow; editorWindow = new QMainWindow;
editorWindow->setWindowTitle("QScintilla Simple Editor"); editorWindow->setWindowTitle("Jautājumu redaktors");
editorWindow->resize(800, 600); editorWindow->resize(800, 600);
QWidget *wEditor = new QWidget; QWidget *wEditor = new QWidget;
QVBoxLayout *vlEditor = new QVBoxLayout; QVBoxLayout *vlEditor = new QVBoxLayout;
@@ -864,7 +864,7 @@ QMainWindow *initMdemListWindow() {
auto btnSaveEditor = new QPushButton; auto btnSaveEditor = new QPushButton;
editorButtons->setLayout(buttonLayout); editorButtons->setLayout(buttonLayout);
btnSaveEditor->setText(QString::fromStdString("Save")); btnSaveEditor->setText(QString::fromStdString("Saglabāt"));
QObject::connect( QObject::connect(
btnSaveEditor, btnSaveEditor,
&QToolButton::clicked, &QToolButton::clicked,
@@ -957,14 +957,14 @@ QMainWindow *initMdemListWindow() {
); );
// Button content. // Button content.
toolbar->btnAdd.setText("Add"); toolbar->btnAdd.setText("Pievienot");
toolbar->btnSave.setText("Save"); toolbar->btnSave.setText("Saglabāt");
toolbar->btnLoad.setText("Load"); toolbar->btnLoad.setText("Ielādēt");
toolbar->btnPractice.setText("Practice"); toolbar->btnPractice.setText("Mācīties");
toolbar->cbAlgorithm.addItem("Spaced", SPACED); toolbar->cbAlgorithm.addItem("Intervālu", SPACED);
toolbar->cbAlgorithm.addItem("Random", RANDOM); toolbar->cbAlgorithm.addItem("Nejaušais", RANDOM);
toolbar->cbAlgorithm.addItem("Primary", PRIMARY); toolbar->cbAlgorithm.addItem("Primārais", PRIMARY);
// Add buttons. // Add buttons.
hlButtonsTop->addWidget(&toolbar->btnAdd); hlButtonsTop->addWidget(&toolbar->btnAdd);
@@ -1014,7 +1014,7 @@ QMainWindow *initMdemListWindow() {
for (int col = 1; col < model->columnCount(); ++col) { for (int col = 1; col < model->columnCount(); ++col) {
mdemList->hideColumn(col); mdemList->hideColumn(col);
} }
model->setHeaderData(0, Qt::Horizontal, QObject::tr("Custom Name")); /*model->setHeaderData(0, Qt::Horizontal, QObject::tr("Custom name"));*/
leftLayout->addWidget(mdemList); leftLayout->addWidget(mdemList);
} }

View File

@@ -59,7 +59,6 @@
#include <QWidget> #include <QWidget>
#include "mdemList.h" #include "mdemList.h"
#include "api.h"
#include "qscilexer.h" #include "qscilexer.h"
QSettings *settings; QSettings *settings;
@@ -71,14 +70,14 @@ QWidget *initSettings () {
settings = new QSettings(settingsFile, QSettings::IniFormat); settings = new QSettings(settingsFile, QSettings::IniFormat);
auto* settingsWindow = new QWidget; auto* settingsWindow = new QWidget;
settingsWindow->setWindowTitle("Settings"); settingsWindow->setWindowTitle("Iestatījumi");
auto top = new QWidget; auto top = new QWidget;
auto hlTop = new QVBoxLayout; auto hlTop = new QVBoxLayout;
top->setLayout(hlTop); top->setLayout(hlTop);
auto settingsLabel = new QLabel; auto settingsLabel = new QLabel;
settingsLabel->setText("Settings"); settingsLabel->setText("Iestatījumi");
settingsLabel->setStyleSheet( settingsLabel->setStyleSheet(
"font-size: 20px;" "font-size: 20px;"
); );
@@ -87,16 +86,16 @@ QWidget *initSettings () {
auto formLayout = new QFormLayout; auto formLayout = new QFormLayout;
auto* mbaseInput = new QLineEdit; auto* mbaseInput = new QLineEdit;
auto* browseButton = new QPushButton("Browse"); auto* browseButton = new QPushButton("Izvēlēties");
auto* pathLayout = new QHBoxLayout; auto* pathLayout = new QHBoxLayout;
pathLayout->addWidget(mbaseInput); pathLayout->addWidget(mbaseInput);
pathLayout->addWidget(browseButton); pathLayout->addWidget(browseButton);
formLayout->addRow("Default memorybase:", pathLayout); formLayout->addRow("Noklusējuma memorybase:", pathLayout);
QObject::connect(browseButton, &QPushButton::clicked, [mbaseInput]() { QObject::connect(browseButton, &QPushButton::clicked, [mbaseInput]() {
QString dir = QFileDialog::getExistingDirectory( QString dir = QFileDialog::getExistingDirectory(
nullptr, nullptr,
"Select Config Directory", "Izvēlēties noklusēto direktoriju",
mbaseInput->text() mbaseInput->text()
); );
if (!dir.isEmpty()) { if (!dir.isEmpty()) {
@@ -110,37 +109,37 @@ QWidget *initSettings () {
auto characterWrap = new QSpinBox; auto characterWrap = new QSpinBox;
characterWrap->setRange(30, 150); characterWrap->setRange(30, 150);
formLayout->addRow("Character wrap in code gen [30-150]:", characterWrap); formLayout->addRow("Rindas pārnešanas platums jautājumu teksta ģenerēšanā [30-150]:", characterWrap);
auto* timezone = new QSpinBox; auto* timezone = new QSpinBox;
timezone->setRange(-12, 12); timezone->setRange(-12, 12);
formLayout->addRow("Timezone as number (e.g. +2 as 2):", timezone); formLayout->addRow("Laika zona (e.g. +2 as 2):", timezone);
auto* notRemembered = new QDoubleSpinBox; auto* notRemembered = new QDoubleSpinBox;
notRemembered->setRange(0, 100); notRemembered->setRange(0, 100);
formLayout->addRow("Not remembered:", notRemembered); formLayout->addRow("Neatcerējos:", notRemembered);
auto* hard = new QDoubleSpinBox; auto* hard = new QDoubleSpinBox;
hard->setRange(0, 100); hard->setRange(0, 100);
formLayout->addRow("Hard:", hard); formLayout->addRow("Grūti:", hard);
auto* medium = new QDoubleSpinBox; auto* medium = new QDoubleSpinBox;
medium->setRange(0, 100); medium->setRange(0, 100);
formLayout->addRow("Medium:", medium); formLayout->addRow("Vidēji:", medium);
auto* easy = new QDoubleSpinBox; auto* easy = new QDoubleSpinBox;
easy->setRange(0, 100); easy->setRange(0, 100);
formLayout->addRow("Easy:", easy); formLayout->addRow("Viegli:", easy);
auto* debug = new QCheckBox; auto* debug = new QCheckBox;
formLayout->addRow("Debug:", debug); formLayout->addRow("Atkļūdošana:", debug);
auto* showTimes = new QCheckBox; auto* showTimes = new QCheckBox;
formLayout->addRow("Show times in the console:", showTimes); formLayout->addRow("Rādīt laikus komandrindā:", showTimes);
auto btnLayout = new QHBoxLayout; auto btnLayout = new QHBoxLayout;
auto btnSaveSettings = new QPushButton("Save"); auto btnSaveSettings = new QPushButton("Saglabāt");
auto btnLoad = new QPushButton("Load"); auto btnLoad = new QPushButton("Ielādēt");
auto mainLayout = new QVBoxLayout; auto mainLayout = new QVBoxLayout;
btnLayout->addWidget(btnSaveSettings); btnLayout->addWidget(btnSaveSettings);
btnLayout->addWidget(btnLoad); btnLayout->addWidget(btnLoad);
@@ -172,9 +171,9 @@ QWidget *initSettings () {
auto updateSettingsLabel = [settingsLabel](bool isChanged) { auto updateSettingsLabel = [settingsLabel](bool isChanged) {
if (isChanged) { if (isChanged) {
settingsLabel->setText("Settings *"); settingsLabel->setText("Iestatījumi *");
} else { } else {
settingsLabel->setText("Settings"); settingsLabel->setText("Iestatījumi");
} }
}; };

View File

@@ -669,7 +669,7 @@ QMainWindow *initTrainWindow() {
auto topLeftSpacer = new QSpacerItem(50, 50, QSizePolicy::Expanding, QSizePolicy::Minimum); auto topLeftSpacer = new QSpacerItem(50, 50, QSizePolicy::Expanding, QSizePolicy::Minimum);
auto btnSaveProgress = new QToolButton(); auto btnSaveProgress = new QToolButton();
btnSaveProgress->setText("Save progress"); btnSaveProgress->setText("Saglabāt progresu");
hTopButtons->addItem(topLeftSpacer); hTopButtons->addItem(topLeftSpacer);
hTopButtons->addWidget(btnSaveProgress); hTopButtons->addWidget(btnSaveProgress);
@@ -696,7 +696,6 @@ QMainWindow *initTrainWindow() {
{ // Make question text. { // Make question text.
lQuestionText = new QLabel(); lQuestionText = new QLabel();
lQuestionText->setText("What is the capital of Latvia?");
lQuestionText->setWordWrap(true); lQuestionText->setWordWrap(true);
lQuestionText->setStyleSheet(QString( lQuestionText->setStyleSheet(QString(
"QLabel {" "QLabel {"
@@ -720,7 +719,6 @@ QMainWindow *initTrainWindow() {
{ // Make answer text. { // Make answer text.
answerText = new QLabel(); answerText = new QLabel();
answerText->setText("- Riga\n- Second line");
answerText->setWordWrap(true); answerText->setWordWrap(true);
answerText->setStyleSheet(QString( answerText->setStyleSheet(QString(
"QLabel {" "QLabel {"
@@ -799,25 +797,25 @@ QMainWindow *initTrainWindow() {
setCooldownHours(48); setCooldownHours(48);
} }
}); });
btnNotRemembered->setText("Not remembered (Z)"); btnNotRemembered->setText("Neatcerējos (Z)");
addShortcut("Z", []() { addShortcut("Z", []() {
if (btnNotRemembered->isVisible()) { if (btnNotRemembered->isVisible()) {
btnNotRemembered->click(); btnNotRemembered->click();
} }
}); });
btnHard->setText("Hard (X)"); btnHard->setText("Grūti (X)");
addShortcut("X", []() { addShortcut("X", []() {
if (btnHard->isVisible()) { if (btnHard->isVisible()) {
btnHard->click(); btnHard->click();
} }
}); });
btnMedium->setText("Medium (C)"); btnMedium->setText("Vidēji (C)");
addShortcut("C", []() { addShortcut("C", []() {
if (btnMedium->isVisible()) { if (btnMedium->isVisible()) {
btnMedium->click(); btnMedium->click();
} }
}); });
btnEasy->setText("Easy (V)"); btnEasy->setText("Viegli (V)");
addShortcut("V", []() { addShortcut("V", []() {
if (btnEasy->isVisible()) { if (btnEasy->isVisible()) {
btnEasy->click(); btnEasy->click();
@@ -846,10 +844,10 @@ QMainWindow *initTrainWindow() {
vButtonBox->addWidget(actionButtons); vButtonBox->addWidget(actionButtons);
actionButtons->setLayout(hButtons); actionButtons->setLayout(hButtons);
btnTriggerAnswer->setText("Show answer"); btnTriggerAnswer->setText("Parādīt atbildi");
btnTriggerAnswer->hide(); btnTriggerAnswer->hide();
btnNext->setText("Next"); btnNext->setText("Nākamais");
QObject::connect(btnNext, &QToolButton::clicked, []() { QObject::connect(btnNext, &QToolButton::clicked, []() {
setupNextQuestion(); setupNextQuestion();
}); });

View File

@@ -167,7 +167,7 @@ Result<std::vector<Token>> tokenizeMdem(const std::string& content) {
if (!identifierStarted) { if (!identifierStarted) {
return { return {
tokens, tokens,
"Cannot end identifier if it is not started", "Nevar beigt identifikatoru, ja tas nav iesākts",
tokens[i].row, tokens[i].row,
tokens[i].column tokens[i].column
}; };
@@ -245,12 +245,12 @@ Result<std::vector<Token>> tokenizeMdem(const std::string& content) {
); );
if (debug) { if (debug) {
std::cout << "SECTION: Lexer output:\n"; std::cout << "SECTION: LEXER:\n";
std::cout << std::format("Token count: {}", tokens.size()) << std::endl; std::cout << std::format("Tekstvienību daudzums: {}", tokens.size()) << std::endl;
for (const Token& token : tokens) { for (const Token& token : tokens) {
std::cout << token.toString(); std::cout << token.toString();
} }
std::cout << "SECTION END: Lexer output\n"; std::cout << "SECTION END: LEXER\n";
} }
return {tokens, ""}; return {tokens, ""};
@@ -258,18 +258,18 @@ Result<std::vector<Token>> tokenizeMdem(const std::string& content) {
std::string Token::toString(const TokenType* ttype) { std::string Token::toString(const TokenType* ttype) {
switch (*ttype) { switch (*ttype) {
case TokenType::TextFragment: return "text fragment"; case TokenType::TextFragment: return "teksta fragments";
case TokenType::QuestionEnd: return "question end symbol"; case TokenType::QuestionEnd: return "jautājuma beigas";
case TokenType::MatchGroupEnd: return "match group end"; case TokenType::MatchGroupEnd: return "grupas beigas";
case TokenType::ElementDashStart: return "dash element start"; case TokenType::ElementDashStart: return "svītras elementa sākums";
case TokenType::ElementOrderModifier: return "order element modifier"; case TokenType::ElementOrderModifier: return "secības elementa sākums";
case TokenType::ElementPlusStart: return "plus element start"; case TokenType::ElementPlusStart: return "plusa elementa sākums";
case TokenType::Cooldown: return "cooldown"; case TokenType::Cooldown: return "pārtraukums";
case TokenType::CooldownStart: return "start of cooldown"; case TokenType::CooldownStart: return "pātraukuma sākums";
case TokenType::CooldownEnd: return "end of cooldown"; case TokenType::CooldownEnd: return "pātraukuma beigas";
case TokenType::StartOfFile: return "start of the file"; case TokenType::StartOfFile: return "faila sākums";
case TokenType::EndOfFile: return "end of file"; case TokenType::EndOfFile: return "faila beigas";
default: return "unrecognized token"; default: return "neatpazīta tekstvienība";
} }
} }

View File

@@ -90,7 +90,7 @@ Result<NoneType> ValidateGrammar(const std::vector<Token>& tokens) {
}; };
return { return {
.error=std::format( .error=std::format(
"Invalid token sequence: {} cannot precede {}", "Nekorekta tekstvienību secība: {} nevar būt pirms {}",
std::string(capitalize(Token::toString(&token.tokenType))), std::string(capitalize(Token::toString(&token.tokenType))),
std::string(capitalize(Token::toString(&nextToken.tokenType))) std::string(capitalize(Token::toString(&nextToken.tokenType)))
), ),
@@ -133,7 +133,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
size_t i = 0; size_t i = 0;
if (debug) { if (debug) {
std::cout << "SECTION: Parser output:\n"; std::cout << "SECTION: PARSER:\n";
} }
auto isInBounds = [tokens](size_t i) { auto isInBounds = [tokens](size_t i) {
@@ -147,7 +147,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
std::istringstream ss(datetime); std::istringstream ss(datetime);
ss >> std::get_time(&tm, format.c_str()); ss >> std::get_time(&tm, format.c_str());
if (ss.fail()) { if (ss.fail()) {
throw std::runtime_error("Failed to parse datetime string"); throw std::runtime_error("Neizdevās nolasīt datuma un laiku");
} }
std::time_t time = timegm(&tm); std::time_t time = timegm(&tm);
return time; return time;
@@ -156,7 +156,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
time = parseToUTCTime(tokens[i].content.c_str(), "%d.%m.%Y %H:%M"); time = parseToUTCTime(tokens[i].content.c_str(), "%d.%m.%Y %H:%M");
} catch (std::exception e) { } catch (std::exception e) {
return makeResult( return makeResult(
std::format("cannot parse the time - {}", e.what()), std::format("Parsēšanas kļūda - {}", e.what()),
tokens[i] tokens[i]
); );
} }
@@ -175,7 +175,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
// Start element parsing & add to the offset. // Start element parsing & add to the offset.
if (isInBounds(i + 1) && tokens[i + 1].tokenType == TokenType::ElementOrderModifier) { if (isInBounds(i + 1) && tokens[i + 1].tokenType == TokenType::ElementOrderModifier) {
return makeResult( return makeResult(
"cannot have order modifier ('^') in the question definition", "Nevar izmantot secības modifikatoru ('^') jautājuma sākumā",
tokens[i + 1] tokens[i + 1]
); );
} }
@@ -184,7 +184,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
cooldown = std::stod(tokens[i + 2].content); cooldown = std::stod(tokens[i + 2].content);
} catch (std::exception e) { } catch (std::exception e) {
return makeResult( return makeResult(
"error parsing cooldown", "kļūda nolasot pārtraukumu",
tokens[i + 1] tokens[i + 1]
); );
} }
@@ -214,7 +214,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
if (offset == 5 && tokens[i + 5].tokenType != TokenType::QuestionEnd) { if (offset == 5 && tokens[i + 5].tokenType != TokenType::QuestionEnd) {
// Cannot place the identifier on the ordinary element. // Cannot place the identifier on the ordinary element.
return makeResult( return makeResult(
"Invalid identifier placement", "Nepareiza idenfikatora izvietošana",
tokens[i] tokens[i]
); );
} }
@@ -235,19 +235,19 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
isOrderQuestion = true; isOrderQuestion = true;
if (!isDash) { if (!isDash) {
return makeResult( return makeResult(
"order questions can only be used with dashes ('-')", "secības jautājumus var izmantot tikai ar svītrām ('-')",
tokens[i] tokens[i]
); );
} }
if (isGroupQuestion) { if (isGroupQuestion) {
return makeResult( return makeResult(
"question with groups cannot be ordered ('-^' and ':')", "jautājumos ar grupām nevar būt secības elementu ('-^' and ':')",
tokens[i] tokens[i]
); );
} }
if (isInBounds(i + 3) && tokens[i + 3].tokenType == TokenType::MatchGroupEnd) { if (isInBounds(i + 3) && tokens[i + 3].tokenType == TokenType::MatchGroupEnd) {
return makeResult( return makeResult(
"cannot have groups in order question('-^' and ':')", "secības jautājumā nevar būt grupas ('-^' and ':')",
tokens[i] tokens[i]
); );
} }
@@ -257,7 +257,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
isGroupQuestion = true; isGroupQuestion = true;
if (!isDash) { if (!isDash) {
return makeResult( return makeResult(
"group questions can only be used with dashes ('-')", "grupas jautājumus var definēt tikai ar svītru elementiem ('-')",
tokens[i] tokens[i]
); );
} }
@@ -338,19 +338,19 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
} }
} else if (tokens[i].tokenType == TokenType::EndOfFile) { } else if (tokens[i].tokenType == TokenType::EndOfFile) {
if (debug) { if (debug) {
std::cout << "File terminated: EndOfFile\n"; std::cout << "Fails beidzās: EndOfFile\n";
} }
break; break;
} else { } else {
return makeResult( return makeResult(
"Unexpected token encountered", "Negaidīta tekstvienība",
tokens[i] tokens[i]
); );
} }
} }
if (debug) { if (debug) {
std::cout << "SECTION END: Parser output:\n"; std::cout << "SECTION END: PARSER:\n";
} }
return makeResult( return makeResult(
"", "",
@@ -372,7 +372,7 @@ std::string MultiElementQuestion::toString() const {
ss << opener << " " << choice.answer << "; "; ss << opener << " " << choice.answer << "; ";
} }
return std::format( return std::format(
"<Multiple element>\nsection:{}\nid:{}\n{}\n{}", "<Vairāku elementu jautājums>\nsekcija:{}\npārtraukums:{}\n{}\n{}",
section, section,
cooldown, cooldown,
questionText, questionText,
@@ -390,7 +390,7 @@ std::string GroupQuestion::toString() const {
ss << "; "; ss << "; ";
} }
return std::format( return std::format(
"<GroupQuestion>\nsection:{}\nid:{}\n{}\n{}", "<Grupas jautājums>\nsekcija:{}\npārtraukums:{}\n{}\n{}",
section, section,
cooldown, cooldown,
questionText, questionText,