<
Последние сообщения:

→ В теме Флудильня, от iGROK
→ В теме Киноиндустрия, от романдариум
→ В теме Обсуждение игрового процесса G..., от Gamerfive
→ В теме Тактики, стратегии и советы п..., от DilanFou
→ В теме Игровая индустрия, от Cerg
→ В теме Metal Gear Series, от RusUpdate
Меню форума:

Правила
Новые сообщения
Поиск
Список пользователей
RSS
Чат
Это важно:

Страница 1 из 11
Модератор форума: iGROK 
GTA форум » Наши модмейкеры » iGROK (AXLiberty) » [C#] Внедрение Переводчика Google (Эмуляция API через WebClient)
[C#] Внедрение Переводчика Google
iGROK      воскресенье, 10-04-2016, 19:59 | Сообщение #1

Группа:
FIB
SPEEDHUNTER

На счету:
2397$
Регистрация:
08-10-2009
Город:
Ростов-на-Дону
Пол:
Мужчина

Цитата (КОД)
public static string Translate(string sourceText, string sourceLanguage, string targetLanguage)
{
    try
    {
        var wc = new WebClient();
        wc.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0";
        wc.Headers[HttpRequestHeader.AcceptCharset] = "UTF-8";
        wc.Encoding = Encoding.UTF8;

        var targetText = wc.DownloadString(string.Format("http://translate.google.com/m?sl={0}&tl={1}&ie=UTF-8&q={2}", sourceLanguage, targetLanguage, Uri.EscapeUriString(sourceText)));
        var startIndex = targetText.IndexOf("<div dir=\"ltr\" class=\"t0\">") + 26; // 26 = Length of value from IndexOf
        var endIndex = targetText.IndexOf("</div>", startIndex);
        return targetText.Substring(startIndex, endIndex - startIndex); // .Substring(startIndex, length);
    }
    catch (Exception ex)
    {
        if (DialogResult.Retry == MessageBox.Show(ex.Message.ToString(), "WebClient: Google Translate", MessageBoxButtons.RetryCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1))
            return Translate(sourceText, sourceLanguage, targetLanguage);
        else
            return sourceText;
    }
}

 

GitHub: [C++] Helpers



Сообщение отредактировал iGROK - воскресенье, 10-04-2016, 23:16
Нет на форуме
 
RusUpdate      воскресенье, 10-04-2016, 20:26 | Сообщение #2

Группа:
FIB
Большой босс

На счету:
2480$
Регистрация:
09-08-2010
Город:
Москва
Пол:
Мужчина

iGROK, эмм... внедрение куда? В чат для онлайна что ли?

 
Нет на форуме
 
iGROK      воскресенье, 10-04-2016, 20:31 | Сообщение #3

Группа:
FIB
SPEEDHUNTER

На счету:
2397$
Регистрация:
08-10-2009
Город:
Ростов-на-Дону
Пол:
Мужчина

RusUpdate, ну просто в свою программу. Вдруг пригодится кому-нибудь.
Я в теме сделал пометку [C#], думал так немного понятно будет...

 

GitHub: [C++] Helpers
Нет на форуме
 
iGROK      воскресенье, 10-04-2016, 23:21 | Сообщение #4

Группа:
FIB
SPEEDHUNTER

На счету:
2397$
Регистрация:
08-10-2009
Город:
Ростов-на-Дону
Пол:
Мужчина

Цитата RusUpdate ()
В чат для онлайна что ли?

Хм... кстати интересная идея smile Но, боюсь это будет как минимум не эффективно. Лишняя нагрузка на сеть + задержки с выводом сообщений за счёт ожидания перевода.

Да и сервера Google офигеют от такого потока запросов... Это уже на DDoS будет похоже, если, допустим, от 1.000.000 игроков будут идти постоянные запросы на перевод каждого иностранного (!) сообщения.

 

GitHub: [C++] Helpers


Сообщение отредактировал iGROK - воскресенье, 10-04-2016, 23:22
Нет на форуме
 
Cergпонедельник, 11-04-2016, 13:38 | Сообщение #5

Нет аватара
Группа:
Power Band
Большой босс

На счету:
2142$
Регистрация:
03-04-2010
Город:
Тюмень
Пол:
Мужчина

iGROK, плюс, это обход защиты игры, скорее всего, да и переводит Гугл с нетепичных языков так отлично, что проще их выучить, чем понять что он там имел в виду. Но вот миллион игроков в Онлайне одновременно на ПК навряд ли найдется. Это вообще проблема третьестепенная, а то и четвертостепенная, честно говоря.

 


Сообщение отредактировал Cerg - понедельник, 11-04-2016, 13:42
Нет на форуме
 
RusUpdate      понедельник, 11-04-2016, 20:46 | Сообщение #6

Группа:
FIB
Большой босс

На счету:
2480$
Регистрация:
09-08-2010
Город:
Москва
Пол:
Мужчина

iGROK, так если оплатишь соответствующий тариф по юзанию API жужла, то всё будет ок.

 
Нет на форуме
 
iGROK      понедельник, 11-04-2016, 23:17 | Сообщение #7

Группа:
FIB
SPEEDHUNTER

На счету:
2397$
Регистрация:
08-10-2009
Город:
Ростов-на-Дону
Пол:
Мужчина

RusUpdate, ну... ты же понимаешь, что ради мелкой функции с некоммерческим использованием я не буду этого делать smile

 

GitHub: [C++] Helpers
Нет на форуме
 
iGROK      пятница, 15-04-2016, 23:59 | Сообщение #8

Группа:
FIB
SPEEDHUNTER

На счету:
2397$
Регистрация:
08-10-2009
Город:
Ростов-на-Дону
Пол:
Мужчина

Ну ведь были же у Google-а нормальные ссылки для API... Нафига было вот так портить свой сервис всякими платными APIv2 с мусором в ответном сообщении?!

APIv1:
http://translate.google.com/translate_a/t?client=x&sl=en&tl=ru&q=hello
http://translate.googleapis.com/transla....q=hello

 

GitHub: [C++] Helpers
Нет на форуме
 
GTA форум » Наши модмейкеры » iGROK (AXLiberty) » [C#] Внедрение Переводчика Google (Эмуляция API через WebClient)
Страница 1 из 11
Поиск:

СОЦИАЛЬНЫЕ СЕТИ:
© 2007-2016
«При копировании материалов с сайта, будьте людьми — ставьте ссылку»