Translation finally added to the output
This commit is contained in:
parent
3c334595c8
commit
a5eb972290
2 changed files with 23 additions and 6 deletions
|
@ -62,17 +62,34 @@ namespace {
|
|||
return libjson::parse(libjson::to_json_string(jsonResponse));
|
||||
}
|
||||
|
||||
///-----------------------------------------------------------------------
|
||||
///-----------------------------------------------------------------------
|
||||
void PrintSingloNodeIfNotEmpty (std::wostream& parStream, JSONNode::const_iterator parNode, const wchar_t* parName, const wchar_t* parPre, const wchar_t* parPost) {
|
||||
JSONNode::const_iterator found(parNode->find(parName));
|
||||
if (found != parNode->end() and not found->as_string().empty())
|
||||
parStream << parPre << found->as_string() << parPost;
|
||||
}
|
||||
|
||||
///-----------------------------------------------------------------------
|
||||
///-----------------------------------------------------------------------
|
||||
void PrintTranslation (std::wostream& parStream, const JSONNode& parNode) {
|
||||
for (JSONNode::const_iterator itTr = parNode.begin(), itTrEND = parNode.end(); itTr != itTrEND; ++itTr) {
|
||||
JSONNode::const_iterator originalTerm = itTr->find(json_string(L"OriginalTerm"));
|
||||
if (originalTerm != itTr->end()) {
|
||||
JSONNode::const_iterator term(originalTerm->find(L"term")),
|
||||
sense(originalTerm->find(L"sense"));
|
||||
if (term != originalTerm->end() and sense != originalTerm->end()) {
|
||||
parStream << originalTerm->find(L"term")->as_string();
|
||||
parStream << L": (" << originalTerm->find(L"sense")->as_string() << L")\n";
|
||||
|
||||
JSONNode::const_iterator term(originalTerm->find(L"term"));
|
||||
if (term != originalTerm->end()) {
|
||||
JSONNode::const_iterator firstTranslation = itTr->find(json_string(L"FirstTranslation"));
|
||||
parStream << originalTerm->find(L"term")->as_string() << L": ";
|
||||
PrintSingloNodeIfNotEmpty(parStream, originalTerm, L"POS", L"", L" ");
|
||||
PrintSingloNodeIfNotEmpty(parStream, originalTerm, L"sense", L"(", L")");
|
||||
if (firstTranslation != itTr->end()) {
|
||||
PrintSingloNodeIfNotEmpty(parStream, firstTranslation, L"term", L"\t- ", L"");
|
||||
PrintSingloNodeIfNotEmpty(parStream, firstTranslation, L"POS", L" ", L"");
|
||||
}
|
||||
parStream << L"\n";
|
||||
PrintSingloNodeIfNotEmpty(parStream, originalTerm, L"usage", L"", L"\n");
|
||||
PrintSingloNodeIfNotEmpty(parStream, itTr, L"Note", L"Note: ", L"\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -113,7 +113,7 @@ int main (int parArgc, const char* const parArgv[]) {
|
|||
WordReference wref(langFrom, langTo, DefApiKey);
|
||||
wref.Translate(searchWord, std::wcout);
|
||||
|
||||
std::wcout << wref.GetHttpLinkW(searchWord) << "\n";
|
||||
std::wcout << L"\n" << wref.GetHttpLinkW(searchWord) << L"\n";
|
||||
}
|
||||
std::wcout << L"Written by King_DuckZ; © WordReference.com" << std::endl;
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue