Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Переводчик

Статус
В этой теме нельзя размещать новые ответы.

Mathian

Мастер
Всем Хай!
На ПК отрыл скрипт переводчика, если кому нужен - держите.
Здесь мы будем юзать всё тот же сервис Google, как и в "Разговор в SA-MP"​

Приступим к написанию, для начала нам нужен:
PHP:
#include <a_http>
Далее, идём в public OnPlayerText(playerid, text[]):
PHP:
	if(GetPVarInt(playerid,"Tr") == 1)
	{
	    new Yaz[5];
	    GetPVarString(playerid,"Lg",Yaz,5);
	    Translate(playerid,Yaz,text);
	    new str[128],str2[128];
	    format(str2,sizeof(str2),"{FFFFFF}Перевод: {CCFF00}%s",text);
	    format(str,sizeof(str),"{FFFFFF}Перевожу На {FFCC00}%s {FFFFFF}Язык",GetAllLanguaje(Yaz));
        SendClientMessage(playerid,-1,""),SendClientMessage(playerid,-1,str2),SendClientMessage(playerid,-1,str);
	    return false;
	}
Делаем активацию и выбор языка в public OnPlayerCommandText(playerid, cmdtext[]):
PHP:
	if(strcmp(cmdtext, "/translator", true) == 0)
	{
	    if(!GetPVarInt(playerid,"Tr"))
	    {
	        SendClientMessage(playerid,-1,"Переводчик Активирован | Используйте /translator | Для смены языка  используйте /change");
		    SetPVarInt(playerid,"Tr",1);
		    SetPVarString(playerid,"Lg","en");
	    }
	    else
	    {
	        SendClientMessage(playerid,-1,"BYE");
	        DeletePVar(playerid,"Tr");
	        DeletePVar(playerid,"Lg");
	    }
	    return true;
	}
	if(strcmp(cmdtext, "/change", true) == 0)
	{
 		if(GetPVarInt(playerid,"Tr") == 1)
	    {
			new string[1437];
			strcat(string,"{FFCC00}Немецкий{CCFF00}\"DE\"\n");
			strcat(string,"{FFCC00}Арабский{CCFF00}\"AR\"\n");
			strcat(string,"{FFCC00}Болгарский{CCFF00}\"BG\"\n");
			strcat(string,"{FFCC00}Каталонский{CCFF00}\"CA\"\n");
			strcat(string,"{FFCC00}Чешский{CCFF00}\"CS\"\n");
			strcat(string,"{FFCC00}Упрощенный Китайский{CCFF00}CHS\"\n");
			strcat(string,"{FFCC00}Традиционный Китайский{CCFF00}CHT\"\n");
			strcat(string,"{FFCC00}Корейский{CCFF00}\"KO\"\n");
			strcat(string,"{FFCC00}Гаитянско-Креольский{CCFF00}\"HT\"\n");
			strcat(string,"{FFCC00}Датский{CCFF00}\"DA\"\n");
			strcat(string,"{FFCC00}Словакский{CCFF00}\"SK\"\n");
			strcat(string,"{FFCC00}Словенский{CCFF00}\"SL\"\n");
			strcat(string,"{FFCC00}Испанский{CCFF00}\"ES\"\n");
			strcat(string,"{FFCC00}Эстонский{CCFF00}\"ET\"\n");
			strcat(string,"{FFCC00}Финский{CCFF00}\"FI\"\n");
			strcat(string,"{FFCC00}Французский{CCFF00}\"FR\"\n");
			strcat(string,"{FFCC00}Греческий{CCFF00}\"EL\"\n");
			strcat(string,"{FFCC00}Ивритский Язык{CCFF00}\"HE\"\n");
			strcat(string,"{FFCC00}Язык Хинди{CCFF00}\"HI\"\n");
			strcat(string,"{FFCC00}Язык Хмонг{CCFF00}\"MWW\"\n");
			strcat(string,"{FFCC00}Голландский{CCFF00}\"NL\"\n");
			strcat(string,"{FFCC00}Венгерский{CCFF00}\"HU\"\n");
			strcat(string,"{FFCC00}Индонезийский{CCFF00}\"ID\"\n");
			strcat(string,"{FFCC00}Английский{CCFF00}\"EN\"\n");
			strcat(string,"{FFCC00}Итальянский{CCFF00}\"IT\"\n");
			strcat(string,"{FFCC00}Японский{CCFF00}\"JA\"\n");
			strcat(string,"{FFCC00}Латышский{CCFF00}\"LV\"\n");
			strcat(string,"{FFCC00}Литовский{CCFF00}\"LT\"\n");
			strcat(string,"{FFCC00}Норвежский{CCFF00}\"NO\"\n");
			strcat(string,"{FFCC00}Персицкий{CCFF00}\"FA\"\n");
			strcat(string,"{FFCC00}Польский{CCFF00}\"PL\"\n");
			strcat(string,"{FFCC00}Португальский{CCFF00}\"PT\"\n");
			strcat(string,"{FFCC00}Румынский{CCFF00}\"RO\"\n");
			strcat(string,"{FFCC00}Русский{CCFF00}\"RU\"\n");
			strcat(string,"{FFCC00}Шведский{CCFF00}\"SV\"\n");
			strcat(string,"{FFCC00}Тайландский{CCFF00}\"TH\"\n");
			strcat(string,"{FFCC00}Турецкий{CCFF00}\"TR\"\n");
			strcat(string,"{FFCC00}Украинский{CCFF00}\"UK\"\n");
			strcat(string,"{FFCC00}Вьетнамский{CCFF00}\"VI\"\n");
			ShowPlayerDialog(playerid, 7340, DIALOG_STYLE_LIST, "{FFCC00}Сменить Язык", string, "Выбрать", "Отмена");
		}
		else SendClientMessage(playerid,-1,"{FFFFFF}Вы не используете переводчик | {FFCC00}/translator");
	    return true;
	}
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]):
PHP:
    if(dialogid == 7340)
    {
        if(response)
        {
			switch(listitem)
			{
			    case 0:SetPVarString(playerid,"Lg","de");
			    case 1:SetPVarString(playerid,"Lg","ar");
			    case 2:SetPVarString(playerid,"Lg","bg");
			    case 3:SetPVarString(playerid,"Lg","ca");
			    case 4:SetPVarString(playerid,"Lg","cs");
			    case 5:SetPVarString(playerid,"Lg","zh-CHS");
			    case 6:SetPVarString(playerid,"Lg","zh-CHT");
			    case 7:SetPVarString(playerid,"Lg","ko");
			    case 8:SetPVarString(playerid,"Lg","ht");
			    case 9:SetPVarString(playerid,"Lg","da");
			    case 10:SetPVarString(playerid,"Lg","sk");
			    case 11:SetPVarString(playerid,"Lg","sl");
			    case 12:SetPVarString(playerid,"Lg","es");
			    case 13:SetPVarString(playerid,"Lg","et");
			    case 14:SetPVarString(playerid,"Lg","fi");
			    case 15:SetPVarString(playerid,"Lg","fr");
			    case 16:SetPVarString(playerid,"Lg","el");
			    case 17:SetPVarString(playerid,"Lg","he");
			    case 18:SetPVarString(playerid,"Lg","hi");
			    case 19:SetPVarString(playerid,"Lg","mww");
			    case 20:SetPVarString(playerid,"Lg","nl");
			    case 21:SetPVarString(playerid,"Lg","hu");
			    case 22:SetPVarString(playerid,"Lg","id");
			    case 23:SetPVarString(playerid,"Lg","en");
			    case 24:SetPVarString(playerid,"Lg","it");
			    case 25:SetPVarString(playerid,"Lg","ja");
			    case 26:SetPVarString(playerid,"Lg","lv");
			    case 27:SetPVarString(playerid,"Lg","lt");
			    case 28:SetPVarString(playerid,"Lg","no");
			    case 29:SetPVarString(playerid,"Lg","fa");
			    case 30:SetPVarString(playerid,"Lg","pl");
			    case 31:SetPVarString(playerid,"Lg","pt");
			    case 32:SetPVarString(playerid,"Lg","ro");
			    case 33:SetPVarString(playerid,"Lg","ru");
			    case 34:SetPVarString(playerid,"Lg","sv");
			    case 35:SetPVarString(playerid,"Lg","th");
			    case 36:SetPVarString(playerid,"Lg","tr");
			    case 37:SetPVarString(playerid,"Lg","uk");
			    case 38:SetPVarString(playerid,"Lg","vi");
			}
		    new Yaz[5];
		    GetPVarString(playerid,"Lg",Yaz,5);
			new str[128];
		    format(str,sizeof(str),"{FFFFFF}Язык был изменён на {FFCC00}%s",GetAllLanguaje(Yaz));
		    SendClientMessage(playerid,-1,str);
        }
        return true;
    }
