2024-12-18 16:26:30 +00:00
|
|
|
#include <string>
|
|
|
|
#include "translator.h"
|
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
namespace translation {
|
2024-12-20 13:20:26 +00:00
|
|
|
std::string translateFromAstral(const std::string& input) {
|
2024-12-18 16:37:17 +00:00
|
|
|
std::string translatedText{};
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
for (std::size_t i = 0; i < input.length(); i++) {
|
|
|
|
switch (input[i]) {
|
|
|
|
case ';':
|
|
|
|
translatedText.push_back('a');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '@':
|
|
|
|
translatedText.push_back('b');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '*':
|
|
|
|
translatedText.push_back('c');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '<':
|
|
|
|
translatedText.push_back('d');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '&':
|
|
|
|
translatedText.push_back('e');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '(':
|
|
|
|
translatedText.push_back('f');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '"':
|
|
|
|
translatedText.push_back('g');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case ')':
|
|
|
|
translatedText.push_back('h');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '[':
|
|
|
|
translatedText.push_back('i');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
// MISSING J
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
// MISSING K
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '|':
|
|
|
|
translatedText.push_back('l');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
// MISSING M
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '/':
|
|
|
|
translatedText.push_back('n');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '?':
|
|
|
|
translatedText.push_back('o');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '+':
|
|
|
|
translatedText.push_back('p');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
// MISSING Q
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case ']':
|
|
|
|
translatedText.push_back('r');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '{':
|
|
|
|
translatedText.push_back('s');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '}':
|
|
|
|
translatedText.push_back('t');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case '.':
|
|
|
|
translatedText.push_back('u');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
// MISSING V
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-20 13:20:26 +00:00
|
|
|
case '-':
|
2024-12-18 16:37:17 +00:00
|
|
|
translatedText.push_back('w');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
// MISSING X
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
// MISSING Y
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
// MISSING Z
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
case ' ':
|
|
|
|
translatedText.push_back(' ');
|
|
|
|
break;
|
2024-12-18 16:26:30 +00:00
|
|
|
|
2024-12-18 16:37:17 +00:00
|
|
|
default:
|
|
|
|
translatedText.push_back('?');
|
|
|
|
break;
|
|
|
|
}
|
2024-12-18 16:26:30 +00:00
|
|
|
}
|
2024-12-18 16:37:17 +00:00
|
|
|
return translatedText;
|
2024-12-18 16:26:30 +00:00
|
|
|
}
|
2024-12-20 13:20:26 +00:00
|
|
|
|
|
|
|
std::string translateToAstral(const std::string& input) {
|
|
|
|
std::string translatedText{};
|
|
|
|
|
|
|
|
for (std::size_t i = 0; i < input.length(); i++) {
|
|
|
|
switch (input[i]) {
|
|
|
|
case 'a':
|
|
|
|
translatedText.push_back(';');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'b':
|
|
|
|
translatedText.push_back('@');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'c':
|
|
|
|
translatedText.push_back('*');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'd':
|
|
|
|
translatedText.push_back('<');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'e':
|
|
|
|
translatedText.push_back('&');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'f':
|
|
|
|
translatedText.push_back('(');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'g':
|
|
|
|
translatedText.push_back('"');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'h':
|
|
|
|
translatedText.push_back(')');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'i':
|
|
|
|
translatedText.push_back('[');
|
|
|
|
break;
|
|
|
|
|
|
|
|
// MISSING J
|
|
|
|
|
|
|
|
// MISSING K
|
|
|
|
|
|
|
|
case 'l':
|
|
|
|
translatedText.push_back('|');
|
|
|
|
break;
|
|
|
|
|
|
|
|
// MISSING M
|
|
|
|
|
|
|
|
case 'n':
|
|
|
|
translatedText.push_back('/');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'o':
|
|
|
|
translatedText.push_back('?');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'p':
|
|
|
|
translatedText.push_back('+');
|
|
|
|
break;
|
|
|
|
|
|
|
|
// MISSING Q
|
|
|
|
|
|
|
|
case 'r':
|
|
|
|
translatedText.push_back(']');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 's':
|
|
|
|
translatedText.push_back('{');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 't':
|
|
|
|
translatedText.push_back('}');
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'u':
|
|
|
|
translatedText.push_back('.');
|
|
|
|
break;
|
|
|
|
|
|
|
|
// MISSING V
|
|
|
|
|
|
|
|
case 'w':
|
|
|
|
translatedText.push_back('-');
|
|
|
|
break;
|
|
|
|
|
|
|
|
// MISSING X
|
|
|
|
|
|
|
|
// MISSING Y
|
|
|
|
|
|
|
|
// MISSING Z
|
|
|
|
|
|
|
|
case ' ':
|
|
|
|
translatedText.push_back(' ');
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
translatedText.push_back('E');
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return translatedText;
|
|
|
|
}
|
2024-12-18 16:26:30 +00:00
|
|
|
}
|