From fd9d08b328207c8360fa8931f16edbf9d204b32f Mon Sep 17 00:00:00 2001
From: gfdgd_xi <3025613752@qq.com>
Date: Sat, 25 Nov 2023 16:38:14 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=A4=9A=E8=AF=AD=E8=A8=80?=
 =?UTF-8?q?=E6=94=AF=E6=8C=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 LANG/deepin-wine-runner-en_US.qm | Bin 13387 -> 493 bytes
 VM-source/en_US.qm               | Bin 5781 -> 11814 bytes
 VM-source/en_US.ts               | 210 +++++++++++++++++++++++++++++++
 VM-source/mainwindow.cpp         |  66 +++++-----
 VM-source/zh_CN.ts               | 205 ++++++++++++++++++++++++++++++
 5 files changed, 448 insertions(+), 33 deletions(-)

diff --git a/LANG/deepin-wine-runner-en_US.qm b/LANG/deepin-wine-runner-en_US.qm
index 64ce5e47dd155c9bd53eff4f6c01eee6b9b58d8f..dd74939fb98f1267b661c1e87e8e153c4f14d1d4 100755
GIT binary patch
literal 493
zcmcE7ks@*G{hX<16=n7(EZlo{IRgU&YieG6Xs{EI6~W-Xu9AU)(T2f~Yb%h?z*xR&
zC6Fp$d9Z#Hkd|h7u&D@0o3r*_mju!$I2^(B3ywYWO@RDfuD)kFKwTU>&g(mY{8fD1
z2HZe8I1?zC#rz)#IDlLRHXvqo&n!tzWe2htLm5$}*nm<QrAavDauTu2u><wxWaedK
z)yVGaVydC$tBGAQC^bDeBfkWzBuB7^qajYMTtHbPQ!@><VC+VN<V_8YkmZ4X7GVfu
z@MH*L2xSOn2x0ICVn+rac-U}-c?N|Bhxms$`oLTS)FZ$U&XCEF$B@dP!Jr0YYr@rY
UglFcZYN&<7T+jhj&BVwE0Qxy<4gdfE

literal 13387
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

diff --git a/VM-source/en_US.qm b/VM-source/en_US.qm
index a6af8846f9aca96a283cdb3064c4b9794860008a..5a2feaee1f14d2c078c38450b994d46a44e59fea 100644
GIT binary patch
literal 11814
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

delta 488
zcmZ1$GgWtjNIg?(o)ZHD;{pcphI|GF{;Q0-yLK=z@SJB1n&`>Ez~RPtPtA*gLCBl&
z$p=dY2EKfzSF*wk48n(*4{!p-1y3@6%PnVM;Qh_~({n2W19ujS_3KCm26k6glgBH7
z;#sUdlly`Cud({hILW}kbb^iNNfl6E8=GS!P#tsqF1GfiI~f=_tJpdkPcSfuu(KD=
zm<e<c5Bq{;9zciWv!BpV2lAJ)KL?336m#h0)d6V+4nH0apoK>`UTdymU=XO`_^JnV
z5bsvbvdvOJkGOJfUAYXX-+)U|`5#dJ2-m}vEI@}#bKCw62YTc>cVyZU28Mc(KJHeQ
zR0al?C)}HF{s5Zm#eFdp=peRK?q{Vyn)Nsj^G`XTi<NmiQuhLVP{gzFIM65T%sf}7
z0xjm1;}iJ%5~xm%&w3It<hZ5zrf#^#z`(VF@1cSoQ2k84mw_*UA+Us>y$KjXEF1Yb
z4`cxOvi#iZv=|H+xL)x~ywd`@(4SxWd?`?aCBFfaA<(4-{8pENKILBop+%xHfx&Zj
z@);KI$?9x6n-8!ZW1K9@nXtK*pPys%Mez>C$y1f)Pd=yOzj>poA@gKaP2J6xG(%Vb
DfTn}<

diff --git a/VM-source/en_US.ts b/VM-source/en_US.ts
index a3f201e..911eae6 100644
--- a/VM-source/en_US.ts
+++ b/VM-source/en_US.ts
@@ -288,11 +288,13 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <location filename="mainwindow.ui" line="497"/>
+        <location filename="mainwindow.cpp" line="442"/>
         <source>虚拟机安装日志</source>
         <translation>Virtual Machine log (Installing)</translation>
     </message>
     <message>
         <location filename="mainwindow.ui" line="502"/>
+        <location filename="mainwindow.cpp" line="408"/>
         <source>虚拟机运行日志</source>
         <translation>Virtual Machine log (Running)</translation>
     </message>
@@ -311,6 +313,214 @@ p, li { white-space: pre-wrap; }
         <source>强制停止 Qemu</source>
         <translation>Stop Qemu with forced</translation>
     </message>
+    <message>
+        <location filename="mainwindow.cpp" line="88"/>
+        <source>Wine 运行器虚拟机安装工具 </source>
+        <translation>Wine Runner Virtual Machine Install Tools </translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="90"/>
+        <source>&lt;p&gt;程序版本号:</source>
+        <translation>&lt;p&gt;Program Version:</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="90"/>
+        <source>&lt;/p&gt;&lt;p&gt;安装包构建时间:</source>
+        <translation>&lt;/p&gt;&lt;p&gt;Package build time:</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="90"/>
+        <source>&lt;/p&gt;&lt;p&gt;该组件构建时间:</source>
+        <translation>&lt;/p&gt;&lt;p&gt;Tools builded time:</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="92"/>
+        <source>&lt;hr/&gt;&lt;h1&gt;谢明列表&lt;/h1&gt;</source>
+        <translation>&lt;hr/&gt;&lt;h1&gt;Thank&lt;/h1&gt;</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="179"/>
+        <location filename="mainwindow.cpp" line="186"/>
+        <location filename="mainwindow.cpp" line="193"/>
+        <location filename="mainwindow.cpp" line="200"/>
+        <location filename="mainwindow.cpp" line="215"/>
+        <location filename="mainwindow.cpp" line="222"/>
+        <location filename="mainwindow.cpp" line="229"/>
+        <location filename="mainwindow.cpp" line="248"/>
+        <location filename="mainwindow.cpp" line="254"/>
+        <location filename="mainwindow.cpp" line="263"/>
+        <location filename="mainwindow.cpp" line="307"/>
+        <location filename="mainwindow.cpp" line="322"/>
+        <location filename="mainwindow.cpp" line="328"/>
+        <location filename="mainwindow.cpp" line="332"/>
+        <location filename="mainwindow.cpp" line="338"/>
+        <location filename="mainwindow.cpp" line="357"/>
+        <location filename="mainwindow.cpp" line="360"/>
+        <location filename="mainwindow.cpp" line="364"/>
+        <location filename="mainwindow.cpp" line="367"/>
+        <location filename="mainwindow.cpp" line="392"/>
+        <location filename="mainwindow.cpp" line="404"/>
+        <location filename="mainwindow.cpp" line="438"/>
+        <source>提示</source>
+        <translation>Tips</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="179"/>
+        <source>您似乎没有安装 Qemu,是否继续创建虚拟机?</source>
+        <translation>Can&apos;t find qemu, do you want to countinue to create the virtual machine?</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="186"/>
+        <source>您似乎没有安装 VBox,是否继续创建虚拟机?</source>
+        <translation>Can&apos;t find VirtualBox, do you want to countinue to create the virtual machine?</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="193"/>
+        <source>无法检测到 qemu-system-arm,是否继续创建虚拟机?</source>
+        <translation>Can&apos;t find the qemu-system-arm, do you want to countinue to create the virtual machine?</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="200"/>
+        <source>无法检测到 qemu-system-aarch64,是否继续创建虚拟机?</source>
+        <translation>Can&apos;t find the qemu-system-aarch64, do you want to countinue to create the virtual machine?</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="215"/>
+        <source>似乎无法找到 Windows7X86Auto.iso,是否继续创建虚拟机?
+缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?</source>
+        <translation>Can&apos;t find the Windows7X86Auto.iso, do you want to countinue to create the virtual machine?</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="222"/>
+        <source>似乎无法找到 Windows7X64Auto.iso,是否继续创建虚拟机?
+缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?</source>
+        <translation>Can&apos;t find the Windows7X64Auto.iso, do you want to countinue to create the virtual machine?</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="229"/>
+        <source>似乎无法找到 UEFI 固件,是否继续创建虚拟机?
+Qemu 固件可以在“安装 Qemu”处安装</source>
+        <translation>Can&apos;t find the UEFI boot, do you want to countinue to create the virtual machine?
+You can get qemu efi from &quot;Install Qemu&quot; button</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="248"/>
+        <source>Qemu 不支持该选项!</source>
+        <translation>Qemu unsupport it</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="254"/>
+        <location filename="mainwindow.cpp" line="263"/>
+        <source>VirtualBox 不支持该选项!</source>
+        <translation>VirtualBox unsupport it</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="278"/>
+        <source>提示:目前已经尝试开启虚拟机,如果在一段时间后依旧还没看到虚拟机窗口开启,请在菜单栏查看虚拟机日志</source>
+        <translation>Tips: It trying to start virtualbox now, you should view the log in the tools menu if you can&apos;t see the virtual machine window a few time late</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="307"/>
+        <source>磁盘文件已存在,是否覆盖?
+覆盖后将无法恢复!</source>
+        <translation>Qemu Disk is exist. Do you want to replace?
+You will not recovery after you replacing!</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="311"/>
+        <source>选择 Qemu 镜像</source>
+        <translation>Choose Qemu Disk</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="311"/>
+        <source>Qemu镜像(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;所有文件(*.*)</source>
+        <translation>Qemu Disk(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;All files(*.*)</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="322"/>
+        <location filename="mainwindow.cpp" line="328"/>
+        <source>添加错误!</source>
+        <translation>Add error!</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="332"/>
+        <source>添加完成!</source>
+        <translation>Add finishing!</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="338"/>
+        <source>不存在磁盘文件,无法导出</source>
+        <translation>Can&apos;t export because can&apos;t find the qemu disk</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="357"/>
+        <source>不存在磁盘文件,无法移除</source>
+        <translation>Can&apos;t delete because can&apos;t find the qemu disk</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="360"/>
+        <source>是否删除?
+删除后将无法恢复!</source>
+        <translation>Do you want to delete?
+It can&apos;t recovery after you deleting!</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="364"/>
+        <source>移除失败</source>
+        <translation>Delete error</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="367"/>
+        <source>移除成功</source>
+        <translation>Delete successfully</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="373"/>
+        <location filename="mainwindow.cpp" line="389"/>
+        <source>错误</source>
+        <translation>Error</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="373"/>
+        <source>未识别到命令 kvm-ok
+可以使用命令 sudo apt install cpu-checker 安装</source>
+        <translation>Can&apos;t find the command &quot;kvm-ok&quot; and you can use command &quot;sudo apt install cpu-checker&quot; to install</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="383"/>
+        <source>使用</source>
+        <translation>Use</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="389"/>
+        <source>您的系统不支持使用 kvm:
+</source>
+        <translation>Your system can&apos;t use kvm:
+</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="392"/>
+        <source>您的系统支持使用 kvm:
+</source>
+        <translation>Your system can use kvm:
+</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="404"/>
+        <location filename="mainwindow.cpp" line="438"/>
+        <source>没有日志文件</source>
+        <translation>Can&apos;t find the log file</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="408"/>
+        <source>运行日志</source>
+        <translation>Running file</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="442"/>
+        <source>安装日志</source>
+        <translation>Installed log</translation>
+    </message>
 </context>
 <context>
     <name>QemuSetting</name>
diff --git a/VM-source/mainwindow.cpp b/VM-source/mainwindow.cpp
index ce6cb6b..ac64fc8 100755
--- a/VM-source/mainwindow.cpp
+++ b/VM-source/mainwindow.cpp
@@ -48,7 +48,7 @@ MainWindow::MainWindow(QWidget *parent) :
     QLoggingCategory::defaultCategory()->setEnabled(QtDebugMsg, true);
     // 判断是否安装 vbox(无需判断)
     /*if(system("which VBoxManage")){
-        if(QMessageBox::question(this, "提示", "检测到您似乎没有安装 VirtualBox,立即安装?") == QMessageBox::Yes){
+        if(QMessageBox::question(this, tr("提示"), "检测到您似乎没有安装 VirtualBox,立即安装?") == QMessageBox::Yes){
             system("xdg-open https://www.virtualbox.org/wiki/Linux_Downloads");
         }
     }*/
@@ -85,11 +85,11 @@ MainWindow::MainWindow(QWidget *parent) :
 
     }
     // 设置程序标题
-    this->setWindowTitle("Wine 运行器虚拟机安装工具 " + versionValue.toString());
+    this->setWindowTitle(tr("Wine 运行器虚拟机安装工具 ") + versionValue.toString());
     // 读取谢明列表
-    ui->textBrowser_2->setHtml("<p>程序版本号:" + versionValue.toString() + ", " + GetRunCommand("arch") + "</p><p>安装包构建时间:" + buildTime.toString() + "</p><p>该组件构建时间:"
+    ui->textBrowser_2->setHtml(tr("<p>程序版本号:") + versionValue.toString() + ", " + GetRunCommand("arch") + tr("</p><p>安装包构建时间:") + buildTime.toString() + tr("</p><p>该组件构建时间:")
                                + __DATE__ + " " + __TIME__ + "</p>" + ui->textBrowser_2->toHtml() +
-                               "<hr/><h1>谢明列表</h1>" + thankText);
+                               tr("<hr/><h1>谢明列表</h1>") + thankText);
     connect(ui->textBrowser_2, &QTextBrowser::anchorClicked, this, [=](const QUrl &link){
         QDesktopServices::openUrl(link);
     });
@@ -176,28 +176,28 @@ void MainWindow::on_install_clicked()
     switch (ui->vmChooser->currentIndex()) {
     case 0:
         if(system("which qemu-system-x86_64")){
-            if(QMessageBox::question(this, "提示", "您似乎没有安装 Qemu,是否继续创建虚拟机?") == QMessageBox::No){
+            if(QMessageBox::question(this, tr("提示"), tr("您似乎没有安装 Qemu,是否继续创建虚拟机?")) == QMessageBox::No){
                 return;
             }
         }
         break;
     case 1:
         if(system("which vboxmanage")){
-            if(QMessageBox::question(this, "提示", "您似乎没有安装 VBox,是否继续创建虚拟机?") == QMessageBox::No){
+            if(QMessageBox::question(this, tr("提示"), tr("您似乎没有安装 VBox,是否继续创建虚拟机?")) == QMessageBox::No){
                 return;
             }
         }
         break;
      case 8:
         if(system("which qemu-system-arm")){
-            if(QMessageBox::question(this, "提示", "无法检测到 qemu-system-arm,是否继续创建虚拟机?") == QMessageBox::No){
+            if(QMessageBox::question(this, tr("提示"), tr("无法检测到 qemu-system-arm,是否继续创建虚拟机?")) == QMessageBox::No){
                 return;
             }
         }
         break;
      case 9:
        if(system("which qemu-system-aarch64")){
-           if(QMessageBox::question(this, "提示", "无法检测到 qemu-system-aarch64,是否继续创建虚拟机?") == QMessageBox::No){
+           if(QMessageBox::question(this, tr("提示"), tr("无法检测到 qemu-system-aarch64,是否继续创建虚拟机?")) == QMessageBox::No){
                return;
            }
        }
@@ -212,21 +212,21 @@ void MainWindow::on_install_clicked()
     switch (ui->systemVersion->currentIndex()) {
         case 0:
             if(!QFile::exists(QCoreApplication::applicationDirPath() + "/Windows7X86Auto.iso")){
-                if(QMessageBox::question(this, "提示", "似乎无法找到 Windows7X86Auto.iso,是否继续创建虚拟机?\n缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?") == QMessageBox::No){
+                if(QMessageBox::question(this, tr("提示"), tr("似乎无法找到 Windows7X86Auto.iso,是否继续创建虚拟机?\n缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?")) == QMessageBox::No){
                     return;
                 }
             }
             break;
         case 1:
             if(!QFile::exists(QCoreApplication::applicationDirPath() + "/Windows7X64Auto.iso")){
-                if(QMessageBox::question(this, "提示", "似乎无法找到 Windows7X64Auto.iso,是否继续创建虚拟机?\n缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?") == QMessageBox::No){
+                if(QMessageBox::question(this, tr("提示"), tr("似乎无法找到 Windows7X64Auto.iso,是否继续创建虚拟机?\n缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?")) == QMessageBox::No){
                     return;
                 }
             }
             break;
         case 3:
             if(!QFile::exists("/usr/share/qemu/OVMF.fd") && !QFile::exists(QCoreApplication::applicationDirPath() + "/OVMF.fd") && ui->vmChooser->currentIndex() == 0){
-                if(QMessageBox::question(this, "提示", "似乎无法找到 UEFI 固件,是否继续创建虚拟机?\nQemu 固件可以在“安装 Qemu”处安装") == QMessageBox::No){
+                if(QMessageBox::question(this, tr("提示"), tr("似乎无法找到 UEFI 固件,是否继续创建虚拟机?\nQemu 固件可以在“安装 Qemu”处安装")) == QMessageBox::No){
                     return;
                 }
             }
@@ -245,13 +245,13 @@ void MainWindow::on_install_clicked()
         case 6:
         case 7:
             if(ui->vmChooser->currentIndex() == 0){
-                QMessageBox::warning(this, "提示", "Qemu 不支持该选项!");
+                QMessageBox::warning(this, tr("提示"), tr("Qemu 不支持该选项!"));
                 return;
             }
             break;
         case 8:
             if(ui->vmChooser->currentIndex() == 1){
-                QMessageBox::warning(this, "提示", "VirtualBox 不支持该选项!");
+                QMessageBox::warning(this, tr("提示"), tr("VirtualBox 不支持该选项!"));
                 return;
             }
             archFile.open(QIODevice::WriteOnly);
@@ -260,7 +260,7 @@ void MainWindow::on_install_clicked()
             break;
         case 9:
             if(ui->vmChooser->currentIndex() == 1){
-                QMessageBox::warning(this, "提示", "VirtualBox 不支持该选项!");
+                QMessageBox::warning(this, tr("提示"), tr("VirtualBox 不支持该选项!"));
                 return;
             }
             archFile.open(QIODevice::WriteOnly);
@@ -275,7 +275,7 @@ void MainWindow::on_install_clicked()
     buildvbox(ui->isoPath->text(), ui->systemVersion->currentIndex(), ui->vmChooser->currentIndex());
     ui->tabWidget->setCurrentIndex(1);
     stopShowTime = 1;
-    ui->CPUValue->showMessage("提示:目前已经尝试开启虚拟机,如果在一段时间后依旧还没看到虚拟机窗口开启,请在菜单栏查看虚拟机日志", 10000);
+    ui->CPUValue->showMessage(tr("提示:目前已经尝试开启虚拟机,如果在一段时间后依旧还没看到虚拟机窗口开启,请在菜单栏查看虚拟机日志"), 10000);
     return;
 }
 
@@ -304,11 +304,11 @@ void MainWindow::on_qemuSetting_clicked()
 void MainWindow::on_addQemuDisk_triggered()
 {
     if(QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
-        if(QMessageBox::question(this, "提示", "磁盘文件已存在,是否覆盖?\n覆盖后将无法恢复!") == QMessageBox::No){
+        if(QMessageBox::question(this, tr("提示"), tr("磁盘文件已存在,是否覆盖?\n覆盖后将无法恢复!")) == QMessageBox::No){
             return;
         }
     }
-    QString path = QFileDialog::getOpenFileName(this, "选择 Qemu 镜像", QDir::homePath(), "Qemu镜像(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;所有文件(*.*)");
+    QString path = QFileDialog::getOpenFileName(this, tr("选择 Qemu 镜像"), QDir::homePath(), tr("Qemu镜像(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;所有文件(*.*)"));
     qDebug() << path;
     if(path == ""){
         return;
@@ -319,23 +319,23 @@ void MainWindow::on_addQemuDisk_triggered()
     }
     if(QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
         if(!QFile::remove(QDir::homePath() + "/Qemu/Windows/Windows.qcow2") | !QFile::copy(path, QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
-            QMessageBox::critical(this, "提示", "添加错误!");
+            QMessageBox::critical(this, tr("提示"), tr("添加错误!"));
             return;
         }
     }
     else{
         if(!QFile::copy(path, QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
-            QMessageBox::critical(this, "提示", "添加错误!");
+            QMessageBox::critical(this, tr("提示"), tr("添加错误!"));
             return;
         }
     }
-    QMessageBox::information(this, "提示", "添加完成!");
+    QMessageBox::information(this, tr("提示"), tr("添加完成!"));
 }
 
 void MainWindow::on_delQemuDisk_triggered()
 {
     if(!QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
-        QMessageBox::information(this, "提示", "不存在磁盘文件,无法导出");
+        QMessageBox::information(this, tr("提示"), tr("不存在磁盘文件,无法导出"));
         return;
     }
     std::system(("xdg-open \"" + QDir::homePath() + "/Qemu/Windows/\"").toUtf8());
@@ -354,23 +354,23 @@ void MainWindow::on_saveQemuDiskButton_clicked()
 void MainWindow::on_delQemuDiskButton_clicked()
 {
     if(!QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
-        QMessageBox::information(this, "提示", "不存在磁盘文件,无法移除");
+        QMessageBox::information(this, tr("提示"), tr("不存在磁盘文件,无法移除"));
         return;
     }
-    if(QMessageBox::question(this, "提示", "是否删除?\n删除后将无法恢复!") == QMessageBox::No){
+    if(QMessageBox::question(this, tr("提示"), tr("是否删除?\n删除后将无法恢复!")) == QMessageBox::No){
         return;
     }
     if(!QFile::remove(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
-        QMessageBox::critical(this, "提示", "移除失败");
+        QMessageBox::critical(this, tr("提示"), tr("移除失败"));
         return;
     }
-    QMessageBox::information(this, "提示", "移除成功");
+    QMessageBox::information(this, tr("提示"), tr("移除成功"));
 }
 
 void MainWindow::on_kvmTest_clicked()
 {
     if(system("which kvm-ok")&& !QFile::exists(QCoreApplication::applicationDirPath() + "/kvm-ok")){
-        QMessageBox::critical(this, "错误", "未识别到命令 kvm-ok\n可以使用命令 sudo apt install cpu-checker 安装");
+        QMessageBox::critical(this, tr("错误"), tr("未识别到命令 kvm-ok\n可以使用命令 sudo apt install cpu-checker 安装"));
         return;
     }
     QString kvm_ok_path = "kvm-ok";
@@ -380,16 +380,16 @@ void MainWindow::on_kvmTest_clicked()
     else if(QFile::exists(QCoreApplication::applicationDirPath() + "/kvm-ok")){
         kvm_ok_path = QCoreApplication::applicationDirPath() + "/kvm-ok";
     }
-    qDebug() << "使用" << kvm_ok_path;
+    qDebug() << tr("使用") << kvm_ok_path;
     QProcess process;
     process.start(kvm_ok_path);
     process.waitForStarted();
     process.waitForFinished();
     if(process.exitCode()){
-        QMessageBox::critical(this, "错误", "您的系统不支持使用 kvm:\n" + process.readAll());
+        QMessageBox::critical(this, tr("错误"), tr("您的系统不支持使用 kvm:\n") + process.readAll());
         return;
     }
-    QMessageBox::information(this, "提示", "您的系统支持使用 kvm:\n" + process.readAll());
+    QMessageBox::information(this, tr("提示"), tr("您的系统支持使用 kvm:\n") + process.readAll());
 
 }
 
@@ -401,11 +401,11 @@ void MainWindow::on_actionVMRunlLog_triggered()
 {
     QFile file("/tmp/windows-virtual-machine-installer-for-wine-runner-run.log");
     if(!file.exists()){
-        QMessageBox::information(this, "提示", "没有日志文件");
+        QMessageBox::information(this, tr("提示"), tr("没有日志文件"));
         return;
     }
     file.open(QIODevice::ReadOnly);
-    QInputDialog::getMultiLineText(this, "运行日志", "虚拟机运行日志",file.readAll());
+    QInputDialog::getMultiLineText(this, tr("运行日志"), tr("虚拟机运行日志"), file.readAll());
     file.close();
 }
 
@@ -435,11 +435,11 @@ void MainWindow::on_actionVMInstallLog_triggered()
 {
     QFile file("/tmp/windows-virtual-machine-installer-for-wine-runner-install.log");
     if(!file.exists()){
-        QMessageBox::information(this, "提示", "没有日志文件");
+        QMessageBox::information(this, tr("提示"), tr("没有日志文件"));
         return;
     }
     file.open(QIODevice::ReadOnly);
-    QInputDialog::getMultiLineText(this, "安装日志", "虚拟机安装日志",file.readAll());
+    QInputDialog::getMultiLineText(this, tr("安装日志"), tr("虚拟机安装日志"),file.readAll());
     file.close();
 }
 
diff --git a/VM-source/zh_CN.ts b/VM-source/zh_CN.ts
index 8a9992e..df00a56 100755
--- a/VM-source/zh_CN.ts
+++ b/VM-source/zh_CN.ts
@@ -257,11 +257,13 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <location filename="mainwindow.ui" line="497"/>
+        <location filename="mainwindow.cpp" line="442"/>
         <source>虚拟机安装日志</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="mainwindow.ui" line="502"/>
+        <location filename="mainwindow.cpp" line="408"/>
         <source>虚拟机运行日志</source>
         <translation type="unfinished"></translation>
     </message>
@@ -312,6 +314,209 @@ p, li { white-space: pre-wrap; }
         <source>退出</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="mainwindow.cpp" line="88"/>
+        <source>Wine 运行器虚拟机安装工具 </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="90"/>
+        <source>&lt;p&gt;程序版本号:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="90"/>
+        <source>&lt;/p&gt;&lt;p&gt;安装包构建时间:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="90"/>
+        <source>&lt;/p&gt;&lt;p&gt;该组件构建时间:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="92"/>
+        <source>&lt;hr/&gt;&lt;h1&gt;谢明列表&lt;/h1&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="179"/>
+        <location filename="mainwindow.cpp" line="186"/>
+        <location filename="mainwindow.cpp" line="193"/>
+        <location filename="mainwindow.cpp" line="200"/>
+        <location filename="mainwindow.cpp" line="215"/>
+        <location filename="mainwindow.cpp" line="222"/>
+        <location filename="mainwindow.cpp" line="229"/>
+        <location filename="mainwindow.cpp" line="248"/>
+        <location filename="mainwindow.cpp" line="254"/>
+        <location filename="mainwindow.cpp" line="263"/>
+        <location filename="mainwindow.cpp" line="307"/>
+        <location filename="mainwindow.cpp" line="322"/>
+        <location filename="mainwindow.cpp" line="328"/>
+        <location filename="mainwindow.cpp" line="332"/>
+        <location filename="mainwindow.cpp" line="338"/>
+        <location filename="mainwindow.cpp" line="357"/>
+        <location filename="mainwindow.cpp" line="360"/>
+        <location filename="mainwindow.cpp" line="364"/>
+        <location filename="mainwindow.cpp" line="367"/>
+        <location filename="mainwindow.cpp" line="392"/>
+        <location filename="mainwindow.cpp" line="404"/>
+        <location filename="mainwindow.cpp" line="438"/>
+        <source>提示</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="179"/>
+        <source>您似乎没有安装 Qemu,是否继续创建虚拟机?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="186"/>
+        <source>您似乎没有安装 VBox,是否继续创建虚拟机?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="193"/>
+        <source>无法检测到 qemu-system-arm,是否继续创建虚拟机?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="200"/>
+        <source>无法检测到 qemu-system-aarch64,是否继续创建虚拟机?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="215"/>
+        <source>似乎无法找到 Windows7X86Auto.iso,是否继续创建虚拟机?
+缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="222"/>
+        <source>似乎无法找到 Windows7X64Auto.iso,是否继续创建虚拟机?
+缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="229"/>
+        <source>似乎无法找到 UEFI 固件,是否继续创建虚拟机?
+Qemu 固件可以在“安装 Qemu”处安装</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="248"/>
+        <source>Qemu 不支持该选项!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="254"/>
+        <location filename="mainwindow.cpp" line="263"/>
+        <source>VirtualBox 不支持该选项!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="278"/>
+        <source>提示:目前已经尝试开启虚拟机,如果在一段时间后依旧还没看到虚拟机窗口开启,请在菜单栏查看虚拟机日志</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="307"/>
+        <source>磁盘文件已存在,是否覆盖?
+覆盖后将无法恢复!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="311"/>
+        <source>选择 Qemu 镜像</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="311"/>
+        <source>Qemu镜像(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;所有文件(*.*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="322"/>
+        <location filename="mainwindow.cpp" line="328"/>
+        <source>添加错误!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="332"/>
+        <source>添加完成!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="338"/>
+        <source>不存在磁盘文件,无法导出</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="357"/>
+        <source>不存在磁盘文件,无法移除</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="360"/>
+        <source>是否删除?
+删除后将无法恢复!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="364"/>
+        <source>移除失败</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="367"/>
+        <source>移除成功</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="373"/>
+        <location filename="mainwindow.cpp" line="389"/>
+        <source>错误</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="373"/>
+        <source>未识别到命令 kvm-ok
+可以使用命令 sudo apt install cpu-checker 安装</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="383"/>
+        <source>使用</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="389"/>
+        <source>您的系统不支持使用 kvm:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="392"/>
+        <source>您的系统支持使用 kvm:
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="404"/>
+        <location filename="mainwindow.cpp" line="438"/>
+        <source>没有日志文件</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="408"/>
+        <source>运行日志</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="mainwindow.cpp" line="442"/>
+        <source>安装日志</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QemuSetting</name>