override public void OnNavigationOpenPage(ParametersOfForms param_)
        {
            ListOfWordsOfDictionary_parameters Params = (ListOfWordsOfDictionary_parameters)param_;
            Dictionary = Params.Dictionary;
            Subtitles = Params.Subtitles;
            foreach (WordOfDictionary wrd in Params.ListOfWords)
            {
                ListOfWords.Add(
                    new DataGridItem {
                        Word = wrd,
                        Dictionary = wrd.Dictionary,
                        Analogy = Dictionary.FindWord(wrd.word_of_dictionary)
                    });

            }
            
        }
        public ReferencesToWord_ViewModel(
            ILogger Logger_, 
            INavigationService NavigationService_,
            EFDbContext EFDbContext_,
            IDialogService DialogService_,
            ILocalization Tx_
            )
        {
            if (!IsInDesignMode)
            {
                Logger = Logger_;
                NavigationService = NavigationService_;
                EFDbContext =EFDbContext_;
                DialogService = DialogService_;
                Tx = Tx_;

                CommandDispatcher = new MvxCommand<string>(CmdDispatcher);

                References = new ObservableCollection<ReferenceToWordOfDictionary>();
            }

            ClearButton = new ButtonModel();
                      

            if (IsInDesignMode)
            {
                Word = new WordOfDictionary { word_of_dictionary = "I'm" };

                LearningItem li1 = new LearningItem { Name = "Mazzy collection" };
                LearningItem li2 = new LearningItem { Name = "Futurama season 1" };

                Subtitles st1 = new Subtitles { Name = "English - Russian" };
                Subtitles st2 = new Subtitles { Name = "English - Ukraine" };

                References = new ObservableCollection<ReferenceToWordOfDictionary>()
                {
                    new ReferenceToWordOfDictionary {LearningItem = li1, Subtitles = st1,SubtitleItem =  new SubtitleItem { Text = "I'm Mazzy"},WordOfSubtitleItem = new WordOfSubtitleItem { word = "I'm"} },
                    new ReferenceToWordOfDictionary {LearningItem = li1, Subtitles = st1, SubtitleItem = new SubtitleItem { Text = "I am princess Sylvia" } ,WordOfSubtitleItem = new WordOfSubtitleItem { word = "I am"}},
                    new ReferenceToWordOfDictionary {LearningItem = li2, Subtitles = st2, SubtitleItem = new SubtitleItem { Text = "I'm Nibbler" } ,WordOfSubtitleItem = new WordOfSubtitleItem { word = "I'm"}}
                };

            }

        }
