Exemple #1
0
        private string OperationForOneWord(string word)
        {
            string lang;

            (string, bool)translateInDictionary = GetTranslateInDictionary(word.ToLower());
            if (translateInDictionary.Item2)
            {
                flag = "переведено словарём в приложении";
                return(translateInDictionary.Item1);
            }

            lang = GetLangForOneWord(word.ToLower());
            if (lang != null)
            {
                (string, int)translateInformation = TranslatorApi.TranslateWord(lang, word);
                if (translateInformation.Item2 == 1)
                {
                    if (word != translateInformation.Item1)
                    {
                        flag = "переведено Яндекс Переводчиком";
                    }
                }
                else
                {
                    flag = "ошибка";
                }
                return(translateInformation.Item1);
            }
            return("Ошибка! Язык не определён!");
        }
Exemple #2
0
        public MainPage(TranslatorApi API)
        {
            InitializeComponent();

            _API = API;
            GetLanguagesAsync();
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            Xamarin.Essentials.Platform.Init(this, savedInstanceState);

            counter = 1;
            WordsLogic.GetInstance();
            Task.Run(() => TranslatorApi.ZeroRequest());

            SetContentView(Resource.Layout.splash_screen_view);
        }
Exemple #4
0
        private string OperationForText(string text)
        {
            string lang = GetLangForOneWord(wordsForTranslate[0].ToLower());

            (string, int)translateInformation = TranslatorApi.TranslateText(lang, text);

            if (translateInformation.Item2 == 0)
            {
                cancelTokenSource.Cancel();
            }
            condition = "готово";
            return(translateInformation.Item1);
        }
        public async Task TrandlateTask(string toLang, [Remainder] string query)
        {
            string[] dataStrings = TranslatorApi.Translate(toLang, query);
            var      embed       = new EmbedBuilder();
            var      rand        = new Random();

            if (dataStrings.Length == 1)
            {
                embed.WithDescription(dataStrings[0]);
            }
            else
            {
                embed.WithDescription(dataStrings[2]);
                embed.WithTitle($"Translated from {dataStrings[0]} to {dataStrings[1]}");
            }

            embed.WithFooter($"Requested by {Context.User}");
            embed.WithColor(new Color(rand.Next(0, 256), rand.Next(0, 256), rand.Next(0, 256)));
            await ReplyAsync("", false, embed.Build());
        }
        public string Evaluate(Context context)
        {
            try
            {
                var targetAttribute = context.Element.Attribute("Target");
                if (targetAttribute != null)
                {
                    var translator = new TranslatorApi
                    {
                        SourceLanguage = _plugin.Settings["Source-Language"].Value,
                        SourceText = context.Element.Value,
                        TargetLanguage = targetAttribute.Value
                    };

                    Task.Factory.StartNew(() =>
                    {
                        var result = translator.Translate();

                        var dispatcher = VirtualAssistant.Instance.Components.Get<Dispatcher>();
                        dispatcher.Invoke(() =>
                        {
                            context.User.Vars["translation-query"].Value = context.Element.Value;
                            if (!string.IsNullOrEmpty(result))
                            {
                                context.User.Vars["translation-text"].Value = result;
                                context.Bot.Trigger("translation-found");
                            }
                            else
                            {
                                context.Bot.Trigger("translation-not-found");
                            }
                        });
                    });
                }
            }
            catch (Exception exception)
            {
                VirtualAssistant.Instance.Logger.Error(exception);
            }
            return string.Empty;
        }
 public async Task DetecTask([Remainder] string query)
 {
     await ReplyAsync(TranslatorApi.DetectLanguageName(query));
 }