forked from Public-Mirror/Textractor
update translation api
This commit is contained in:
parent
ad846b90d4
commit
5f5c5d5a1a
@ -97,6 +97,11 @@ std::wstring GetTranslationUri(const std::wstring& text, unsigned TKK)
|
|||||||
return FormatString(L"/translate_a/single?client=t&dt=ld&dt=rm&dt=t&tl=%s&tk=%u.%u&q=%s", translateTo->c_str(), a, b, escapedText);
|
return FormatString(L"/translate_a/single?client=t&dt=ld&dt=rm&dt=t&tl=%s&tk=%u.%u&q=%s", translateTo->c_str(), a, b, escapedText);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool IsHash(const std::wstring& result)
|
||||||
|
{
|
||||||
|
return std::all_of(result.begin(), result.end(), [](auto ch) { return (ch >= L'0' && ch <= L'9') || (ch >= L'a' && ch <= L'z'); });
|
||||||
|
}
|
||||||
|
|
||||||
std::pair<bool, std::wstring> Translate(const std::wstring& text)
|
std::pair<bool, std::wstring> Translate(const std::wstring& text)
|
||||||
{
|
{
|
||||||
static unsigned TKK = 0;
|
static unsigned TKK = 0;
|
||||||
@ -112,7 +117,7 @@ std::pair<bool, std::wstring> Translate(const std::wstring& text)
|
|||||||
{
|
{
|
||||||
std::wstring translation;
|
std::wstring translation;
|
||||||
for (std::wsmatch results; std::regex_search(httpRequest.response, results, std::wregex(L"\\[\"(.*?)\",[n\"]")); httpRequest.response = results.suffix())
|
for (std::wsmatch results; std::regex_search(httpRequest.response, results, std::wregex(L"\\[\"(.*?)\",[n\"]")); httpRequest.response = results.suffix())
|
||||||
translation += std::wstring(results[1]) + L" ";
|
if (!IsHash(results[1])) translation += std::wstring(results[1]) + L" ";
|
||||||
if (!translation.empty()) return { true, translation };
|
if (!translation.empty()) return { true, translation };
|
||||||
}
|
}
|
||||||
return { false, FormatString(L"%s (TKK=%u)", TRANSLATION_ERROR, _InterlockedExchange(&TKK, 0)) };
|
return { false, FormatString(L"%s (TKK=%u)", TRANSLATION_ERROR, _InterlockedExchange(&TKK, 0)) };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user