Ejemplo n.º 3
0
        public static Subtitles LoadSRTfile(string filename)
        {

            if (!File.Exists(filename))
            {
                return null;
            }

            Subtitles sub = new Subtitles();

            using (StreamReader reader = File.OpenText(filename))
            {
                SubtitleItem elm = GetSubItemFromFile(reader);
                while (elm != null)
                {
                    sub.Items.Add(elm);
                    elm = GetSubItemFromFile(reader);
                }
                reader.Close();
            }
            sub.Name = "[ext] " + filename;
            return sub;
        }
 async void CmdDispatcher_SubtitlesGrid(Subtitles sub,string cmd)
 {
     switch (cmd)
     {
         case "Edit":
             //Save();
             //Player.Pause();
             NavigationService.NavigateForward(Views.SubtitleEditor,new SubtitleEditor_parameters() { subtitles = sub });
             break;
         case "Delete":
             bool res = await DialogService.Ask(Tx.T("EditLearningItem.Messages.ReallyDelete"));
             if (res)
             {
                 //SQL_XML_Operations.DeleteSubtitles(sub);
             }
             break;
         default:
             SystemMessage.Show("Unknown command CmdDispatcher_SubtitlesGrid");
             break;
     }
 }
        EFDbConnect CreateDemoBase(string db_name)
        {
            string path = PathToDb(db_name);
            if (File.Exists(path))
            {
                File.Delete(path);
            }

            ILogger ILoggerMock = Mock.Of<ILogger>();
            ISQLitePlatform platf = new SQLitePlatformWin32();
            EFDbConnect EFDbConnect = new EFDbConnect(platf, path);

            EFDbContext ctx = new EFDbContext(EFDbConnect);

            LearningItem li1 = new LearningItem();
            li1.Name = "First";
            ctx.AddNewItemToDBContext(li1);
            LearningItem li2 = new LearningItem();
            li2.Name = "Second";
            ctx.AddNewItemToDBContext(li2);


            // Audio tracks
            AudioTrack at1 = new AudioTrack();
            li1.AudioTracks.Add(at1);

            AudioTrack at2 = new AudioTrack();
            li1.AudioTracks.Add(at2);

            AudioTrack at3 = new AudioTrack();
            li2.AudioTracks.Add(at3);

            // Frequency dictionary
            FrequencyDictionary fd1 = new FrequencyDictionary();
            FrequencyDictionary fd2 = new FrequencyDictionary();

            FrequencyDictionary.Item fdi1 = new FrequencyDictionary.Item();
            fd1.Items.Add(fdi1);
            FrequencyDictionary.Item fdi2 = new FrequencyDictionary.Item();
            fd1.Items.Add(fdi2);

            FrequencyDictionary.Item fdi3 = new FrequencyDictionary.Item();
            fd2.Items.Add(fdi3);
            FrequencyDictionary.Item fdi4 = new FrequencyDictionary.Item();
            fd2.Items.Add(fdi4);

            // Languages
            Language lang1 = new Language();
            lang1.FrequencyDictionary = fd1;

            Language lang2 = new Language();
            lang2.FrequencyDictionary = fd2;

            Subtitles sub1 = new Subtitles();
            li1.SubtitleCollection.Add(sub1);
            sub1.SecondaryLanguage = lang1;

            Subtitles sub2 = new Subtitles();
            li1.SubtitleCollection.Add(sub2);


            SubtitleItem si1 = new SubtitleItem();
            sub1.Items.Add(si1);
            SubtitleItem si2 = new SubtitleItem();
            sub1.Items.Add(si2);

            SubtitleItem si3 = new SubtitleItem();
            sub2.Items.Add(si3);
            SubtitleItem si4 = new SubtitleItem();
            sub2.Items.Add(si4);

            Subtitles sub3 = new Subtitles();
            li2.SubtitleCollection.Add(sub3);
            sub3.SecondaryLanguage = lang2;

            SubtitleItem si5 = new SubtitleItem();
            sub3.Items.Add(si5);


            WordOfSubtitleItem sw1 = new WordOfSubtitleItem();
            si1.WordsCollection.Add(sw1); 

            WordOfSubtitleItem sw2 = new WordOfSubtitleItem();
            si1.WordsCollection.Add(sw2); 

            WordOfSubtitleItem sw3 = new WordOfSubtitleItem();
            si5.WordsCollection.Add(sw3);



            // Dictionary
            Dictionary dic1 = new Dictionary();
            ctx.AddNewItemToDBContext(dic1);

            WordOfDictionary wd1 = new WordOfDictionary();
            dic1.Words.Add(wd1);

            TranslationOfWord tw1 = new TranslationOfWord();
            wd1.translations.Add(tw1);
            
            TranslationOfWord tw2 = new TranslationOfWord();
            wd1.translations.Add(tw2);

            WordOfDictionary wd2 = new WordOfDictionary();
            dic1.Words.Add(wd2);
            sw1.word_of_dictionary = wd1;
            sw2.word_of_dictionary = wd2;

            Dictionary dic2 = new Dictionary();
            ctx.AddNewItemToDBContext(dic2);
            WordOfDictionary wd3 = new WordOfDictionary();
            dic1.Words.Add(wd3);
            WordOfDictionary wd4 = new WordOfDictionary();
            dic1.Words.Add(wd4);
            sw3.word_of_dictionary = wd3;

            
            
            
            ctx.SaveChanges();

            return EFDbConnect;
        }
        private void PopulateDesignMode()
        {
            Subtitles = new Subtitles();
            Subtitles.IsThereDictionary = true;

            Subtitles.Items.Add(new SubtitleItem
            {
                Number = 1,
                TimeStart = 10234,
                TimeEnd = 11032,
                Text = "Hello world!",
                Text2 = "Привет мир!",
                WordsCollection = new SynchronizedObservableCollection<WordOfSubtitleItem>()
            });

            Subtitles.Items.Add(new SubtitleItem {
                Number =2,
                TimeStart = 12234,
                TimeEnd = 13032,
                Text ="Good news everyone!",
                Text2 ="У нас хорошие новости!",
                WordsCollection = new SynchronizedObservableCollection<WordOfSubtitleItem>()
            });

            
            Subtitles.Items[0].WordsCollection.Add(new WordOfSubtitleItem
            {
                number = 1,
                word = "Hello",
                word_of_dictionary = new WordOfDictionary {translation_as_string="Привет" } });

            Subtitles.Items[0].WordsCollection.Add(new WordOfSubtitleItem
            {
                number = 2,
                word = "world",
                word_of_dictionary = new WordOfDictionary { translation_as_string = "Мир" }
            });

            Subtitles.Items[0].WordsCollection.Add(new WordOfSubtitleItem
            {
                number = 1,
                word ="Hello"
            });                
            Subtitles.Items[0].WordsCollection.Add(new WordOfSubtitleItem
            {
                number = 2,
                word ="world"
            });                
            Subtitles.Items[0].WordsCollection.Add(new WordOfSubtitleItem
            {
                number = 3,
                word ="world"
            });
            
            Subtitles.Dictionary = new Dictionary();
            Subtitles.Dictionary.Words.Add(new WordOfDictionary {word_of_dictionary="Hello",translation_as_string="Привет"});
            Subtitles.Dictionary.Words.Add(new WordOfDictionary {word_of_dictionary="Morning",translation_as_string="Утро",DoNotAddToPersonalDictionaryForLearning=true});
            Subtitles.Dictionary.Words.Add(new WordOfDictionary {word_of_dictionary="Twelve",translation_as_string="Двенадцать",Status = WordStatuses.ManualEditing});
        }
