From ed39b338c98191e52265ba235c3c3214ddea0fe2 Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Tue, 6 Dec 2022 09:38:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QemuDownload.py | 72 ++---------------- mainwindow.py | 44 +++++------ package-script/package.py | 50 +++++++----- package-script/trans/__init__.py | 53 +++++++++++++ .../trans/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 1578 bytes package-script/trans/packager.json | 1 + trans/__init__.py | 3 + trans/deepin-wine-runner-qemu-download.json | 1 + trans/deepin-wine-runner.json | 2 +- 9 files changed, 118 insertions(+), 108 deletions(-) create mode 100644 package-script/trans/__init__.py create mode 100644 package-script/trans/__pycache__/__init__.cpython-37.pyc create mode 100644 package-script/trans/packager.json create mode 100644 trans/deepin-wine-runner-qemu-download.json diff --git a/QemuDownload.py b/QemuDownload.py index c081e03..ea085c4 100755 --- a/QemuDownload.py +++ b/QemuDownload.py @@ -19,6 +19,7 @@ import requests programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string sys.path.append(f"{programPath}/../") from Model import * +from trans import * from PyQt5 import QtCore, QtGui, QtWidgets programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string # UI 布局(自动生成) @@ -74,7 +75,12 @@ class Ui_MainWindow(object): self.verticalLayout_2.addLayout(self.horizontalLayout) MainWindow.setCentralWidget(self.centralWidget) # 菜单栏 - _translate = QtCore.QCoreApplication.translate + #_translate = QtCore.QCoreApplication.translate + if not get_now_lang() == "zh_CN.UTF-8": + transla = Trans("en_US", f"{programPath}/trans/deepin-wine-runner-qemu-download.json") + else: + transla = Trans("zh_CN") + _translate = transla.transe self.menu = MainWindow.menuBar() self.changeSources = self.menu.addMenu(_translate("MainWindow", "更换源")) self.gitlinkAction = QtWidgets.QAction(_translate("MainWindow", "Gitlink 源(推荐)")) @@ -421,66 +427,4 @@ if __name__ == "__main__": # 图标 ui.centralWidget.setWindowIcon(QtGui.QIcon(f"{programPath}/../deepin-wine-runner.svg")) - app.exec_() -exit() -#!/usr/bin/env python3 -import os -import sys -import json -import traceback -import req as requests -import PyQt5.QtGui as QtGui -import PyQt5.QtCore as QtCore -import PyQt5.QtWidgets as QtWidgets -from Model import * - -sources = [ - "https://code.gitlink.org.cn/gfdgd_xi/deepin-wine-runner-ubuntu-image/raw/branch/master/Sandbox" -] -sourceIndex = 0 - -def ReadTXT(path: str) -> str: - with open(path, "r") as file: - things = file.read() - return things - -def WriteTXT(path: str, text: str) -> None: - with open(path, "w") as file: - file.write(text) - -def CheckVersion(arch: str) -> bool: - information = requests.get(f"{sources[sourceIndex]}/{arch}/lists.json").json()[0] - if not os.path.exists(f"{homePath}/.deepin-wine-runner-ubuntu-images/{arch}"): - return False - localInformation = json.loads(ReadTXT(f"{homePath}/.deepin-wine-runner-ubuntu-images/lists.json")) - try: - if localInformation["arch"][0] == information[0]: - print("版本相同") - return True - return False - except: - return False - -if __name__ == "__main__": - programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string - homePath = os.getenv("HOME") - app = QtWidgets.QApplication(sys.argv) - if os.system("which qemu-i386-static"): - if QtWidgets.QMessageBox.question(None, "提示", "检测到您未安装 qemu-user-static,是否安装?") == QtWidgets.QMessageBox.Yes: - OpenTerminal(f"pkexec bash '{programPath}/ShellList/InstallQemuUserStatic.sh'") - exit() - while True: - archList = requests.get(f"{sources[sourceIndex]}/lists.json").json() - choose = QtWidgets.QInputDialog.getItem(None, "选择", "选择要安装/更新的镜像对应的架构", archList, 0, False) - if not choose[1]: - QtWidgets.QMessageBox.information(None, "提示", "用户取消操作") - break - try: - if CheckVersion(choose[0]): - QtWidgets.QMessageBox.information(None, "提示", "最新版本,无需操作") - continue - - except: - traceback.print_exc() - QtWidgets.QMessageBox.critical(None, "出现错误", traceback.format_exc()) - continue \ No newline at end of file + app.exec_() \ No newline at end of file diff --git a/mainwindow.py b/mainwindow.py index 55dfb4d..ff20e39 100755 --- a/mainwindow.py +++ b/mainwindow.py @@ -2238,14 +2238,19 @@ print(wine) ########################### # 程序信息 ########################### +# 语言载入 +if not get_now_lang() == "zh_CN.UTF-8": + transla = Trans("en_US", f"{programPath}/trans/deepin-wine-runner.json") +else: + transla = Trans("zh_CN") iconPath = "{}/deepin-wine-runner.svg".format(programPath) #iconPath = "{}/Icon/Program/wine运行器.png".format(programPath) programUrl = "https://gitee.com/gfdgd-xi/deep-wine-runner\nhttps://github.com/gfdgd-xi/deep-wine-runner\nhttps://www.gitlink.org.cn/gfdgd_xi/deep-wine-runner\nhttps://gfdgd-xi.github.io" information = json.loads(readtxt(f"{programPath}/information.json")) version = information["Version"] -goodRunSystem = "常见 Linux 发行版" +goodRunSystem = transla.transe("U", "常见 Linux 发行版") thankText = "" -tips = '''

