public IEnumerable<string> GetPossibleExtensions(TranslatorType transType)
        {
            var extensions = new List<string>();
            foreach (var trans in GetTranslators(transType))
                extensions.Add(string.Format(".{0}",trans.FileExtension));

            return extensions;
        }
示例#2
0
        private void projectSettingsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            const string TRANSLATOR = "translator";

            var zQuery = new QueryPanelDialog("Project Settings", 450, 200, false);

            zQuery.SetIcon(Resources.CardMakerIcon);

            TranslatorType eTranslator = ProjectManager.Instance.LoadedProjectTranslatorType;

            zQuery.AddPullDownBox("Translator",
                                  new string[] { TranslatorType.Incept.ToString(), TranslatorType.JavaScript.ToString() }, (int)eTranslator, TRANSLATOR);

            if (DialogResult.OK == zQuery.ShowDialog(this))
            {
                ProjectManager.Instance.LoadedProject.translatorName = ((TranslatorType)zQuery.GetIndex(TRANSLATOR)).ToString();
                ProjectManager.Instance.FireProjectUpdated(true);
                LayoutManager.Instance.InitializeActiveLayout();
            }
        }
        private List <IFileTranslator> GetTranslators(TranslatorType transType)
        {
            return(CacheService.GetCacheItem <List <IFileTranslator> >("OptimusKeyGetTranslators" + transType, configCacheSyncLock, TimeSpan.FromHours(6),
                                                                       delegate
            {
                var retVal = new List <IFileTranslator>();

                var types = GetAllTypesUsingInterface(typeof(IFileTranslator));
                foreach (var type in types)
                {
                    IFileTranslator trans = Activator.CreateInstance(type) as IFileTranslator;

                    if (trans.TranslatorType == transType)
                    {
                        retVal.Add(trans);
                    }
                }

                return retVal;
            }));
        }
示例#4
0
        public static Type GetType(TranslatorType type)
        {
            switch (type)
            {
            case TranslatorType.Google: return(typeof(GoogleTranslator));

            case TranslatorType.Bing: return(typeof(BingTranslator));

            case TranslatorType.Yandex: return(typeof(YandexTranslator));

            case TranslatorType.Prompt: return(typeof(PromptTranslator));

            case TranslatorType.Babylon: return(typeof(BabylonTranslator));

            case TranslatorType.SDL: return(typeof(SDLTranslator));

            case TranslatorType.Baidu: return(typeof(BaiduTranslator));

            default: return(null);
            }
        }
        private InvalidOperationException MakeMessageReceivedHandlerThrowException(TranslatorType translatorType)
        {
            var exception = new InvalidOperationException();
            switch(translatorType) {
                case TranslatorType.Adsb:
                case TranslatorType.ModeS:      _ModeSMessageReceivedEvent.EventRaised += (s, a) => { throw exception; }; break;
                case TranslatorType.Port30003:
                case TranslatorType.Raw:        _Port30003MessageReceivedEvent.EventRaised += (s, a) => { throw exception; }; break;
                default:
                    throw new NotImplementedException();
            }

            return exception;
        }
        private InvalidOperationException MakeFormatTranslatorThrowException(TranslatorType translatorType)
        {
            var exception = new InvalidOperationException();
            switch(translatorType) {
                case TranslatorType.Adsb:       _AdsbTranslator.Setup(r => r.Translate(It.IsAny<ModeSMessage>())).Throws(exception); break;
                case TranslatorType.ModeS:      _ModeSTranslator.Setup(r => r.Translate(It.IsAny<byte[]>(), It.IsAny<int>())).Throws(exception); break;
                case TranslatorType.Port30003:  _Port30003Translator.Setup(r => r.Translate(It.IsAny<string>())).Throws(exception); break;
                case TranslatorType.Raw:        _RawMessageTranslator.Setup(r => r.Translate(It.IsAny<DateTime>(), It.IsAny<ModeSMessage>(), It.IsAny<AdsbMessage>())).Throws(exception); break;
                default:
                    throw new NotImplementedException();
            }

            return exception;
        }
        private void DoForEveryFormatAndTranslator(Action<ExtractedBytesFormat, TranslatorType, string> action)
        {
            foreach(ExtractedBytesFormat format in Enum.GetValues(typeof(ExtractedBytesFormat))) {
                TranslatorType[] translators;
                switch(format) {
                    case ExtractedBytesFormat.Port30003:    translators = new TranslatorType[] { TranslatorType.Port30003 }; break;
                    case ExtractedBytesFormat.ModeS:        translators = new TranslatorType[] { TranslatorType.ModeS, TranslatorType.Adsb, TranslatorType.Raw }; break;
                    case ExtractedBytesFormat.None:         continue;
                    default:                                throw new NotImplementedException();
                }

                foreach(var translatorType in translators) {
                    TestCleanup();
                    TestInitialise();

                    var failMessage = String.Format("Format {0}, Translator {1}", format, translatorType);
                    action(format, translatorType, failMessage);
                }
            }
        }