Ejemplo n.º 7
0
        private static void AnalizeTrackEntry(EbmlReader ebmlReader, MatroskaElementDescriptorProvider medp, ResultOfParsingMKV resPars, StringBuilder sb, string GroupName = "", string add = "")
        {
            ulong TrackNumber = 0;
            ulong TrackUID = 0;
            ulong TrackType = 0;
            ulong FlagDefault = 0;
            ulong FlagLacing = 0;
            string CodecID = "";
            string Name = "";
            ulong  DefaultDuration = 0;
            string Language = "";
            
            ebmlReader.EnterContainer();
            while (ebmlReader.ReadNext())
            {
                var descriptor = medp.GetElementDescriptor(ebmlReader.ElementId);
                if (descriptor == null)
                {
                    sb.Append(add + "undefined \r\n");
                    continue;
                }
                string dName = descriptor.Name;
                sb.Append(add + dName);

                switch (descriptor.Type)
                {
                    case ElementType.MasterElement:
                        sb.Append("\r\n");
                        //ReadContainer(ebmlReader, medp, dicSub, CurrentClusterTimeCode, sb, descriptor.Name, add + "    ");
                        break;
                    case ElementType.AsciiString:
                        string strVal = ebmlReader.ReadAscii();
                        if(dName == "CodecID") CodecID = strVal; 
                        if (dName == "Language") Language = strVal; 
                        sb.Append(" = " + strVal);
                        break;
                    case ElementType.Binary:
                        break;
                    case ElementType.Date:
                        sb.Append(" = " + ebmlReader.ReadDate());
                        break;
                    case ElementType.Float:
                        double flVal = ebmlReader.ReadFloat();
                        sb.Append(" = " + flVal);
                        break;
                    case ElementType.None:
                        sb.Append(" (none)");
                        break;
                    case ElementType.SignedInteger:
                        sb.Append(" = " + ebmlReader.ReadInt());
                        break;
                    case ElementType.UnsignedInteger:
                        ulong ulVal = ebmlReader.ReadUInt();
                        if(dName == "TrackNumber") TrackNumber = ulVal;
                        if(dName == "TrackType") TrackType = ulVal;
                        if(dName == "FlagDefault") FlagDefault = ulVal;
                        if(dName == "FlagLacing ") FlagLacing = ulVal;
                        if(dName == "DefaultDuration") DefaultDuration = ulVal;
                        if (dName == "TrackUID") TrackUID = ulVal;
                        sb.Append(" = " + ulVal);
                        break;
                    case ElementType.Utf8String:
                        string utfStr = ebmlReader.ReadUtf();
                        if (dName == "Name") Name = utfStr;
                        sb.Append(" = " + utfStr);
                        break;
                }
                sb.Append("\r\n");
            }
            ebmlReader.LeaveContainer();
            
            // If it's subtitles track
            if (TrackType == 17) { 
                Subtitles sub = new Subtitles();
                sub.Items = new SynchronizedObservableCollection<SubtitleItem>();
                sub.Language = Language.Length == 0 ? "eng" : Language;
                sub.Type = Name;
                sub.Format = CodecID;
                sub.TrackUID = (long)TrackUID;

                resPars.dicSub.Add(Convert.ToInt16(TrackNumber),sub);
            }

            // If it's subtitles track
            if (TrackType == 2)
            {
                AudioTrack aud = new AudioTrack();
                aud.Language = Language.Length == 0 ? "eng" : Language;
                aud.CodecID = CodecID;
                aud.Number = resPars.AudioTracks.Count + 1;

                resPars.AudioTracks.Add(aud);
            }

        }
Ejemplo n.º 8
0
 public async static Task<WordOfDictionary> TranslateWord (Subtitles sub,string text)
 {
    return await TranslateWord(sub.PrimaryLanguage,sub.SecondaryLanguage,sub.WordTranslationService,text);
 }
Ejemplo n.º 9
0
 public async static Task<string> TranslateText (Subtitles sub,string text)
 {
    return await TranslateText(sub.PrimaryLanguage,sub.SecondaryLanguage,sub.TextTranslationService,text);
 }