提示:

+tips = transla.transe("U", '''

提示:

1、使用终端运行该程序,可以看到 wine 以及程序本身的提示和报错; 2、wine 32 位和 64 位的容器互不兼容; 3、所有的 wine 和 winetricks 均需要自行安装(可以从 菜单栏=>程序 里面进行安装); @@ -2262,8 +2267,8 @@ exe路径\' 参数 \' 10、如果是使用 Deepin 23 的 Wine 安装脚本,请切记——安装过程会临时添加 Deepin 20 的 apt 源,不要中断安装以及 千万不要中断后不删除源的情况下 apt upgrade !!!中断后只需重新打开脚本输入 repair 或者随意安装一个 Wine(会自动执行恢复操作)即可 以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示; -N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。''' -updateThingsString = '''※1、支持使用 Qemu + Chroot 跨运行 Wine 以及指定程序的功能; +N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。''') +updateThingsString = transla.transe("U", '''※1、支持使用 Qemu + Chroot 跨运行 Wine 以及指定程序的功能; ※2、提供了简易打包器以用于打包简易 deb; ※3、支持下载配置过的 Qemu + Chroot 容器; ※4、支持解压指定 deb 的内打包好的容器; @@ -2271,23 +2276,24 @@ updateThingsString = '''※1、支持使用 Qemu + Chroot 跨运行 Wine 以及 6、优化非基于生态适配脚本的打包器内容自动填充功能; 7、新增程序论坛和教程入口; 8、优化程序文案 -''' +''') for i in information["Thank"]: thankText += f"{i}\n" updateTime = "2022年12月04日" +aboutProgram = transla.transe("U", """

Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序,内置了对Wine图形化的支持、各种Wine工具、自制的Wine程序打包器和运行库安装工具等。

+

它同时还内置了基于VirtualBox制作的、专供小白使用的Windows虚拟机安装工具,可以做到只需下载系统镜像并点击安装即可,无需考虑虚拟机的安装、创建、分区等操作。

+
+
+一个图形化了如下命令的程序(最简单格式)
+env WINEPREFIX=容器路径 wine(wine的路径) 可执行文件路径
+让你可以简易方便的使用 wine""")
 about = f'''
 

关于

-

Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序,内置了对Wine图形化的支持、各种Wine工具、自制的Wine程序打包器和运行库安装工具等。

-

它同时还内置了基于VirtualBox制作的、专供小白使用的Windows虚拟机安装工具,可以做到只需下载系统镜像并点击安装即可,无需考虑虚拟机的安装、创建、分区等操作。

-
-
-一个图形化了如下命令的程序(最简单格式)
-env WINEPREFIX=容器路径 wine(wine的路径) 可执行文件路径
-让你可以简易方便的使用 wine
+{aboutProgram}
 
 版本:{version}
 适用平台:{goodRunSystem}(@VersionForType@)
@@ -2311,7 +2317,7 @@ Qt 版本:{QtCore.qVersion()}
 
星火应用商店:https://spark-app.store/
 Deepin 官网:https://www.deepin.org
 Deepin 论坛:https://bbs.deepin.org
-非官方论坛:https://gfdgdxi.flarum.cloud/
+论坛:https://gfdgdxi.flarum.cloud/

©2020~{time.strftime("%Y")} gfdgd xi、为什么您不喜欢熊出没和阿布呢

''' title = "Wine 运行器 {}".format(version) @@ -2333,14 +2339,6 @@ print(iconList) # 读取主题 # Qt 窗口 app = QtWidgets.QApplication(sys.argv) -# 语言载入 -if not get_now_lang() == "zh_CN.UTF-8": - #trans = QtCore.QTranslator() - #trans.load(f"{programPath}/LANG/deepin-wine-runner-en_US.qm") - #app.installTranslator(trans) - transla = Trans("en_US", f"{programPath}/trans/deepin-wine-runner.json") -else: - transla = Trans("zh_CN") window = QtWidgets.QMainWindow() window.setWindowTitle(title) widget = QtWidgets.QWidget() @@ -2800,8 +2798,8 @@ help.addSeparator() wikiHelp = QtWidgets.QAction(transla.transe("U", "程序 Wiki")) help.addAction(wikiHelp) videoHelp = help.addMenu(transla.transe("U", "视频教程")) -easyHelp = QtWidgets.QAction("简易使用教程") -buildHelp = QtWidgets.QAction("打包教程") +easyHelp = QtWidgets.QAction(transla.transe("U", "简易使用教程")) +buildHelp = QtWidgets.QAction(transla.transe("U", "打包教程")) videoHelp.addAction(easyHelp) videoHelp.addAction(buildHelp) help.addSeparator() diff --git a/package-script/package.py b/package-script/package.py index c59e9ce..66d9d35 100755 --- a/package-script/package.py +++ b/package-script/package.py @@ -19,6 +19,7 @@ import subprocess import PyQt5.QtGui as QtGui import PyQt5.QtCore as QtCore import PyQt5.QtWidgets as QtWidgets +from trans import * ################### # 程序所需事件 @@ -147,6 +148,10 @@ def NameChange(packageOrBotton: int): elif packageOrBotton == 1 and bottonName.text() != packageName.text(): lockB = True +# 获取当前语言 +def get_now_lang()->"获取当前语言": + return os.getenv('LANG') + ########################### # 程序信息 ########################### @@ -154,7 +159,12 @@ programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string information = json.loads(readtxt(f"{programPath}/information.json")) version = information["Version"] iconPath = "{}/deepin-wine-runner.svg".format(programPath) -tips = """第一个文本框是应用程序中文名 +# 语言载入 +if not get_now_lang() == "zh_CN.UTF-8": + transla = Trans("en_US", f"{programPath}/trans/packager.json") +else: + transla = Trans("zh_CN") +tips = transla.transe("U", """第一个文本框是应用程序中文名 第二个文本框是应用程序英文名 第三个文本框是最终生成的包的描述 第四个选择框是desktop文件中的分类 @@ -164,7 +174,7 @@ desktop文件中StartupWMClass字段。用于让桌面组件将窗口类名与de 第六个输入框是最终生成的包的包名,包名的命名规则以deepin开头,加官网域名(需要前后对调位置),如还不能区分再加上应用名 最后一个是最终生成的包的版本号,版本号命名规则:应用版本号+deepin+数字 提示:包名和容器名相同,无法设置为不相同,如果需要设置为不相同,需要用另一个非基于生态适配脚本的打包器 -""" +""") ########################### # 窗口创建 @@ -186,22 +196,22 @@ packageName = QtWidgets.QLineEdit() bottonName = QtWidgets.QLineEdit() versionName = QtWidgets.QLineEdit() controlFrame = QtWidgets.QHBoxLayout() -buildDeb = QtWidgets.QPushButton("打包") -debPath = QtWidgets.QPushButton("deb 包生成目录") +buildDeb = QtWidgets.QPushButton(transla.transe("U", "打包")) +debPath = QtWidgets.QPushButton(transla.transe("U", "deb 包生成目录")) buildDeb.setSizePolicy(size) debPath.setSizePolicy(size) commandReturn = QtWidgets.QTextBrowser() typeName.addItems(["Network", "Chat", "Audio", "Video", "Graphics", "Office", "Translation", "Development", "Utility", "System"]) controlFrame.addWidget(buildDeb) controlFrame.addWidget(debPath) -widgetLayout.addWidget(QtWidgets.QLabel("程序中文名:"), 0, 0, 1, 1) -widgetLayout.addWidget(QtWidgets.QLabel("程序英文名:"), 1, 0, 1, 1) -widgetLayout.addWidget(QtWidgets.QLabel("包描述:"), 2, 0, 1, 1) -widgetLayout.addWidget(QtWidgets.QLabel("程序分类:"), 3, 0, 1, 1) -widgetLayout.addWidget(QtWidgets.QLabel("程序在 Wine 容器的位置:"), 4, 0, 1, 1) -widgetLayout.addWidget(QtWidgets.QLabel("包名:"), 5, 0, 1, 1) -widgetLayout.addWidget(QtWidgets.QLabel("容器名:"), 6, 0, 1, 1) -widgetLayout.addWidget(QtWidgets.QLabel("版本号:"), 7, 0, 1, 1) +widgetLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "程序中文名:")), 0, 0, 1, 1) +widgetLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "程序英文名:")), 1, 0, 1, 1) +widgetLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "包描述:")), 2, 0, 1, 1) +widgetLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "程序分类:")), 3, 0, 1, 1) +widgetLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "程序在 Wine 容器的位置:")), 4, 0, 1, 1) +widgetLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "包名:")), 5, 0, 1, 1) +widgetLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "容器名:")), 6, 0, 1, 1) +widgetLayout.addWidget(QtWidgets.QLabel(transla.transe("U", "版本号:")), 7, 0, 1, 1) widgetLayout.addWidget(chineseName, 0, 1, 1, 1) widgetLayout.addWidget(englishName, 1, 1, 1, 1) widgetLayout.addWidget(debDescription, 2, 1, 1, 1) @@ -221,22 +231,22 @@ window.setCentralWidget(widget) window.resize(int(window.frameGeometry().width() * 1.5), int(window.frameGeometry().height())) window.setWindowIcon(QtGui.QIcon(iconPath)) menu = window.menuBar() -programMenu = menu.addMenu("程序") -exit = QtWidgets.QAction("退出") +programMenu = menu.addMenu(transla.transe("U", "程序")) +exit = QtWidgets.QAction(transla.transe("U", "退出")) exit.triggered.connect(window.close) -uploadSparkStore = menu.addMenu(QtCore.QCoreApplication.translate("U", "投稿到星火应用商店")) -uploadSparkStoreWebsize = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "从网页端投稿")) +uploadSparkStore = menu.addMenu(transla.transe("U", "投稿到星火应用商店")) +uploadSparkStoreWebsize = QtWidgets.QAction(transla.transe("U", "从网页端投稿")) if os.path.exists("/opt/spark-store-submitter/bin/spark-store-submitter"): - uploadSparkStoreProgram = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "使用投稿器投稿(推荐)")) + uploadSparkStoreProgram = QtWidgets.QAction(transla.transe("U", "使用投稿器投稿(推荐)")) else: - uploadSparkStoreProgram = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "使用投稿器投稿(推荐,请先安装投稿器)")) + uploadSparkStoreProgram = QtWidgets.QAction(transla.transe("U", "使用投稿器投稿(推荐,请先安装投稿器)")) uploadSparkStoreProgram.setDisabled(True) uploadSparkStore.addAction(uploadSparkStoreProgram) uploadSparkStore.addAction(uploadSparkStoreWebsize) uploadSparkStoreWebsize.triggered.connect(lambda: webbrowser.open_new_tab("https://upload.deepinos.org")) uploadSparkStoreProgram.triggered.connect(lambda: threading.Thread(target=os.system, args=["/opt/spark-store-submitter/bin/spark-store-submitter"]).start()) -helpMenu = menu.addMenu("帮助") -help = QtWidgets.QAction("帮助") +helpMenu = menu.addMenu(transla.transe("U", "帮助")) +help = QtWidgets.QAction(transla.transe("U", "帮助")) help.triggered.connect(ShowHelp) helpMenu.addAction(help) programMenu.addAction(exit) diff --git a/package-script/trans/__init__.py b/package-script/trans/__init__.py new file mode 100644 index 0000000..8be2740 --- /dev/null +++ b/package-script/trans/__init__.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +import os +import json +import requests +import traceback + +class Trans(): + isTrans = False + unCloudTrans = True + word = {} + fileName = "" + + def __init__(self, lang="zh_CN", fileName=f"trans.json") -> None: + self.fileName = fileName + self.isTrans = (lang != "zh_CN") + if self.isTrans: + try: + if not os.path.exists(fileName): + with open(fileName, "w") as file: + file.write("{}") + with open(fileName, "r") as file: + self.word = json.loads(file.read()) + except: + traceback.print_exc() + self.isTrans = False + + def transe(self, temp, text) -> str: + if not self.isTrans: + return text + try: + return self.word[text] + except: + if self.unCloudTrans: + return text + # 机翻 + data = { 'doctype': 'json', 'type': 'auto','i': text} + jsonReturn = requests.post("http://fanyi.youdao.com/translate", data=data).json()["translateResult"] + transText = "" + for i in jsonReturn: + print(i[0]) + transText += f'{i[0]["tgt"]}\n' + if "\n" in text: + transText = transText.replace("\n\n", "\n")[:-1] + else: + transText = transText[:-1] + self.word[text] = transText + try: + with open(self.fileName, "w") as file: + file.write(json.dumps(self.word, ensure_ascii=False)) + except: + traceback.print_exc() + print(f"{text}=>{transText}") + return transText \ No newline at end of file diff --git a/package-script/trans/__pycache__/__init__.cpython-37.pyc b/package-script/trans/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e3ce0307ef117377e1491d2a7ee9982ca177c729 GIT binary patch literal 1578 zcmZuxPjB2r6rUN-*j~rG2_>W?KqdaDVh`Cxy&zSksz?+#twdVUVhLGhXOeicYdhmv zCA)Y}2@*&Y?zEM5k9-Wi##}k|EA#^I*@SXntaO{^LL^A1I5$RmAh)epAboooTM+QTr*MkG| z0A_g?h$3hQY|zMo$x{*u$s$*-Ng>_mRC?0C5|O9;T58GQibpLez;lpi8Z*m6_^nh*99cms>FRV3t1vsaQo~Qc+1y9pGq1MpXYe``WOP zv*Z<9(Q@C2ib;0Ke%)9&m9uoEv!awdhAezV4#^Wz>pAGR7LM_jKAdT-$O>%5!Ru3x zNwz}?er9bMu3(h{U;Kt->Vt0E`bX(l4U&nnURu`ST9%iV z7l}EsuDVD|15#e7%!+fJ8f7^~Z^bxIBxtlsq~+(imbL}S8LID+;i+vEI?YV1E{0uh zd8x)n5g#YnvBvCJj&J@>^xGi3`m%qLPgMW-NFK}hBJJ<1^3>!-Un*7Xo~N1G)zd6f zx?h0dt73Puv?;WLR}ibWHf|t6Xq?Dd^+#ck@l`H z{98aD?u0Pw0^XodKr$j_P_c((7GUuzwhgIl5)Crbw^1jlWKcxsxdSC~MqKjBk>V*^ ziWQOWHd%1#EyP8y;``*=+Y8sYl`H*iatVd5M8nJ0HhD&5@Pd6x7UJv>N(=9vy85?D zEIoj0u);tVD)EfGa2h`$PK41L1HAz$vOJlZyz4}s%!g)H05EDw)A{=+ z#uRt^{i7tCrM+1`l}X+k=98vorj_z|Bx)uYs3Re<4$7kOzK z&qa++>uFVt0kOJ+ml2tI9W4ksofM_s#ErLrbbY-AOT>+u6cDAlF!~m51lS3O^)Dbo z@Mq;C)V+rnZz4eqHe?$(>(*z~JHVHp06}提示:\n1、使用终端运行该程序,可以看到 wine 以及程序本身的提示和报错;\n2、wine 32 位和 64 位的容器互不兼容;\n3、所有的 wine 和 winetricks 均需要自行安装(可以从 菜单栏=>程序 里面进行安装);\n4、本程序支持带参数运行 wine 程序(之前版本也可以),只需要按以下格式即可:\nexe路径' 参数 '\n即可(单引号需要输入);\n5、wine 容器如果没有指定,则会默认为 ~/.wine;\n6、如果可执行文件比较大的话,会出现点击“获取该程序运行情况”出现假死的情况,因为正在后台读取 SHA1,只需要等一下即可(读取速度依照您电脑处理速度、读写速度、可执行文件大小等有关);\n7、对于非 X86 的用户来说,请不要使用本程序自带的 Wine 安装程序和 Windows 虚拟机安装功能(检测到为非 X86 架构会自动禁用);\n8、如果非 X86 的用户的 UOS 专业版用户想要使用的话,只需要在应用商店安装一个 Wine 版本微信即可在本程序选择正确的 Wine 运行程序;\n9、在使用 linglong 包的 Wine 应用时,必须安装至少一个 linglong 的使用 Wine 软件包才会出现该选项,\n而程序识别到的 Wine 是按 linglong 的使用 Wine 软件包名的字母排序第一个的 Wine,且生成的容器不在用户目录下,而是在容器的用户目录下(~/.deepinwine、/tmp、桌面、下载、文档等被映射的目录除外),\n同理需要运行的 EXE 也必须在被映射的目录内;\n10、如果是使用 Deepin 23 的 Wine 安装脚本,请切记——安装过程会临时添加 Deepin 20 的 apt 源,不要中断安装以及\n千万不要中断后不删除源的情况下 apt upgrade !!!中断后只需重新打开脚本输入 repair 或者随意安装一个 Wine(会自动执行恢复操作)即可\n以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示;\nN: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。": "< h4 > tip: < / h4 >\n1, use terminal run the program, you can see wine as well as the program itself hints and error;\n2, wine containers of 32-bit and 64 - bit incompatible;\n3, need to install in all types of wine and winetricks (available from the menu bar = > application for installation);\n4, a parameter with this program run wine program (previous version), you just need to in the following format:\nExe path 'parameters'\n(single quotes need to input);\n5, wine containers if not specified, will default to ~ /. Wine;\n6, if the executable file is large, there will be a click on the \"get the program running situation\" suspended animation, because reading SHA1 backstage, you just need to wait (read speed according to your computer processing speed, to read and write speed and the executable file size, etc).\n7, for non-x86 user, please do not use this program with the Wine of the installer and install Windows virtual machine function (detected for the X86 architecture will be automatically disabled);\n8, if users of non-x86 UOS pro users want to use, only need to install a Wine in the app store version WeChat can choose the right Wine in the this program to run the program;\nSeptember and, when it is applied in Wine of linglong package must be installed at least one linglong using this option, Wine package will start\nAnd procedures to identify the Wine is according to the use of linglong Wine package name alphabetical order the first Wine, and generate the container is not in the user directory, but the user directory in the container (~ /. Deepinwine, / TMP, desktop, download, and document except mapped directory).\nSimilarly need to run the EXE also must be mapped directory;\n10, if is to use Deepin 23 Wine install script, please bear in mind - the installation process will temporarily add Deepin 20 apt source, installation and don't interrupt\nDon't delete after < b > don't interrupt source under the condition of apt upgrade!!!!!!\nAnd 100% can use this script installed Wine cannot be guaranteed, and the side effect is prompt;\n< code > N: since the warehouse 'https://community-packages.deepin.com/beige beige InRelease' does not support 'i386 architecture, skip the configuration file' main/binary - i386 / Packages' acquisition.", "※1、支持使用 Qemu + Chroot 跨运行 Wine 以及指定程序的功能;\n※2、提供了简易打包器以用于打包简易 deb;\n※3、支持下载配置过的 Qemu + Chroot 容器;\n※4、支持解压指定 deb 的内打包好的容器;\n5、优化 Wine 列表显示;\n6、优化非基于生态适配脚本的打包器内容自动填充功能;\n7、新增程序论坛和教程入口;\n8、优化程序文案\n": "※ 1 support using Qemu + Chroot run across the Wine and the function of the designated procedures;\n※ 2 provides a simple packaging machine for packaging simple deb;\n※ 3 support download Qemu + Chroot container configuration before;\n※ 4 support decompression specified deb packed in containers;\n5, optimization of Wine list;\n6, an optimization based on the ecological adaptation that pack the script content automatically filled function;\n7, new procedures BBS and tutorial entry;\n8, optimization of procedure document", "确定": "determine", "

Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程序,内置了对Wine图形化的支持、各种Wine工具、自制的Wine程序打包器和运行库安装工具等。

\n

它同时还内置了基于VirtualBox制作的、专供小白使用的Windows虚拟机安装工具,可以做到只需下载系统镜像并点击安装即可,无需考虑虚拟机的安装、创建、分区等操作。

\n
\n\n一个图形化了如下命令的程序(最简单格式)\nenv WINEPREFIX=容器路径 wine(wine的路径) 可执行文件路径\n让你可以简易方便的使用 wine": "< p > Wine runner is a could make Linux users more convenient to run Windows application program, with built-in support for Wine graphical, all kinds of Wine packaging tools, homemade Wine program and runtime installation tools, etc.\n< p > it also has a built-in based on VirtualBox, meant for use by small white Windows virtual machine installation tools, can simply download the system image and click install, do not need to consider the installation of the virtual machine, such as creating, partition operation.\n
\nA graphical the program of the following commands (the simplest format)\n< code > env WINEPREFIX = wine container path (path) of wine executable file path < / code >\nLet the wine you can easy to use", "简易使用教程": "Simple to use the tutorial", "打包教程": "Packaging tutorial"}
\ No newline at end of file