-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.cpp
35 lines (29 loc) · 933 Bytes
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "XTranslator/xtranslator.h"
#include "lingva-api/include/lingva.hpp"
using std::string, std::cout, std::cerr, std::exception;
void showHelp() {
cout << "Usage: xtranslator [text_source] [source] [target]\n\n"
<< "Parameters:\n"
<< " text_source - The name of the selection from the X server "
"(like PRIMARY or CLIPBOARD)\n"
<< " source - The source language code\n"
<< " target - The target language code\n";
exit(1);
}
int main(int argc, char **argv) {
if (argc != 4)
showHelp();
string textSource = argv[1];
string tSource = argv[2];
string tTarget = argv[3];
XTranslator client(textSource);
lingvaClient translator(tSource, tTarget);
try {
string result = client.getSelectionData();
cout << translator.translate(result);
return 0;
} catch (const exception &e) {
cerr << "Error: " << e.what() << '\n';
return 1;
}
}