ChatGPTAITranslationContentViewModel.cs 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using Microsoft.Win32;
  2. using PDF_Master.Helper;
  3. using Prism.Commands;
  4. using Prism.Mvvm;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.IO;
  8. using System.Linq;
  9. namespace PDF_Master.ViewModels.HomePanel.ChatGPTAI
  10. {
  11. public class ChatGPTAITranslationContentViewModel : BindableBase
  12. {
  13. private string fromlanguage = ChatGTPAIHelper.UpdateLanguagebType(0);
  14. private string tolanguage = ChatGTPAIHelper.UpdateLanguagebType(1);
  15. private int fromlanguageIndex = 0;
  16. public int FromlanguageIndex
  17. {
  18. get { return fromlanguageIndex; }
  19. set
  20. {
  21. SetProperty(ref fromlanguageIndex, value);
  22. fromlanguage = ChatGTPAIHelper.UpdateLanguagebType(value);
  23. }
  24. }
  25. private int tolanguageIndex = 0;
  26. public int TolanguageIndex
  27. {
  28. get { return tolanguageIndex; }
  29. set
  30. {
  31. SetProperty(ref tolanguageIndex, value);
  32. tolanguage = ChatGTPAIHelper.UpdateLanguagebType(value + 1);
  33. }
  34. }
  35. public static List<string> FromlanguageFamily { set; get; } = new List<string>();
  36. private void GetFromlanguageOrigin()
  37. {
  38. FromlanguageFamily.Clear();
  39. FromlanguageFamily = ChatGTPAIHelper.SetFromlanguageOrigin();
  40. }
  41. public List<string> TolanguageFamily { set; get; } = new List<string>();
  42. private void GetTolanguageOrigin()
  43. {
  44. TolanguageFamily.Clear();
  45. TolanguageFamily = ChatGTPAIHelper.SetTolanguageOrigin();
  46. }
  47. public DelegateCommand SelectFilesCommand { get; set; }
  48. public ChatGPTAITranslationContentViewModel()
  49. {
  50. SelectFilesCommand = new DelegateCommand(selectFiles);
  51. init();
  52. }
  53. private void init()
  54. {
  55. GetFromlanguageOrigin();
  56. GetTolanguageOrigin();
  57. }
  58. public async void selectFiles() {
  59. string txt = Properties.Resources.txtex;
  60. string word = Properties.Resources.wordex;
  61. string ppt = Properties.Resources.pptex;
  62. string excel = Properties.Resources.excelex;
  63. string html = Properties.Resources.htmlex;
  64. string image = Properties.Resources.imageex;
  65. string pdf= Properties.Resources.pdf;
  66. string allfiles = pdf+txt + word + excel + ppt + image + html;
  67. OpenFileDialog dialog = new OpenFileDialog();
  68. //dialog.Multiselect = true;
  69. dialog.Filter = string.Format($"Files({allfiles.Replace(";", ",")}|{allfiles})|" +
  70. $"Pdf({pdf})|{pdf}|" +
  71. $"Microsoft Office Word({word})|{word}|" +
  72. $"Microsoft Office Excel({excel})|{excel}|" +
  73. $"Microsoft Office PowerPoint({ppt})|{ppt}|" +
  74. $"Txt({txt})|{txt}|" +
  75. $"Picture({image})|{image}|" +
  76. $"Html({html})|{html}");
  77. if ((bool)dialog.ShowDialog())
  78. {
  79. await ChatGTPAIHelper.fileTranslate( dialog.FileName , fromlanguage, tolanguage);
  80. }
  81. }
  82. }
  83. }