Exemplo n.º 1
0
 /// <summary>
 /// 双击选择要读取的翻译文本
 /// </summary>
 private void TransGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     if (sender != null)
     {
         DataGrid grid = sender as DataGrid;
         if (grid != null && grid.SelectedItems != null && grid.SelectedItems.Count == 1)
         {
             FileData     info  = (FileData)grid.SelectedItem;
             StreamReader s     = new StreamReader(info.Fdata.OpenRead());
             string       start = s.ReadLine();
             if (start == null || !start.Contains("DMK"))
             {
                 s.Close();
                 MessageBoxResult result = MessageBox.Show("尝试打开一个非DM提取的文本文件!", "警告", MessageBoxButton.OK, MessageBoxImage.Error);
                 return;
             }
             DialoguesData data = this.textmGird.DataContext as DialoguesData;
             data.InitData(start);
             data.ReadDialogues(s, TextType.Original);
             s.Close();
             //从翻译后文本文件读取文本
             if (!FileOperator.FileExist(info.Fdata.DirectoryName, (info.Fdata.Name.Replace(info.Fdata.Extension, "") + Const.FinishName), FileType.all))
             {
                 info.Fdata.CopyTo(info.Fdata.FullName.Replace(info.Fdata.Extension, "") + Const.FinishName);
             }
             FileInfo f = FileOperator.GetFile(info.Fdata.FullName.Replace(info.Fdata.Extension, "") + Const.FinishName);
             s = new StreamReader(f.OpenRead());
             data.ReadDialogues(s, TextType.Posttranslation);
             s.Close();
             this.SaveBtn.IsEnabled = true;
         }
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// 保存json文本
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void savejsonBtn_Click(object sender, RoutedEventArgs e)
        {
            DataGrid grid = this.refGrid as DataGrid;

            if (grid.SelectedItem == null)
            {
                return;
            }
            FileData info = (FileData)grid.SelectedItem;

            FileOperator.SaveJson(info.Fdata, this.refDataGrid.DataContext as RefData);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 文本保存到文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void saveBtn_Click(object sender, RoutedEventArgs e)
        {
            DialoguesData data = this.textmGird.DataContext as DialoguesData;
            FileData      info = (FileData)this.transGrid.SelectedItem;
            FileInfo      f    = FileOperator.GetFile(info.Fdata.FullName.Replace(info.Fdata.Extension, "") + Const.FinishName);

            if (data.SaveDialogues(new StreamWriter(f.Create(), Encoding.UTF8)))
            {
                MessageBoxResult result = MessageBox.Show($"文件成功写入到{f.FullName}", "通知", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            else
            {
                MessageBoxResult result = MessageBox.Show($"文件写入失败!", "警告", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Exemplo n.º 4
0
 /// <summary>
 /// 双击选择要读取的参考JSON
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void RefGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     if (sender != null)
     {
         DataGrid grid = sender as DataGrid;
         if (grid != null && grid.SelectedItems != null && grid.SelectedItems.Count == 1)
         {
             FileData info = (FileData)grid.SelectedItem;
             RefData  rd   = new RefData();
             this.refDataGrid.DataContext = rd;
             if (!FileOperator.ReadJson(info.Fdata, ref rd))
             {
                 MessageBoxResult result = MessageBox.Show("参考文本读取失败!", "警告", MessageBoxButton.OK, MessageBoxImage.Error);
                 return;
             }
             this.refgridCBox.SelectedIndex = 0;
             this.addBtn.IsEnabled          = true;
             this.dunBtn.IsEnabled          = true;
         }
     }
 }
Exemplo n.º 5
0
 /// <summary>
 /// 加载文件按钮
 /// </summary>
 private void loadBtn_Click(object sender, RoutedEventArgs e)
 {
     translist.Clear();
     reflist.Clear();
     string[] rule = new string[] { "data", "reference" };
     string[] temp = FileOperator.DimExist(Environment.CurrentDirectory, rule);
     if (temp == null || temp.Length < 2)
     {
         MessageBoxResult result = MessageBox.Show("当前程序目录下未找到data和reference目录!", "警告", MessageBoxButton.OK, MessageBoxImage.Error);
         return;
     }
     foreach (string t in temp)
     {
         if (t.Split('\\').Last().ToLower().Equals("data"))
         {
             List <FileInfo> file = FileOperator.GetFiles(t, FileType.txt);
             FileData        dt   = new FileData();
             foreach (FileInfo fi in file)
             {
                 dt.data  = fi.Name.Replace(fi.Extension, "");
                 dt.Fdata = fi;
                 translist.Add(dt);
             }
         }
         else if (t.Split('\\').Last().ToLower().Equals("reference"))
         {
             List <FileInfo> file = FileOperator.GetFiles(t, FileType.json);
             FileData        dt   = new FileData();
             foreach (FileInfo fi in file)
             {
                 dt.data  = fi.Name.Replace(fi.Extension, "");
                 dt.Fdata = fi;
                 reflist.Add(dt);
             }
         }
     }
 }