示例#8
0
 public void ChangeLanguages(LanguageList input, LanguageList output)
 {
     TranslatorType.ChangeLanguages(input, output);
 }
示例#9
0
 protected BaseLineTranslatorAsk(Interpreter interpreter, TranslatorType type, String rightAnswer, Int32 order)
     : base(interpreter, type, order)
 {
     this.rightAnswer = rightAnswer;
 }
示例#10
0
 public void AddTranslator(TranslatorType type)
 {
     Translators.Add(new Translator(type.ToString()));
     Activate(type);
 }
        public bool IsAppropriateForTranslation(TranslatorType translatorType)
        {
            switch (translatorType)
            {
                case TranslatorType.GOOGLE:
                    return LanguageMap.ContainsValue(ToLanguageExtension) && ActiveTranslators.Contains(translatorType);
                case TranslatorType.SESLISOZLUK:
                    return LanguageMap.ContainsValue(ToLanguageExtension) && ActiveTranslators.Contains(translatorType);
                case TranslatorType.YANDEX:
                    return YandexLanguageMapExtensions.Contains(ToLanguageExtension) && ActiveTranslators.Contains(translatorType);
                case TranslatorType.TURENG:
                    return IsToLanguageTurkish && ActiveTranslators.Contains(translatorType);
            }

            return false;
        }
示例#12
0
文件: MainForm.cs 项目: radtek/Ocr
        public void Initialize()
        {
            isUpdating = true;

            Program.SetEngines(engines);
            Program.SetTranslators(translators);

            foreach (var value in Enum.GetValues(typeof(OcrEngineType)))
            {
                OcrEngineType type   = (OcrEngineType)value;
                OcrEngine     engine = OcrEngine.Create(type);
                if (engine != null)// && engine.IsInstalled)
                {
                    engines[type] = engine;
                    ocrEngineToolStripComboBox.Items.Add(type);
                }
            }
            if (ocrEngineToolStripComboBox.Items.Count > 0)
            {
                ocrEngineToolStripComboBox.SelectedIndex = 0;
            }

            foreach (var value in Enum.GetValues(typeof(TranslatorType)))
            {
                TranslatorType type       = (TranslatorType)value;
                Translator     translator = Translator.Create(type);
                if (translator != null && translator.IsEnabled)
                {
                    translators[type] = translator;
                    translateApiToolStripComboBox.Items.Add(type);
                }
            }
            if (translateApiToolStripComboBox.Items.Count > 0)
            {
                translateApiToolStripComboBox.SelectedIndex = 0;
            }

            foreach (var value in Enum.GetValues(typeof(OcrEngineProfile)))
            {
                OcrEngineProfile profile = (OcrEngineProfile)value;
                if (profile < OcrEngineProfile.Linear)
                {
                    ocrProfileToolStripComboBox.Items.Add(profile);
                }
                else
                {
                    for (int i = 2; i <= Program.ProfilesCount; i++)
                    {
                        ocrProfileToolStripComboBox.Items.Add(profile + " " + i + "x");
                    }
                }
            }
            if (ocrProfileToolStripComboBox.Items.Count > 0)
            {
                ocrProfileToolStripComboBox.SelectedIndex = 0;
            }

            UpdateLanguages();

            ocrEngineToolStripComboBox.ComboBox.PreviewKeyDown     += ComboBox_PreviewKeyDown;
            ocrProfileToolStripComboBox.ComboBox.PreviewKeyDown    += ComboBox_PreviewKeyDown;
            translateApiToolStripComboBox.ComboBox.PreviewKeyDown  += ComboBox_PreviewKeyDown;
            translateFromToolStripComboBox.ComboBox.PreviewKeyDown += ComboBox_PreviewKeyDown;
            translateToToolStripComboBox.ComboBox.PreviewKeyDown   += ComboBox_PreviewKeyDown;

            ocrEngineToolStripComboBox.ComboBox.MouseWheel     += toolStripComboBox_MouseWheel;
            ocrProfileToolStripComboBox.ComboBox.MouseWheel    += toolStripComboBox_MouseWheel;
            translateApiToolStripComboBox.ComboBox.MouseWheel  += toolStripComboBox_MouseWheel;
            translateFromToolStripComboBox.ComboBox.MouseWheel += toolStripComboBox_MouseWheel;
            translateToToolStripComboBox.ComboBox.MouseWheel   += toolStripComboBox_MouseWheel;

            comboBoxPrevIndex[ocrEngineToolStripComboBox]     = 0;
            comboBoxPrevIndex[ocrProfileToolStripComboBox]    = 0;
            comboBoxPrevIndex[translateApiToolStripComboBox]  = 0;
            comboBoxPrevIndex[translateFromToolStripComboBox] = 0;
            comboBoxPrevIndex[translateToToolStripComboBox]   = 0;

            translateFromToolStripComboBox.ComboBox.DrawItem += LanguageComboBox_DrawItem;
            translateFromToolStripComboBox.ComboBox.DrawMode  = DrawMode.OwnerDrawFixed;

            translateToToolStripComboBox.ComboBox.DrawItem += LanguageComboBox_DrawItem;
            translateToToolStripComboBox.ComboBox.DrawMode  = DrawMode.OwnerDrawFixed;

            ocrEngineToolStripComboBox.ComboBox.DrawItem += EngineComboBox_DrawItem;
            ocrEngineToolStripComboBox.ComboBox.DrawMode  = DrawMode.OwnerDrawFixed;

            ocrImagePanel.ImageChanged += ocrImagePanel_ImageChanged;
            OcrHelper.Complete         += OcrHelper_Complete;
            OcrHelper.Start            += OcrHelper_Start;
            TranslateHelper.Start      += TranslateHelper_Start;
            TranslateHelper.Complete   += TranslateHelper_Complete;

            string from = Program.Settings.LanguageProfiles.Slot1;
            string to   = Program.Settings.TargetLanguage.TargetLanguage;

            if (!string.IsNullOrEmpty(from) && !string.IsNullOrEmpty(to))
            {
                int fromIndex = translateFromToolStripComboBox.Items.IndexOf(from);
                int toIndex   = translateToToolStripComboBox.Items.IndexOf(to);
                if (fromIndex >= 0 && toIndex >= 0)
                {
                    translateFromToolStripComboBox.SelectedIndex = fromIndex;
                    translateToToolStripComboBox.SelectedIndex   = toIndex;
                }
            }

            hotkeys.KeyPressed += hotkeys_KeyPressed;
            hotkeys.ClearHotKey();
            hotkeys.RegisterHotKey(Program.Settings.AutoTyper.Hotkey);

            isUpdating = false;
            SettingsChanged();

            OcrNetwork.Update();
        }