И в конец добавляем:
PHP:
stock GetAllLanguaje(Lg[])
{
    new lengua[25];
	if(!strcmp(Lg, "de")) lengua = "Немецкий";
	else if(!strcmp(Lg, "ar")) lengua = "Арабский";
	else if(!strcmp(Lg, "bg")) lengua = "Болгарский";
	else if(!strcmp(Lg, "ca")) lengua = "Каталонский";
	else if(!strcmp(Lg, "cs")) lengua = "Чешский";
	else if(!strcmp(Lg, "zh-CHS")) lengua = "Упрощенный Китайский";
	else if(!strcmp(Lg, "zh-CHT")) lengua = "Традиционный Китайский";
	else if(!strcmp(Lg, "ko")) lengua = "Корейский";
	else if(!strcmp(Lg, "ht")) lengua = "Гаитянско-Креольский";
	else if(!strcmp(Lg, "da")) lengua = "Датский";
	else if(!strcmp(Lg, "sk")) lengua = "Словакский";
	else if(!strcmp(Lg, "sl")) lengua = "Словенский";
	else if(!strcmp(Lg, "es")) lengua = "Испанский";
	else if(!strcmp(Lg, "et")) lengua = "Эстонский";
	else if(!strcmp(Lg, "fi")) lengua = "Финский";
	else if(!strcmp(Lg, "fr")) lengua = "Французский";
	else if(!strcmp(Lg, "el")) lengua = "Греческий";
	else if(!strcmp(Lg, "he")) lengua = "Ивритский Язык";
	else if(!strcmp(Lg, "hi")) lengua = "Язык Хинди";
	else if(!strcmp(Lg, "mww")) lengua = "Язык Хмонг";
	else if(!strcmp(Lg, "nl")) lengua = "Голландский";
	else if(!strcmp(Lg, "hu")) lengua = "Венгерский";
	else if(!strcmp(Lg, "id")) lengua = "Индонезийский";
	else if(!strcmp(Lg, "en")) lengua = "Английский";
	else if(!strcmp(Lg, "it")) lengua = "Итальянский";
	else if(!strcmp(Lg, "ja")) lengua = "Японский";
	else if(!strcmp(Lg, "lv")) lengua = "Латышский";
	else if(!strcmp(Lg, "lt")) lengua = "Литовский";
	else if(!strcmp(Lg, "no")) lengua = "Норвежский";
	else if(!strcmp(Lg, "fa")) lengua = "Персицкий";
	else if(!strcmp(Lg, "pl")) lengua = "Польский";
	else if(!strcmp(Lg, "pt")) lengua = "Португальский";
	else if(!strcmp(Lg, "ro")) lengua = "Румынский";
	else if(!strcmp(Lg, "ru")) lengua = "Русский";
	else if(!strcmp(Lg, "sv")) lengua = "Шведский";
	else if(!strcmp(Lg, "th")) lengua = "Дайландский";
	else if(!strcmp(Lg, "tr")) lengua = "Турецкий";
	else if(!strcmp(Lg, "uk")) lengua = "Украинский";
	else if(!strcmp(Lg, "vi")) lengua = "Вьетнамский";
    return lengua;
}
stock Translate(playerid,to[],text[])
{
    new Link[1200];
    format(Link,sizeof(Link),"api.microsofttranslator.com/V2/Ajax.svc/Translate?appId=6635D742380CF583FEE16FF83E80BC8238F166E3&to=%s&text=%s",to,text);
    for(new c; c < strlen(Link)+1; c++)if(Link[c] == ' ') Link[c] = '+';
	HTTP(playerid, HTTP_GET, Link, "", "UpdateResponse");
    return true;
}
forward UpdateResponse(playerid, response_code, data[]);
public UpdateResponse(playerid, response_code, data[])
{
    new string[1028];
    if(response_code == 200)
    {
	    if(strfind(data, "п»ї", true) != -1) strdel(data,0,3);
        format(string, sizeof(string), "{FFCC00}%s", data);
        SendClientMessage(playerid,-1," ");
        SendClientMessage(playerid,-1,string);
	    new Yaz[5];
	    GetPVarString(playerid,"Lg",Yaz,5);
		new strp[128];
		format(strp,sizeof(strp),"http://translate.google.com/translate_tts?tl=%s&q=%s",Yaz,data);
        PlayAudioStreamForPlayer(playerid,strp);
    }
    else format(string, sizeof(string), "Запрос не удался! | Ответ: %d", response_code),SendClientMessage(playerid, 0xFFFFFFFF, string);
}
Готово!
Автора не помню, по-моему предоставил в том виде в котором был скрипт. Пользуйтесь на здоровье! xD​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу