コード例 #1
0
        public TranslateString GetNormalizedTranslateString(TranslateString input)
        {
            TranslateString result = input.Clone() as TranslateString;

            string loadedString = input.LoadedString;
            string replaceToken = "";
            string normalized   = loadedString;

            MatchCollection numbers = Regex.Matches(loadedString, @"\d+(\.|,)?\d*");

            int tokenIndex = 0;

            foreach (var match in numbers)
            {
                var regex = new Regex(Regex.Escape(match.ToString()));
                normalized    = regex.Replace(normalized, "#" + tokenIndex++ + "#", 1);
                replaceToken += "#" + match.ToString() + "#";
            }

            result.NormalizedString     = normalized;
            result.ReplaceToken         = replaceToken;
            result.TranslateStringState = TranslateStringState.Normalized;

            return(result);
        }
コード例 #2
0
        private void AutoTrans() //EZTransXP Doesn't support multi-threading :/
        {
            StartLongProgress();
            try
            {
                UpdateLongProgressMessage("EZTransXP 모듈 초기화...");
                if (!EZTransXP.IsInited)
                {
                    EZTransXP.Init();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                FinishLongProgress();
                return;
            }

            long lastUpdate = DateTimeOffset.Now.ToUnixTimeMilliseconds() - 500;

            for (int i = 0; i < StringListBox.Items.Count; i++)
            {
                TranslateString str = StringListBox.Items[i] as TranslateString;
                if (str.Machine != "")
                {
                    continue;
                }
                try
                {
                    if (lastUpdate + 500 < DateTimeOffset.Now.ToUnixTimeMilliseconds())
                    {
                        UpdateLongProgressMessage("번역중 " + i + "/" + StringListBox.Items.Count);
                        lastUpdate = DateTimeOffset.Now.ToUnixTimeMilliseconds();
                    }
                    str.Machine = EZTransXP.TranslateJ2K(str.Original);
                    machineCount++;
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                }
            }
            project.Extractor.SaveTranslateStrings();
            Dispatcher.Invoke(new Action(() =>
            {
                UpdateTranslateState(true);
            }));
            FinishLongProgress();
        }
コード例 #3
0
ファイル: BaseExtractor.cs プロジェクト: wasabi-sex/HTStudio
        protected void InsertNewTranslateStrings(string original)
        {
            if (original.Trim() == "")
            {
                return;
            }
            if (TranslateStringDict.ContainsKey(original))
            {
                return;
            }
            var ts = new TranslateString()
            {
                Original = original, Hand = "", Machine = ""
            };

            TranslateStrings.Add(ts);
            TranslateStringDict[original] = ts;
        }
コード例 #4
0
 public async Task Update <T>(TranslateString str, Expression <Func <TranslateString, T> > field, T value)
 {
     await _stringsCollection.UpdateOneAsync(s => s.Id == str.Id, Builders <TranslateString> .Update.Set(field, value));
 }