示例#13
0
 public TranslationInput(string value, TranslatorType translator)
 {
     this.Value      = value;
     this.Translator = translator;
 }
示例#14
0
 public Translator(string name, TranslatorType type) : this(name, type, true)
 {
     Name = name;
     Type = type;
 }
        private List<IFileTranslator> GetTranslators(TranslatorType transType)
        {
            return CacheService.GetCacheItem<List<IFileTranslator>>("OptimusKeyGetTranslators" + transType, configCacheSyncLock, TimeSpan.FromHours(6),
                   delegate
                   {
                       var retVal = new List<IFileTranslator>();

                       var types = GetAllTypesUsingInterface(typeof(IFileTranslator));
                       foreach (var type in types)
                       {
                           IFileTranslator trans = Activator.CreateInstance(type) as IFileTranslator;

                           if (trans.TranslatorType == transType)
                               retVal.Add(trans);
                       }

                       return retVal;
                   });
        }
 public void AddTranslator(TranslatorType translatorType)
 {
     ActiveTranslators.Add(translatorType);
 }
 public void RemoveTranslator(TranslatorType translatorType)
 {
     ActiveTranslators.Remove(translatorType);
 }
示例#18
0
 protected BaseLineTranslator(Interpreter interpreter, TranslatorType type, Int32 order)
 {
     Interpreter = interpreter;
     Type        = type;
     Order       = order;
 }
 public void RemoveTranslator(TranslatorType translatorType)
 {
     ActiveTranslators.Remove(translatorType);
 }
 public void AddTranslator(TranslatorType translatorType)
 {
     ActiveTranslators.Add(translatorType);
 }
 public void AddTranslator(TranslatorType translatorType)
 {
     Translators.Add(new Translator(translatorType.ToString(), translatorType));
 }
示例#22
0
 public void Activate(TranslatorType type)
 {
     Translators.FirstOrDefault(t => t.Name == type.ToString())?.Activate();
 }
示例#23
0
 public string Translate(string text)
 {
     return(TranslatorType.Translate(FilterInputText.FilterInputText(text)));
 }
 public void Save(TranslatorType translator, Cookie c)
 {
     this.cookies.TryAdd(translator, c);
 }
示例#25
0
 public Translator(string name, TranslatorType type, bool isEnabled)
 {
     IsEnabled = isEnabled;
     Name      = name;
     Type      = type;
 }
示例#26
0
 public static string Translate(TranslatorType type, string value, string fromLanguage, string toLanguage)
 {
     return(Create(type).Translate(value, fromLanguage, toLanguage));
 }
 public void Activate(TranslatorType translatorType)
 {
     Translators.FirstOrDefault(t => t.Type == translatorType)?.Activate();
 }