예제 #1
0
        public Translation Translate(string text, LangPair lang, OutputFormat?format = null, bool options = false)
        {
            RestRequest request = new RestRequest("translate");

            request.AddParameter("key", _key);
            request.AddParameter("text", text);
            if (lang.OutputLang != Lang.None)
            {
                if (lang.InputLang == Lang.None)
                {
                    request.AddParameter("lang", lang.OutputLang.ToString().ToLowerInvariant());
                }
                else
                {
                    request.AddParameter("lang", lang.ToString().ToLowerInvariant());
                }
            }
            if (format.HasValue)
            {
                request.AddParameter("format", format.ToString().ToLowerInvariant());
            }
            if (options)
            {
                request.AddParameter("options", "1");
            }

            return(SendRequest <Translation>(request));
        }
        public static LangPair Parse(string langPair)
        {
            var inOut  = langPair.Split('-');
            var result = new LangPair((Lang)Enum.Parse(typeof(Lang), inOut[0], true),
                                      (Lang)Enum.Parse(typeof(Lang), inOut[1], true));

            return(result);
        }
        public LangPair[] GetLangs()
        {
            RestRequest request = new RestRequest("getLangs");

            request.AddParameter("key", _key);

            var response = SendRequest <List <string> >(request);
            var allLangs = (Lang[])Enum.GetValues(typeof(Lang));

            LangPair[] result = response.Select(str => LangPair.Parse(str)).ToArray();
            return(result);
        }
예제 #4
0
		public DicResult Lookup(LangPair lang, string text, string ui = null, LookupOptions flags = 0)
		{
			RestRequest request = new RestRequest("lookup");
			request.AddParameter("key", _key);
			request.AddParameter("lang", lang.ToString().ToLowerInvariant());
			request.AddParameter("text", text);
			
			if (!string.IsNullOrEmpty(ui))
				request.AddParameter("ui", ui);
			if (flags != 0)
				request.AddParameter("flags", (int)flags);

			return SendRequest<DicResult>(request);
		}
        public DicResult Lookup(LangPair lang, string text, string ui = null, LookupOptions flags = 0)
        {
            RestRequest request = new RestRequest("lookup");

            request.AddParameter("key", _key);
            request.AddParameter("lang", lang.ToString().ToLowerInvariant());
            request.AddParameter("text", text);

            if (!string.IsNullOrEmpty(ui))
            {
                request.AddParameter("ui", ui);
            }
            if (flags != 0)
            {
                request.AddParameter("flags", (int)flags);
            }

            return(SendRequest <DicResult>(request));
        }
예제 #6
0
		public Translation Translate(string text, LangPair lang, OutputFormat? format = null, bool options = false)
		{
			RestRequest request = new RestRequest("translate");
			request.AddParameter("key", _key);
			request.AddParameter("text", text);
			if (lang.OutputLang != Lang.None)
			{
				if (lang.InputLang == Lang.None)
					request.AddParameter("lang", lang.OutputLang.ToString().ToLowerInvariant());
				else
					request.AddParameter("lang", lang.ToString().ToLowerInvariant());
			}
			if (format.HasValue)
				request.AddParameter("format", format.ToString().ToLowerInvariant());
			if (options)
				request.AddParameter("options", "1");

			return SendRequest<Translation>(request);
		}
예제 #7
0
        public Yandex.LangPair GetLangPair(string inputLang, string outputLang)
        {
            Yandex.LangPair langPair = new Yandex.LangPair();
            switch (inputLang)
            {
            case "Русский":
                langPair.InputLang = Yandex.Lang.Ru;
                break;

            case "Английский":
                langPair.InputLang = Yandex.Lang.En;
                break;

            case "Французский":
                langPair.InputLang = Yandex.Lang.Fr;
                break;

            default:
                break;
            }
            switch (outputLang)
            {
            case "Русский":
                langPair.OutputLang = Yandex.Lang.Ru;
                break;

            case "Английский":
                langPair.OutputLang = Yandex.Lang.En;
                break;

            case "Французский":
                langPair.OutputLang = Yandex.Lang.Fr;
                break;

            default:
                break;
            }
            return(langPair);
        }
예제 #8
0
 public string Translate(string input, Yandex.LangPair langPair)
 {
     return(translator.Translate(input, langPair).Text);
 }