mirror of
https://github.com/jorenchik/mdemory.git
synced 2026-03-22 00:26:21 +00:00
all ui translated to Latvian
This commit is contained in:
@@ -294,7 +294,7 @@ void updateMdemInfo(std::string filename, bool isChanged) {
|
||||
std::tm* tm = std::localtime(¤tMdemBuffer->trainedAt);
|
||||
char buffer[100];
|
||||
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()));
|
||||
} else {
|
||||
@@ -330,7 +330,7 @@ Mdem* makeMdem() {
|
||||
mdem->hFront.addWidget(&mdem->wFrontText);
|
||||
mdem->hFront.addStretch(1);
|
||||
|
||||
mdem->editButton.setText("Edit");
|
||||
mdem->editButton.setText("Rediģēt");
|
||||
QObject::connect(
|
||||
&mdem->editButton,
|
||||
&QToolButton::clicked,
|
||||
@@ -349,7 +349,7 @@ Mdem* makeMdem() {
|
||||
);
|
||||
mdem->hFront.addWidget(&mdem->editButton);
|
||||
|
||||
mdem->deleteButton.setText("Delete");
|
||||
mdem->deleteButton.setText("Dzēst");
|
||||
QObject::connect(
|
||||
&mdem->deleteButton,
|
||||
&QToolButton::clicked,
|
||||
@@ -375,7 +375,7 @@ Mdem* makeMdem() {
|
||||
);
|
||||
mdem->hFront.addWidget(&mdem->deleteButton);
|
||||
|
||||
mdem->toggleVisibility.setText("Show");
|
||||
mdem->toggleVisibility.setText("Parādīt");
|
||||
mdem->hFront.addWidget(&mdem->toggleVisibility);
|
||||
|
||||
// Back
|
||||
@@ -403,10 +403,10 @@ Mdem* makeMdem() {
|
||||
QObject::connect(&mdem->toggleVisibility, &QToolButton::clicked, [mdem]() {
|
||||
if (mdem->wBack.isVisible()) {
|
||||
mdem->wBack.hide();
|
||||
mdem->toggleVisibility.setText("Show");
|
||||
mdem->toggleVisibility.setText("Parādīt");
|
||||
} else {
|
||||
mdem->wBack.show();
|
||||
mdem->toggleVisibility.setText("Hide");
|
||||
mdem->toggleVisibility.setText("Slēpt");
|
||||
}
|
||||
showBacklabels(mdem);
|
||||
});
|
||||
@@ -464,14 +464,14 @@ void switchPage(int pageIdx) {
|
||||
|
||||
int l = 0;
|
||||
char buffer[50];
|
||||
snprintf(buffer, sizeof(buffer), "Page: %d", pageIdx + 1);
|
||||
snprintf(buffer, sizeof(buffer), "Lappuse: %d", pageIdx + 1);
|
||||
pagination->paginationLabel.setText(buffer);
|
||||
|
||||
// Adjust mdem amount, hide widgets in mdems
|
||||
for (auto& mdem : mdems) {
|
||||
if (mdem->wBack.isVisible()) {
|
||||
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();
|
||||
showTimes = settings->value(SETTING_SHOW_TIMES).toBool();
|
||||
if (showTimes) {
|
||||
std::cout << showTime("I/O time") << std::endl;
|
||||
std::cout << showTime("I/O laiks") << std::endl;
|
||||
}
|
||||
debug = settings->value(SETTING_DEBUG).toBool();
|
||||
auto res = transpile(content);
|
||||
@@ -613,7 +613,7 @@ void reloadMdem(std::string path) {
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -621,7 +621,7 @@ void reloadMdem(std::string path) {
|
||||
errorView->box.hide();
|
||||
} else {
|
||||
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) {
|
||||
delete question;
|
||||
@@ -632,7 +632,7 @@ void reloadMdem(std::string path) {
|
||||
errorView->label.setText(
|
||||
QString::fromStdString(
|
||||
std::format(
|
||||
"Error while transpiling {}: {} ({}:{})",
|
||||
"Kļūda, transpilējot {}: {} ({}:{})",
|
||||
filename,
|
||||
res.error,
|
||||
res.row,
|
||||
@@ -649,12 +649,12 @@ void reloadMdem(std::string path) {
|
||||
switchPage(0);
|
||||
updateMdemInfo(filename, false);
|
||||
} 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) {
|
||||
mdem->wBack.hide();
|
||||
mdem->toggleVisibility.setText("Show");
|
||||
mdem->toggleVisibility.setText("Parādīt");
|
||||
}
|
||||
hideQuestionElements();
|
||||
}
|
||||
@@ -669,7 +669,7 @@ void pickDirectory(QString directory) {
|
||||
QMessageBox::information(
|
||||
nullptr,
|
||||
"Error",
|
||||
"The directory that is specified as the default memorybase does not exist."
|
||||
"Direktorijs, kas ir norādīts kā noklusētais, neeksistē."
|
||||
);
|
||||
return;
|
||||
}
|
||||
@@ -706,7 +706,7 @@ void setupEditorSave() {
|
||||
}
|
||||
QMessageBox::information(
|
||||
nullptr,
|
||||
"Editing error",
|
||||
"Rediģēšanas kļūda",
|
||||
QString::fromStdString(res.error)
|
||||
);
|
||||
} else {
|
||||
@@ -714,8 +714,8 @@ void setupEditorSave() {
|
||||
if (res.value.questions.size() <= 0) {
|
||||
QMessageBox::information(
|
||||
nullptr,
|
||||
"Editing error",
|
||||
"There are no questions in your input."
|
||||
"Rediģēšanas kļūda",
|
||||
"Jūsu ievadē nav jautājumu."
|
||||
);
|
||||
} else if (res.value.questions.size() == 1) {
|
||||
auto oldQuestion = editMdem->question;
|
||||
@@ -735,16 +735,16 @@ void setupEditorSave() {
|
||||
} else {
|
||||
QMessageBox::information(
|
||||
nullptr,
|
||||
"Editing error",
|
||||
"There are more than question in your input. Please enter one."
|
||||
"Rediģēšanas kļūda",
|
||||
"Jūsu ievadē ir vairāki jautājumi. Lūdzu ievadiet vienu!"
|
||||
);
|
||||
}
|
||||
} else {
|
||||
if (res.value.questions.size() <= 0) {
|
||||
QMessageBox::information(
|
||||
nullptr,
|
||||
"Editing error",
|
||||
"There are no questions in your input."
|
||||
"Rediģēšanas kļūda",
|
||||
"Jūsu ievadē nav jautājumu."
|
||||
);
|
||||
} else {
|
||||
currentMdemBuffer->questions.insert(
|
||||
@@ -772,7 +772,7 @@ void saveMdem() {
|
||||
|
||||
showTimes = settings->value(SETTING_SHOW_TIMES).toBool();
|
||||
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;
|
||||
QFileDialog *fileDialog = new QFileDialog;
|
||||
|
||||
QMenu *menu = new QMenu("File");
|
||||
actionOpen = menu->addAction("Open memorybase");
|
||||
QMenu *menu = new QMenu("Fails");
|
||||
actionOpen = menu->addAction("Atvert memorybase");
|
||||
QObject::connect(
|
||||
actionOpen,
|
||||
&QAction::triggered,
|
||||
@@ -822,7 +822,7 @@ QMainWindow *initMdemListWindow() {
|
||||
}
|
||||
);
|
||||
|
||||
openSettings = menu->addAction("Settings");
|
||||
openSettings = menu->addAction("Iestatījumi");
|
||||
QObject::connect(
|
||||
openSettings,
|
||||
&QAction::triggered,
|
||||
@@ -830,7 +830,7 @@ QMainWindow *initMdemListWindow() {
|
||||
settingsWindow->show();
|
||||
});
|
||||
|
||||
actionHelp = menu->addAction("Help");
|
||||
actionHelp = menu->addAction("Palīdzība");
|
||||
QObject::connect(
|
||||
actionHelp,
|
||||
&QAction::triggered,
|
||||
@@ -846,7 +846,7 @@ QMainWindow *initMdemListWindow() {
|
||||
{ // Editor.
|
||||
editorWindow = new QMainWindow;
|
||||
|
||||
editorWindow->setWindowTitle("QScintilla Simple Editor");
|
||||
editorWindow->setWindowTitle("Jautājumu redaktors");
|
||||
editorWindow->resize(800, 600);
|
||||
QWidget *wEditor = new QWidget;
|
||||
QVBoxLayout *vlEditor = new QVBoxLayout;
|
||||
@@ -864,7 +864,7 @@ QMainWindow *initMdemListWindow() {
|
||||
auto btnSaveEditor = new QPushButton;
|
||||
|
||||
editorButtons->setLayout(buttonLayout);
|
||||
btnSaveEditor->setText(QString::fromStdString("Save"));
|
||||
btnSaveEditor->setText(QString::fromStdString("Saglabāt"));
|
||||
QObject::connect(
|
||||
btnSaveEditor,
|
||||
&QToolButton::clicked,
|
||||
@@ -957,14 +957,14 @@ QMainWindow *initMdemListWindow() {
|
||||
);
|
||||
|
||||
// Button content.
|
||||
toolbar->btnAdd.setText("Add");
|
||||
toolbar->btnSave.setText("Save");
|
||||
toolbar->btnLoad.setText("Load");
|
||||
toolbar->btnPractice.setText("Practice");
|
||||
toolbar->btnAdd.setText("Pievienot");
|
||||
toolbar->btnSave.setText("Saglabāt");
|
||||
toolbar->btnLoad.setText("Ielādēt");
|
||||
toolbar->btnPractice.setText("Mācīties");
|
||||
|
||||
toolbar->cbAlgorithm.addItem("Spaced", SPACED);
|
||||
toolbar->cbAlgorithm.addItem("Random", RANDOM);
|
||||
toolbar->cbAlgorithm.addItem("Primary", PRIMARY);
|
||||
toolbar->cbAlgorithm.addItem("Intervālu", SPACED);
|
||||
toolbar->cbAlgorithm.addItem("Nejaušais", RANDOM);
|
||||
toolbar->cbAlgorithm.addItem("Primārais", PRIMARY);
|
||||
|
||||
// Add buttons.
|
||||
hlButtonsTop->addWidget(&toolbar->btnAdd);
|
||||
@@ -1014,7 +1014,7 @@ QMainWindow *initMdemListWindow() {
|
||||
for (int col = 1; col < model->columnCount(); ++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);
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,6 @@
|
||||
#include <QWidget>
|
||||
|
||||
#include "mdemList.h"
|
||||
#include "api.h"
|
||||
#include "qscilexer.h"
|
||||
|
||||
QSettings *settings;
|
||||
@@ -71,14 +70,14 @@ QWidget *initSettings () {
|
||||
settings = new QSettings(settingsFile, QSettings::IniFormat);
|
||||
auto* settingsWindow = new QWidget;
|
||||
|
||||
settingsWindow->setWindowTitle("Settings");
|
||||
settingsWindow->setWindowTitle("Iestatījumi");
|
||||
|
||||
auto top = new QWidget;
|
||||
auto hlTop = new QVBoxLayout;
|
||||
top->setLayout(hlTop);
|
||||
|
||||
auto settingsLabel = new QLabel;
|
||||
settingsLabel->setText("Settings");
|
||||
settingsLabel->setText("Iestatījumi");
|
||||
settingsLabel->setStyleSheet(
|
||||
"font-size: 20px;"
|
||||
);
|
||||
@@ -87,16 +86,16 @@ QWidget *initSettings () {
|
||||
auto formLayout = new QFormLayout;
|
||||
|
||||
auto* mbaseInput = new QLineEdit;
|
||||
auto* browseButton = new QPushButton("Browse");
|
||||
auto* browseButton = new QPushButton("Izvēlēties");
|
||||
auto* pathLayout = new QHBoxLayout;
|
||||
pathLayout->addWidget(mbaseInput);
|
||||
pathLayout->addWidget(browseButton);
|
||||
formLayout->addRow("Default memorybase:", pathLayout);
|
||||
formLayout->addRow("Noklusējuma memorybase:", pathLayout);
|
||||
|
||||
QObject::connect(browseButton, &QPushButton::clicked, [mbaseInput]() {
|
||||
QString dir = QFileDialog::getExistingDirectory(
|
||||
nullptr,
|
||||
"Select Config Directory",
|
||||
"Izvēlēties noklusēto direktoriju",
|
||||
mbaseInput->text()
|
||||
);
|
||||
if (!dir.isEmpty()) {
|
||||
@@ -110,37 +109,37 @@ QWidget *initSettings () {
|
||||
|
||||
auto characterWrap = new QSpinBox;
|
||||
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;
|
||||
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;
|
||||
notRemembered->setRange(0, 100);
|
||||
formLayout->addRow("Not remembered:", notRemembered);
|
||||
formLayout->addRow("Neatcerējos:", notRemembered);
|
||||
|
||||
auto* hard = new QDoubleSpinBox;
|
||||
hard->setRange(0, 100);
|
||||
formLayout->addRow("Hard:", hard);
|
||||
formLayout->addRow("Grūti:", hard);
|
||||
|
||||
auto* medium = new QDoubleSpinBox;
|
||||
medium->setRange(0, 100);
|
||||
formLayout->addRow("Medium:", medium);
|
||||
formLayout->addRow("Vidēji:", medium);
|
||||
|
||||
auto* easy = new QDoubleSpinBox;
|
||||
easy->setRange(0, 100);
|
||||
formLayout->addRow("Easy:", easy);
|
||||
formLayout->addRow("Viegli:", easy);
|
||||
|
||||
auto* debug = new QCheckBox;
|
||||
formLayout->addRow("Debug:", debug);
|
||||
formLayout->addRow("Atkļūdošana:", debug);
|
||||
|
||||
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 btnSaveSettings = new QPushButton("Save");
|
||||
auto btnLoad = new QPushButton("Load");
|
||||
auto btnSaveSettings = new QPushButton("Saglabāt");
|
||||
auto btnLoad = new QPushButton("Ielādēt");
|
||||
auto mainLayout = new QVBoxLayout;
|
||||
btnLayout->addWidget(btnSaveSettings);
|
||||
btnLayout->addWidget(btnLoad);
|
||||
@@ -172,9 +171,9 @@ QWidget *initSettings () {
|
||||
|
||||
auto updateSettingsLabel = [settingsLabel](bool isChanged) {
|
||||
if (isChanged) {
|
||||
settingsLabel->setText("Settings *");
|
||||
settingsLabel->setText("Iestatījumi *");
|
||||
} else {
|
||||
settingsLabel->setText("Settings");
|
||||
settingsLabel->setText("Iestatījumi");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -669,7 +669,7 @@ QMainWindow *initTrainWindow() {
|
||||
|
||||
auto topLeftSpacer = new QSpacerItem(50, 50, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||
auto btnSaveProgress = new QToolButton();
|
||||
btnSaveProgress->setText("Save progress");
|
||||
btnSaveProgress->setText("Saglabāt progresu");
|
||||
|
||||
hTopButtons->addItem(topLeftSpacer);
|
||||
hTopButtons->addWidget(btnSaveProgress);
|
||||
@@ -696,7 +696,6 @@ QMainWindow *initTrainWindow() {
|
||||
|
||||
{ // Make question text.
|
||||
lQuestionText = new QLabel();
|
||||
lQuestionText->setText("What is the capital of Latvia?");
|
||||
lQuestionText->setWordWrap(true);
|
||||
lQuestionText->setStyleSheet(QString(
|
||||
"QLabel {"
|
||||
@@ -720,7 +719,6 @@ QMainWindow *initTrainWindow() {
|
||||
|
||||
{ // Make answer text.
|
||||
answerText = new QLabel();
|
||||
answerText->setText("- Riga\n- Second line");
|
||||
answerText->setWordWrap(true);
|
||||
answerText->setStyleSheet(QString(
|
||||
"QLabel {"
|
||||
@@ -799,25 +797,25 @@ QMainWindow *initTrainWindow() {
|
||||
setCooldownHours(48);
|
||||
}
|
||||
});
|
||||
btnNotRemembered->setText("Not remembered (Z)");
|
||||
btnNotRemembered->setText("Neatcerējos (Z)");
|
||||
addShortcut("Z", []() {
|
||||
if (btnNotRemembered->isVisible()) {
|
||||
btnNotRemembered->click();
|
||||
}
|
||||
});
|
||||
btnHard->setText("Hard (X)");
|
||||
btnHard->setText("Grūti (X)");
|
||||
addShortcut("X", []() {
|
||||
if (btnHard->isVisible()) {
|
||||
btnHard->click();
|
||||
}
|
||||
});
|
||||
btnMedium->setText("Medium (C)");
|
||||
btnMedium->setText("Vidēji (C)");
|
||||
addShortcut("C", []() {
|
||||
if (btnMedium->isVisible()) {
|
||||
btnMedium->click();
|
||||
}
|
||||
});
|
||||
btnEasy->setText("Easy (V)");
|
||||
btnEasy->setText("Viegli (V)");
|
||||
addShortcut("V", []() {
|
||||
if (btnEasy->isVisible()) {
|
||||
btnEasy->click();
|
||||
@@ -846,10 +844,10 @@ QMainWindow *initTrainWindow() {
|
||||
vButtonBox->addWidget(actionButtons);
|
||||
actionButtons->setLayout(hButtons);
|
||||
|
||||
btnTriggerAnswer->setText("Show answer");
|
||||
btnTriggerAnswer->setText("Parādīt atbildi");
|
||||
btnTriggerAnswer->hide();
|
||||
|
||||
btnNext->setText("Next");
|
||||
btnNext->setText("Nākamais");
|
||||
QObject::connect(btnNext, &QToolButton::clicked, []() {
|
||||
setupNextQuestion();
|
||||
});
|
||||
|
||||
@@ -167,7 +167,7 @@ Result<std::vector<Token>> tokenizeMdem(const std::string& content) {
|
||||
if (!identifierStarted) {
|
||||
return {
|
||||
tokens,
|
||||
"Cannot end identifier if it is not started",
|
||||
"Nevar beigt identifikatoru, ja tas nav iesākts",
|
||||
tokens[i].row,
|
||||
tokens[i].column
|
||||
};
|
||||
@@ -245,12 +245,12 @@ Result<std::vector<Token>> tokenizeMdem(const std::string& content) {
|
||||
);
|
||||
|
||||
if (debug) {
|
||||
std::cout << "SECTION: Lexer output:\n";
|
||||
std::cout << std::format("Token count: {}", tokens.size()) << std::endl;
|
||||
std::cout << "SECTION: LEXER:\n";
|
||||
std::cout << std::format("Tekstvienību daudzums: {}", tokens.size()) << std::endl;
|
||||
for (const Token& token : tokens) {
|
||||
std::cout << token.toString();
|
||||
}
|
||||
std::cout << "SECTION END: Lexer output\n";
|
||||
std::cout << "SECTION END: LEXER\n";
|
||||
}
|
||||
|
||||
return {tokens, ""};
|
||||
@@ -258,18 +258,18 @@ Result<std::vector<Token>> tokenizeMdem(const std::string& content) {
|
||||
|
||||
std::string Token::toString(const TokenType* ttype) {
|
||||
switch (*ttype) {
|
||||
case TokenType::TextFragment: return "text fragment";
|
||||
case TokenType::QuestionEnd: return "question end symbol";
|
||||
case TokenType::MatchGroupEnd: return "match group end";
|
||||
case TokenType::ElementDashStart: return "dash element start";
|
||||
case TokenType::ElementOrderModifier: return "order element modifier";
|
||||
case TokenType::ElementPlusStart: return "plus element start";
|
||||
case TokenType::Cooldown: return "cooldown";
|
||||
case TokenType::CooldownStart: return "start of cooldown";
|
||||
case TokenType::CooldownEnd: return "end of cooldown";
|
||||
case TokenType::StartOfFile: return "start of the file";
|
||||
case TokenType::EndOfFile: return "end of file";
|
||||
default: return "unrecognized token";
|
||||
case TokenType::TextFragment: return "teksta fragments";
|
||||
case TokenType::QuestionEnd: return "jautājuma beigas";
|
||||
case TokenType::MatchGroupEnd: return "grupas beigas";
|
||||
case TokenType::ElementDashStart: return "svītras elementa sākums";
|
||||
case TokenType::ElementOrderModifier: return "secības elementa sākums";
|
||||
case TokenType::ElementPlusStart: return "plusa elementa sākums";
|
||||
case TokenType::Cooldown: return "pārtraukums";
|
||||
case TokenType::CooldownStart: return "pātraukuma sākums";
|
||||
case TokenType::CooldownEnd: return "pātraukuma beigas";
|
||||
case TokenType::StartOfFile: return "faila sākums";
|
||||
case TokenType::EndOfFile: return "faila beigas";
|
||||
default: return "neatpazīta tekstvienība";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@ Result<NoneType> ValidateGrammar(const std::vector<Token>& tokens) {
|
||||
};
|
||||
return {
|
||||
.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(&nextToken.tokenType)))
|
||||
),
|
||||
@@ -133,7 +133,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
|
||||
size_t i = 0;
|
||||
|
||||
if (debug) {
|
||||
std::cout << "SECTION: Parser output:\n";
|
||||
std::cout << "SECTION: PARSER:\n";
|
||||
}
|
||||
|
||||
auto isInBounds = [tokens](size_t i) {
|
||||
@@ -147,7 +147,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
|
||||
std::istringstream ss(datetime);
|
||||
ss >> std::get_time(&tm, format.c_str());
|
||||
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);
|
||||
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");
|
||||
} catch (std::exception e) {
|
||||
return makeResult(
|
||||
std::format("cannot parse the time - {}", e.what()),
|
||||
std::format("Parsēšanas kļūda - {}", e.what()),
|
||||
tokens[i]
|
||||
);
|
||||
}
|
||||
@@ -175,7 +175,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
|
||||
// Start element parsing & add to the offset.
|
||||
if (isInBounds(i + 1) && tokens[i + 1].tokenType == TokenType::ElementOrderModifier) {
|
||||
return makeResult(
|
||||
"cannot have order modifier ('^') in the question definition",
|
||||
"Nevar izmantot secības modifikatoru ('^') jautājuma sākumā",
|
||||
tokens[i + 1]
|
||||
);
|
||||
}
|
||||
@@ -184,7 +184,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
|
||||
cooldown = std::stod(tokens[i + 2].content);
|
||||
} catch (std::exception e) {
|
||||
return makeResult(
|
||||
"error parsing cooldown",
|
||||
"kļūda nolasot pārtraukumu",
|
||||
tokens[i + 1]
|
||||
);
|
||||
}
|
||||
@@ -214,7 +214,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
|
||||
if (offset == 5 && tokens[i + 5].tokenType != TokenType::QuestionEnd) {
|
||||
// Cannot place the identifier on the ordinary element.
|
||||
return makeResult(
|
||||
"Invalid identifier placement",
|
||||
"Nepareiza idenfikatora izvietošana",
|
||||
tokens[i]
|
||||
);
|
||||
}
|
||||
@@ -235,19 +235,19 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
|
||||
isOrderQuestion = true;
|
||||
if (!isDash) {
|
||||
return makeResult(
|
||||
"order questions can only be used with dashes ('-')",
|
||||
"secības jautājumus var izmantot tikai ar svītrām ('-')",
|
||||
tokens[i]
|
||||
);
|
||||
}
|
||||
if (isGroupQuestion) {
|
||||
return makeResult(
|
||||
"question with groups cannot be ordered ('-^' and ':')",
|
||||
"jautājumos ar grupām nevar būt secības elementu ('-^' and ':')",
|
||||
tokens[i]
|
||||
);
|
||||
}
|
||||
if (isInBounds(i + 3) && tokens[i + 3].tokenType == TokenType::MatchGroupEnd) {
|
||||
return makeResult(
|
||||
"cannot have groups in order question('-^' and ':')",
|
||||
"secības jautājumā nevar būt grupas ('-^' and ':')",
|
||||
tokens[i]
|
||||
);
|
||||
}
|
||||
@@ -257,7 +257,7 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
|
||||
isGroupQuestion = true;
|
||||
if (!isDash) {
|
||||
return makeResult(
|
||||
"group questions can only be used with dashes ('-')",
|
||||
"grupas jautājumus var definēt tikai ar svītru elementiem ('-')",
|
||||
tokens[i]
|
||||
);
|
||||
}
|
||||
@@ -338,19 +338,19 @@ Result<ParseInfo> parseQuestions(const std::vector<Token>& tokens) {
|
||||
}
|
||||
} else if (tokens[i].tokenType == TokenType::EndOfFile) {
|
||||
if (debug) {
|
||||
std::cout << "File terminated: EndOfFile\n";
|
||||
std::cout << "Fails beidzās: EndOfFile\n";
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
return makeResult(
|
||||
"Unexpected token encountered",
|
||||
"Negaidīta tekstvienība",
|
||||
tokens[i]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (debug) {
|
||||
std::cout << "SECTION END: Parser output:\n";
|
||||
std::cout << "SECTION END: PARSER:\n";
|
||||
}
|
||||
return makeResult(
|
||||
"",
|
||||
@@ -372,7 +372,7 @@ std::string MultiElementQuestion::toString() const {
|
||||
ss << opener << " " << choice.answer << "; ";
|
||||
}
|
||||
return std::format(
|
||||
"<Multiple element>\nsection:{}\nid:{}\n{}\n{}",
|
||||
"<Vairāku elementu jautājums>\nsekcija:{}\npārtraukums:{}\n{}\n{}",
|
||||
section,
|
||||
cooldown,
|
||||
questionText,
|
||||
@@ -390,7 +390,7 @@ std::string GroupQuestion::toString() const {
|
||||
ss << "; ";
|
||||
}
|
||||
return std::format(
|
||||
"<GroupQuestion>\nsection:{}\nid:{}\n{}\n{}",
|
||||
"<Grupas jautājums>\nsekcija:{}\npārtraukums:{}\n{}\n{}",
|
||||
section,
|
||||
cooldown,
|
||||
questionText,
|
||||
|
||||
Reference in New Issue
Block a user