diff -Nru kylin-os-manager-2.0.0/debian/changelog kylin-os-manager-2.0.0/debian/changelog --- kylin-os-manager-2.0.0/debian/changelog 2025-01-23 11:01:58.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/changelog 2025-02-26 16:59:14.000000000 +0800 @@ -1,3 +1,30 @@ +kylin-os-manager (2.0.0-59) nile; urgency=medium + + * BUG:#IB1FYS 【次要】【arm】【X】【工具箱】固定应用图标到任务栏,打开工具箱,任务栏显示的是工具箱图标而不是麒麟管家图标 + * 需求:无 + * 其他改动说明:无 + * 其他改动影响域:无 + + -- fanyuchen <fanyuchen@kylinos.cn> Wed, 26 Feb 2025 16:59:14 +0800 + +kylin-os-manager (2.0.0-58) nile; urgency=medium + + * BUG:#I8ZNJO 【需求24721】【麒麟管家】【次要】麒麟管家中的硬件参数信息没有实时同步 + * 需求:无 + * 其他改动说明:无 + * 其他改动影响域:无 + + -- fanyuchen <fanyuchen@kylinos.cn> Thu, 20 Feb 2025 14:44:14 +0800 + +kylin-os-manager (2.0.0-57) nile; urgency=medium + + * BUG:无 + * 需求:无 + * 其他改动说明:同步设备管理最新代码 + * 其他改动影响域:无 + + -- fanyuchen <fanyuchen@kylinos.cn> Wed, 19 Feb 2025 17:56:44 +0800 + kylin-os-manager (2.0.0-56) nile; urgency=medium * BUG:#IBJ7U2 【重要】【麒麟管家】百宝箱下载小工具,一直显示下载中,重启麒麟管家后,显示工具已下载 diff -Nru kylin-os-manager-2.0.0/debian/patches/0118-Added-translation-using-Weblate-Arabic.patch kylin-os-manager-2.0.0/debian/patches/0118-Added-translation-using-Weblate-Arabic.patch --- kylin-os-manager-2.0.0/debian/patches/0118-Added-translation-using-Weblate-Arabic.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0118-Added-translation-using-Weblate-Arabic.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,39 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Mon, 17 Feb 2025 09:34:16 +0800 +Subject: Added translation using Weblate (Arabic) + +--- + .../translations/kylin-os-manager_ar.ts | 24 ++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + create mode 100644 src/application/translations/kylin-os-manager_ar.ts + +diff --git a/src/application/translations/kylin-os-manager_ar.ts b/src/application/translations/kylin-os-manager_ar.ts +new file mode 100644 +index 0000000..42bf7a1 +--- /dev/null ++++ b/src/application/translations/kylin-os-manager_ar.ts +@@ -0,0 +1,24 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="ar"> ++<context> ++ <name>MainWindow</name> ++ <message> ++ <location filename="../mainwindow.cpp" line="96"/> ++ <location filename="../mainwindow.cpp" line="97"/> ++ <location filename="../main.cpp" line="169"/> ++ <source>kylin-os-manager</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="224"/> ++ <source>kylin os manager</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="225"/> ++ <source>version: %1</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0119-Added-translation-using-Weblate-Arabic.patch kylin-os-manager-2.0.0/debian/patches/0119-Added-translation-using-Weblate-Arabic.patch --- kylin-os-manager-2.0.0/debian/patches/0119-Added-translation-using-Weblate-Arabic.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0119-Added-translation-using-Weblate-Arabic.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,690 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Mon, 17 Feb 2025 09:37:24 +0800 +Subject: Added translation using Weblate (Arabic) + +--- + .../translations/kom-service-support_ar.ts | 675 +++++++++++++++++++++ + 1 file changed, 675 insertions(+) + create mode 100644 plugins/service-support/translations/kom-service-support_ar.ts + +diff --git a/plugins/service-support/translations/kom-service-support_ar.ts b/plugins/service-support/translations/kom-service-support_ar.ts +new file mode 100644 +index 0000000..bae41ae +--- /dev/null ++++ b/plugins/service-support/translations/kom-service-support_ar.ts +@@ -0,0 +1,675 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="ar"> ++<context> ++ <name>FeedbackManager</name> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="35"/> ++ <source>select detailed category</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="39"/> ++ <source>System</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="41"/> ++ <source>System activation</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="41"/> ++ <source>System installation</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="41"/> ++ <source>System crash</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="42"/> ++ <source>System performance</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="42"/> ++ <source>Control center</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="42"/> ++ <source>System setting</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="43"/> ++ <source>System basis consulting</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="51"/> ++ <source>Please describe in detail the problem you encountered, such as: unable to activate the system, can not find the relevant Settings, not clear system features, etc. </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="64"/> ++ <source>Please describe in detail the problems you encountered, such as: peripheral connection failure, sharing function Settings, peripheral adaptation, etc. </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="75"/> ++ <source>Please describe in detail the problems that you encounter, such as obtaining, installing, and uninstalling Kirin software errors. </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="85"/> ++ <source>Please describe your problem in detail, or you can also fill in your request or comment here.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="57"/> ++ <source>Peripheral</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="59"/> ++ <source>Peripheral adaptation consulting</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="59"/> ++ <source>Peripheral driver acquisition</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="60"/> ++ <source>Peripheral use and error reporting</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="70"/> ++ <source>Application</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="72"/> ++ <source>Software installation and uninstallation</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="72"/> ++ <source>Software use and error reporting</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="81"/> ++ <source>Other</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="83"/> ++ <source>Opinions and suggestions</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="149"/> ++ <source>Attachment size exceeds limit!</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>FeedbackManagerLogic</name> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanagerlogic.cpp" line="61"/> ++ <source>Failed to create temporary directory!</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>GotoPageItem</name> ++ <message> ++ <location filename="../UI/paginationwid.cpp" line="523"/> ++ <source>Jump to</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/paginationwid.cpp" line="525"/> ++ <source>Page</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>PaginationWid</name> ++ <message> ++ <location filename="../UI/paginationwid.cpp" line="10"/> ++ <source>total</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/paginationwid.cpp" line="11"/> ++ <source>pages</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/paginationwid.cpp" line="40"/> ++ <source>Jump to</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/paginationwid.cpp" line="43"/> ++ <source>page</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="191"/> ++ <source>System log</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="192"/> ++ <source>Machine</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="193"/> ++ <source>Hardware</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="194"/> ++ <source>Drive</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="195"/> ++ <source>APP list</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="196"/> ++ <source>Rules</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="197"/> ++ <source>Network</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="198"/> ++ <source>System</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../plugin.cpp" line="18"/> ++ <source>ServiceSupport</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UIMainPage</name> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="82"/> ++ <source>ServiceSupport</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="85"/> ++ <source>Multi-channel technical support services</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="88"/> ++ <source>Feedback</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="91"/> ++ <source>Self service</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="104"/> ++ <source>website</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="94"/> ++ <source>History</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="103"/> ++ <source>Jump to</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="111"/> ++ <source> to get more services</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UiHistoryFeedback</name> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="155"/> ++ <source>Creation time</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="155"/> ++ <source>Type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="71"/> ++ <source>bydesign</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="73"/> ++ <source>duplicate</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="75"/> ++ <source>external</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="77"/> ++ <source>fixed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="79"/> ++ <source>notrepro</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="81"/> ++ <source>postponed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="83"/> ++ <source>willnotfix</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="99"/> ++ <source>verify</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="102"/> ++ <source>Has the issue been resolved?</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="105"/> ++ <source>Once identified, the issue will be closed and no further action will be taken.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="107"/> ++ <source>resolved</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="109"/> ++ <source>cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="155"/> ++ <source>Description</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="155"/> ++ <source>Progress</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="194"/> ++ <source>No record</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="195"/> ++ <source>There is a network problem, please try again later</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="196"/> ++ <source>Loading, please wait</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="209"/> ++ <source>retry</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UiProblemFeedback</name> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="109"/> ++ <source>Advanced</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="114"/> ++ <source>Type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="132"/> ++ <source>Please describe the problem in detail and you can upload a photo or file by clicking the button below.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="134"/> ++ <source>Remaining</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="135"/> ++ <source>character</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="172"/> ++ <source>Details</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="184"/> ++ <source>ScreenShot</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="200"/> ++ <source>Add file</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="258"/> ++ <source>The phone number cannot be empty</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="260"/> ++ <source>The phone number format is incorrect</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="265"/> ++ <source>Please enter your phone number</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="271"/> ++ <source>appellation</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="279"/> ++ <source>Contact</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="283"/> ++ <source>Email required for anonymous feedback, not required for gitee feedback</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="291"/> ++ <source>The mailbox format is incorrect</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="297"/> ++ <location filename="../UI/uiproblemfeedback.cpp" line="798"/> ++ <source>Log in to gitee</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="310"/> ++ <source>Mailbox</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="319"/> ++ <source>Agree to take mine </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="329"/> ++ <source>System information</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="355"/> ++ <source>Submit</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="372"/> ++ <source>Details type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="388"/> ++ <source>Time period</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="423"/> ++ <source>Information</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="426"/> ++ <source>lately</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="427"/> ++ <source>days</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="439"/> ++ <source>YES</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="449"/> ++ <source>NO</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="471"/> ++ <source>Upload log</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="477"/> ++ <source>Path</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="492"/> ++ <source>Export to</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="605"/> ++ <source>No more than 5 files and total capacity not exceed 10MB</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="606"/> ++ <source>Supported formats: </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="133"/> ++ <source>Up to 500 characters</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="237"/> ++ <source>Files</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="686"/> ++ <source>Repeat addition</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="702"/> ++ <source>Attachment size out of limit</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="815"/> ++ <source>Log out of gitee</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="816"/> ++ <source>gitee has been associated</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="919"/> ++ <source>Add attachment</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UiProblemFeedbackDialog</name> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="36"/> ++ <source>OK</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="44"/> ++ <source>Retry</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="92"/> ++ <source>Submitted successfully</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="96"/> ++ <source>Cancel successfully</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="100"/> ++ <source>System is abnormal, contact technical support</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="101"/> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="108"/> ++ <source>Log and submission is packed, please go</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="101"/> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="108"/> ++ <source>acquire</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="106"/> ++ <source>Submission failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="107"/> ++ <source>Click 'Retry' to upload again, or contact us directly.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="39"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="129"/> ++ <source>Under submission...</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UiSelfService</name> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="18"/> ++ <source>Contact us</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="39"/> ++ <source>Mail</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="52"/> ++ <source>Community</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="62"/> ++ <source>website</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="69"/> ++ <source> to get more services</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="86"/> ++ <source>Kylin technical services</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="61"/> ++ <source>Jump to</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UiServiceSupport</name> ++ <message> ++ <location filename="../UI/uiservicesupport.cpp" line="24"/> ++ <source>Feedback</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiservicesupport.cpp" line="25"/> ++ <source>Self service</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiservicesupport.cpp" line="27"/> ++ <source>History</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0120-Added-translation-using-Weblate-Arabic.patch kylin-os-manager-2.0.0/debian/patches/0120-Added-translation-using-Weblate-Arabic.patch --- kylin-os-manager-2.0.0/debian/patches/0120-Added-translation-using-Weblate-Arabic.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0120-Added-translation-using-Weblate-Arabic.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,1283 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Mon, 17 Feb 2025 10:52:27 +0800 +Subject: Added translation using Weblate (Arabic) + +--- + .../translations/fault-diagnosis_ar.ts | 668 +++++++++++++++++++++ + .../translations/kylin-os-manager-tool-box_ar.ts | 38 ++ + .../replacement/translations/replacement_ar.ts | 388 ++++++++++++ + .../translations/win-data-migration_ar.ts | 150 +++++ + 4 files changed, 1244 insertions(+) + create mode 100644 plugins/fault_diagnosis/translations/fault-diagnosis_ar.ts + create mode 100644 plugins/tool-box/translations/kylin-os-manager-tool-box_ar.ts + create mode 100644 treasure-chest/replacement/translations/replacement_ar.ts + create mode 100644 treasure-chest/win-data-migration/translations/win-data-migration_ar.ts + +diff --git a/plugins/fault_diagnosis/translations/fault-diagnosis_ar.ts b/plugins/fault_diagnosis/translations/fault-diagnosis_ar.ts +new file mode 100644 +index 0000000..1b8d8d8 +--- /dev/null ++++ b/plugins/fault_diagnosis/translations/fault-diagnosis_ar.ts +@@ -0,0 +1,668 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="ar"> ++<context> ++ <name>ConfigWin</name> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="32"/> ++ <source>Form</source> ++ <translation></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="264"/> ++ <source>SetInner</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="429"/> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="201"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="464"/> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="202"/> ++ <source>Save</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="163"/> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="176"/> ++ <source>IntraNetSet</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>IPWebWidget</name> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.ui" line="32"/> ++ <source>Form</source> ++ <translation></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.ui" line="93"/> ++ <source>Addr</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="55"/> ++ <source>IP</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="57"/> ++ <source>Website</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="101"/> ++ <source>Format error,IP is invalid</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="114"/> ++ <source>Format error,web is invalid</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>IncreaseWidget</name> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/increase_widget.ui" line="32"/> ++ <source>Form</source> ++ <translation></translation> ++ </message> ++</context> ++<context> ++ <name>K::UserExperienceDialog</name> ++ <message> ++ <location filename="../component/user_experience_dialog.cpp" line="11"/> ++ <source>Please confirm if your issue has been fixed?</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../component/user_experience_dialog.cpp" line="15"/> ++ <source>Feedback</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../component/user_experience_dialog.cpp" line="19"/> ++ <source>Fixed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>MenuModule</name> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="66"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="102"/> ++ <source>Help</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="68"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="100"/> ++ <source>About</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="70"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="105"/> ++ <source>Configure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="72"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="98"/> ++ <source>Quit</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="134"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="253"/> ++ <source>Version: </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="135"/> ++ <source>Network-check-tool is a software that can quickly detect,diagnose,and optimize networks.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="257"/> ++ <source>Network-check-tool is a software that can quickly detect, diagnose, and optimize networks. </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="269"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="352"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="360"/> ++ <source>Service & Support: </source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../fault_diagnosis.cpp" line="79"/> ++ <source>FaultDiagnosis</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QuadBtnsTitleBar</name> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="30"/> ++ <source>menu</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="38"/> ++ <source>minimize</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="51"/> ++ <source>full screen</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="64"/> ++ <source>close</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::DiagnosisCore</name> ++ <message> ++ <location filename="../diagnosis_core.cpp" line="157"/> ++ <source>Repair fail</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::DiagnosisEntryWidget</name> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="37"/> ++ <source>Please contact technical service</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="101"/> ++ <source>Normal</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="106"/> ++ <source>Exception</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="111"/> ++ <source>Diagnosising...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="116"/> ++ <source>Fixed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="121"/> ++ <source>Repairing...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="126"/> ++ <source>Repair failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::DiagnosisGroupWidget</name> ++ <message> ++ <location filename="../diagnosis_group_widget.cpp" line="61"/> ++ <source>Scanned %1 items</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::DiagnosisSubentryWidget</name> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="35"/> ++ <source>Please contact technical service</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="72"/> ++ <source>Diagnosising...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="77"/> ++ <source>Normal</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="82"/> ++ <source>Exception</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="87"/> ++ <source>Repairing...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="92"/> ++ <source>Fixed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="97"/> ++ <source>Repair failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::ErrorEntryWidget</name> ++ <message> ++ <location filename="../error_entry_widget.cpp" line="32"/> ++ <source>Manual repair</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../error_entry_widget.cpp" line="122"/> ++ <source>Exception</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../error_entry_widget.cpp" line="127"/> ++ <source>Repairing...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../error_entry_widget.cpp" line="132"/> ++ <source>Fixed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../error_entry_widget.cpp" line="199"/> ++ <source>We currently do not support fixing this issue. Stay tuned!</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../error_entry_widget.cpp" line="207"/> ++ <source>Fail to create solution.</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::FaultDiagnosis</name> ++ <message> ++ <location filename="../fault_diagnosis.cpp" line="132"/> ++ <source>Fault Diagnosis</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../fault_diagnosis.cpp" line="132"/> ++ <source>Currently running, please try again after finishing.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../fault_diagnosis.cpp" line="173"/> ++ <source>The module is not supported</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../fault_diagnosis.cpp" line="189"/> ++ <source>The diagnostic type is not supported</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::HomePageWidget</name> ++ <message> ++ <location filename="../home_page_widget.cpp" line="73"/> ++ <source>One click troubleshooting of computer malfunctions</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="75"/> ++ <source>Quick detection and repair of fault issues, safeguarding the health of your computer</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="116"/> ++ <source>Network detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="82"/> ++ <location filename="../home_page_widget.cpp" line="175"/> ++ <source>One click detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="117"/> ++ <source>Troubleshooting issues with inablilty to access the internet</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="120"/> ++ <source>System performance and component detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="121"/> ++ <source>Hardware health and system performance issues</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="124"/> ++ <source>Application detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="125"/> ++ <source>Application caching and permission settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="141"/> ++ <source>Internal network detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="179"/> ++ <source>Preparing...</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::MainWindow</name> ++ <message> ++ <location filename="../mainwindow.cpp" line="93"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="273"/> ++ <source>Detecting...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="316"/> ++ <source>No issues fount</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="305"/> ++ <location filename="../mainwindow.cpp" line="317"/> ++ <source>Rediagnosis</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="226"/> ++ <source>Update detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="229"/> ++ <source>Application detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="285"/> ++ <location filename="../mainwindow.cpp" line="345"/> ++ <source>Canceling in progress...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="297"/> ++ <source>Detection interruption, no issues found</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="300"/> ++ <source>Detected interruption and found %1 issues</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="322"/> ++ <source>Found %1 issues</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="324"/> ++ <source>One click repair</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="334"/> ++ <source>Repairing...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="357"/> ++ <location filename="../mainwindow.cpp" line="378"/> ++ <location filename="../mainwindow.cpp" line="767"/> ++ <location filename="../mainwindow.cpp" line="1416"/> ++ <source>Repair failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="358"/> ++ <location filename="../mainwindow.cpp" line="379"/> ++ <source>Repair</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="362"/> ++ <location filename="../mainwindow.cpp" line="383"/> ++ <location filename="../mainwindow.cpp" line="763"/> ++ <location filename="../mainwindow.cpp" line="1411"/> ++ <source>Repair successful</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="394"/> ++ <source>%1 items have been tested, no issues found</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="396"/> ++ <source>%1 items have been tested and %2 issues have been found</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="403"/> ++ <source>I suggest you conduct a complete inspection again</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="405"/> ++ <source>Please repair and retest</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="410"/> ++ <source>Please continue to maintain and regularly undergo physical examinations</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="412"/> ++ <source>The scan has been completed. if there are any issues, please handle them as soon as possible</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="416"/> ++ <source>Please wait for the repair to complete</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="424"/> ++ <source>There is still %1 issue that has not been successfully fixed. it is recommended to manually fix it</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="426"/> ++ <source>Regular physical examinations can effectively improve the user experience</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="887"/> ++ <location filename="../mainwindow.cpp" line="906"/> ++ <source>Backend detection exception</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="1158"/> ++ <source>Please select the item that needs to be repaired.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="1405"/> ++ <source>The issue has been successfully fixed, please try updating again</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="1408"/> ++ <source>The issue has been successfully fixed, please reinstall the software package again</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="94"/> ++ <source>Return</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::RepairSpecificErrorWidget</name> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="67"/> ++ <source>Detecting and attempting to fix the issue</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="76"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="184"/> ++ <source>Solution suggestions</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="199"/> ++ <source>To attempt to resolve the issue, you may need to report the issue to the system maintenance personnel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="201"/> ++ <location filename="../repair_specific_error_widget.cpp" line="488"/> ++ <source>Report issues</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="220"/> ++ <source>The network is normal but the update cannot be completed, allow the system to run automated scripts to attempt to fix the problem</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="222"/> ++ <location filename="../repair_specific_error_widget.cpp" line="353"/> ++ <source>Run</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="224"/> ++ <location filename="../repair_specific_error_widget.cpp" line="355"/> ++ <source>Running...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="252"/> ++ <source>Please check if the the network connection is normal and update again</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="259"/> ++ <source>Network normal</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="263"/> ++ <source>Network exception</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="286"/> ++ <source>Access</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="288"/> ++ <source>KylinOS official website</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="293"/> ++ <source>view common problems and solutions. For more help, please scan the QR code below: </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="330"/> ++ <source>The system will run automated scripts to try to solve the problem, which will uninstall some software packages or lower the version of some software packages (</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="333"/> ++ <source>click to view details</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="335"/> ++ <source>).</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="345"/> ++ <source>Is it running?</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="390"/> ++ <source>Return</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="431"/> ++ <location filename="../repair_specific_error_widget.cpp" line="448"/> ++ <source>Repair successful</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="434"/> ++ <location filename="../repair_specific_error_widget.cpp" line="451"/> ++ <source>Repair failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="464"/> ++ <source>Reporting...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="492"/> ++ <source>Successfully reported</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="494"/> ++ <source>Report failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> +diff --git a/plugins/tool-box/translations/kylin-os-manager-tool-box_ar.ts b/plugins/tool-box/translations/kylin-os-manager-tool-box_ar.ts +new file mode 100644 +index 0000000..9f78ce5 +--- /dev/null ++++ b/plugins/tool-box/translations/kylin-os-manager-tool-box_ar.ts +@@ -0,0 +1,38 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="ar"> ++<context> ++ <name>AppItem</name> ++ <message> ++ <location filename="../appitem.cpp" line="114"/> ++ <source>coming soon</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../appitem.cpp" line="115"/> ++ <source>More tools are coming soon</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../plugininterface.cpp" line="35"/> ++ <source>ToolBox</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>ToolBoxWidget</name> ++ <message> ++ <location filename="../toolboxwidget.cpp" line="64"/> ++ <source>My Tool</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../toolboxwidget.cpp" line="68"/> ++ <source>All kinds of system tools to help you better use the computer</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> +diff --git a/treasure-chest/replacement/translations/replacement_ar.ts b/treasure-chest/replacement/translations/replacement_ar.ts +new file mode 100644 +index 0000000..ca4eb58 +--- /dev/null ++++ b/treasure-chest/replacement/translations/replacement_ar.ts +@@ -0,0 +1,388 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="ar"> ++<context> ++ <name>AcceptMigrationData</name> ++ <message> ++ <location filename="../view/acceptmigrationdata.cpp" line="199"/> ++ <location filename="../view/acceptmigrationdata.cpp" line="201"/> ++ <location filename="../view/acceptmigrationdata.cpp" line="204"/> ++ <source>sec</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../view/acceptmigrationdata.cpp" line="201"/> ++ <location filename="../view/acceptmigrationdata.cpp" line="204"/> ++ <source>min</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../view/acceptmigrationdata.cpp" line="204"/> ++ <source>hour</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>DataCheckBox</name> ++ <message> ++ <location filename="../component/data_checkbox.cpp" line="80"/> ++ <source>Open Directory</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>GlobalData</name> ++ <message> ++ <location filename="../globaldata.cpp" line="135"/> ++ <source>Replacement Assistant</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="137"/> ++ <source>Welcome to the replacement assistant</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="138"/> ++ <source>Quickly migrate applications, user data, and system config to new computers</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="139"/> ++ <source>Application</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="140"/> ++ <source>User Data</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="141"/> ++ <source>System Config</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="146"/> ++ <source>Start</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="147"/> ++ <source>How to use the replacement assistant</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="149"/> ++ <source>Select the device being used</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="150"/> ++ <source>Old Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="151"/> ++ <source>Send Data</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="152"/> ++ <source>New Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="153"/> ++ <source>Receive Data</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="154"/> ++ <source>Next Step</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="156"/> ++ <source>Please select the old device type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="157"/> ++ <source>Kylin, Openkylin, and other Linux systems</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="158"/> ++ <source>Support application, user data and system config migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="159"/> ++ <source>windows system</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="160"/> ++ <source>Support data migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="161"/> ++ <source>Back Step</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="164"/> ++ <source>Fill in old device information</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="165"/> ++ <source>Signage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="166"/> ++ <source>User Name</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="167"/> ++ <source>Check Code</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="168"/> ++ <source>Share</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="169"/> ++ <source>Sharing...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="170"/> ++ <source>Please do not enter special characters</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="173"/> ++ <source>Pair</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="174"/> ++ <source>Select old device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="175"/> ++ <source>Range</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="176"/> ++ <source>Select range to transfer to new device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="177"/> ++ <source>Migrate</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="178"/> ++ <source>Migrating data, please keep new and old devices connected</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="179"/> ++ <source>Complete</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="180"/> ++ <source>Migration successful</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="183"/> ++ <source>Please select your old device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="184"/> ++ <source>Required</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="185"/> ++ <source>code error</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="190"/> ++ <source>Migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="191"/> ++ <source>Selected:</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="192"/> ++ <source>Calculating...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="193"/> ++ <source>Data is being calculated, please wait</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="194"/> ++ <source>The new device provides a compatible environment, allowing third-party applications from the old device to run in the new system</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="195"/> ++ <source>Migrate all files in the home and data directories of the old device to the corresponding directory of the new device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="196"/> ++ <source>Migrate the system configuration files from the old device etc directory to the new device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="197"/> ++ <source>Select application:</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="200"/> ++ <source>Please ensure that the power supply is connected and do not close the cover or run other programs</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="202"/> ++ <source>Sending</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="204"/> ++ <source>Current device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="205"/> ++ <source>Cancel Migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="206"/> ++ <source>Migration successful!</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="207"/> ++ <source>Successfully configured</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="210"/> ++ <source>Migration size</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="211"/> ++ <source>Migration duration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="212"/> ++ <source>Reboot</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="213"/> ++ <source>Migration data will take effect after system restart</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="214"/> ++ <source>The migration data will take effect after the system restarts. Do you want to restart now?</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="217"/> ++ <source>Network failure, migration failed. Please check the network connection.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="218"/> ++ <source>Network failure, migration failed, migrated data will be cleared, please check network connectivity.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="219"/> ++ <source>Network abnormality, please check the network status!</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="220"/> ++ <source>Old device password error, please pair again!</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="221"/> ++ <source>Canceling migration will clear the migrated data. Do you want to apply the action?</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="222"/> ++ <source>Ok</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="223"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>MainWidget</name> ++ <message> ++ <location filename="../view/mainwidget.cpp" line="60"/> ++ <location filename="../view/mainwidget.cpp" line="61"/> ++ <source>Kylin Replacement</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../view/mainwidget.cpp" line="144"/> ++ <source>replacement</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../view/mainwidget.cpp" line="144"/> ++ <source>Version: </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../view/mainwidget.cpp" line="145"/> ++ <source>Message provides text chat and file transfer functions in the LAN. There is no need to build a server. It supports multiple people to interact at the same time and send and receive in parallel.</source> ++ <translation></translation> ++ </message> ++</context> ++<context> ++ <name>QApplication</name> ++ <message> ++ <location filename="../main.cpp" line="78"/> ++ <source>Kylin Replacement</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> +diff --git a/treasure-chest/win-data-migration/translations/win-data-migration_ar.ts b/treasure-chest/win-data-migration/translations/win-data-migration_ar.ts +new file mode 100644 +index 0000000..af84404 +--- /dev/null ++++ b/treasure-chest/win-data-migration/translations/win-data-migration_ar.ts +@@ -0,0 +1,150 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="ar"> ++<context> ++ <name>QApplication</name> ++ <message> ++ <source>Win Data Migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <source>Win Data Migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>ok</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>retry</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>failed to migrate files</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>view</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>failed to read the migration log:</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>migration log</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>how to set the win</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>how to set the win (required reading)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>IP address</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>win work group</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>win user name</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>win password</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>establish connection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>successful connection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>connecting...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>connection failed, please try again</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>select the files you want to migrate</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>file migration to</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>start migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>select migration directory</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>migration success</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>failed to create migration logs</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>files failed to be migrated</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>no migration items are selected</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>save path is invalid or unauthorized</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>file creation failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>file integrity check fails</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>[loading]</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>smb disconnected abnormally</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>loading migration file tree</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source><h2>win Settings </h2><p> Step 1: Both computers need to be in the same LAN network </p><p> Step 2: win computer needs to set the folder or file as a shared folder </p><div>1. Select the folder to share.</div><div>2. Right click on Properties and select the Sharing tab. Click on Advanced Sharing Settings, check Share this folder, and then click Apply.</div></source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>Canceling file migration, please wait ……</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0121-Added-translation-using-Weblate-Arabic.patch kylin-os-manager-2.0.0/debian/patches/0121-Added-translation-using-Weblate-Arabic.patch --- kylin-os-manager-2.0.0/debian/patches/0121-Added-translation-using-Weblate-Arabic.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0121-Added-translation-using-Weblate-Arabic.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,1342 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Mon, 17 Feb 2025 10:53:31 +0800 +Subject: Added translation using Weblate (Arabic) + +--- + .../kylin-os-manager-device-controller_ar.ts | 1327 ++++++++++++++++++++ + 1 file changed, 1327 insertions(+) + create mode 100644 plugins/device-controller/translations/kylin-os-manager-device-controller_ar.ts + +diff --git a/plugins/device-controller/translations/kylin-os-manager-device-controller_ar.ts b/plugins/device-controller/translations/kylin-os-manager-device-controller_ar.ts +new file mode 100644 +index 0000000..3eb0f92 +--- /dev/null ++++ b/plugins/device-controller/translations/kylin-os-manager-device-controller_ar.ts +@@ -0,0 +1,1327 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="ar"> ++<context> ++ <name>BasicContentWidget</name> ++ <message> ++ <location filename="../src/basiccontentwidget.cpp" line="21"/> ++ <source>Export To Clipboard</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>CustomTreeWidget</name> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="16"/> ++ <source>CPU</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="16"/> ++ <source>Memory</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="16"/> ++ <source>Graphic Card</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="16"/> ++ <source>Mother Board</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="16"/> ++ <source>Network Card</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="16"/> ++ <source>Disk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>Monitor</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>Sound Card</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>Keyboard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>Mouse</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>Bluetooth</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>CD</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>Battery</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="18"/> ++ <source>Fan</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="18"/> ++ <source>Camera</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>DeviceItem</name> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="53"/> ++ <source>Scanner</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="57"/> ++ <source>GraphicCard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="61"/> ++ <source>SoundCard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="65"/> ++ <source>NetworkCard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="69"/> ++ <source>Bluetooth</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="73"/> ++ <source>Printer</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="77"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="81"/> ++ <source>Video Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="85"/> ++ <source>Other Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="115"/> ++ <location filename="../src/deviceitem.cpp" line="141"/> ++ <location filename="../src/deviceitem.cpp" line="146"/> ++ <source>Version:</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="150"/> ++ <location filename="../src/deviceitem.cpp" line="179"/> ++ <source>Uninstall</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="156"/> ++ <location filename="../src/deviceitem.cpp" line="371"/> ++ <source>Installed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="162"/> ++ <source>No available drivers were detected</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="163"/> ++ <source>Feedback</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="172"/> ++ <source>Install</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="177"/> ++ <source>Update</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="317"/> ++ <location filename="../src/deviceitem.cpp" line="338"/> ++ <source>Uninstalling drivers. Please wait for the uninstallation to complete before clicking again.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="318"/> ++ <location filename="../src/deviceitem.cpp" line="339"/> ++ <source>Uninstall Failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="321"/> ++ <location filename="../src/deviceitem.cpp" line="342"/> ++ <source>Installing drivers. Please wait for the installation to complete before clicking again.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="322"/> ++ <location filename="../src/deviceitem.cpp" line="343"/> ++ <source>Install Failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>DriverGetFailWidget</name> ++ <message> ++ <location filename="../src/drivergetfailwidget.cpp" line="29"/> ++ <source>Failed to obtain driver information, please try again later.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/drivergetfailwidget.cpp" line="32"/> ++ <source>Retry</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>DriverInstallWidget</name> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="53"/> ++ <location filename="../src/driverinstallwidget.cpp" line="223"/> ++ <source>Installable Drivers</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="53"/> ++ <location filename="../src/driverinstallwidget.cpp" line="57"/> ++ <location filename="../src/driverinstallwidget.cpp" line="61"/> ++ <location filename="../src/driverinstallwidget.cpp" line="223"/> ++ <location filename="../src/driverinstallwidget.cpp" line="226"/> ++ <location filename="../src/driverinstallwidget.cpp" line="229"/> ++ <location filename="../src/driverinstallwidget.cpp" line="233"/> ++ <source>)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="53"/> ++ <location filename="../src/driverinstallwidget.cpp" line="57"/> ++ <location filename="../src/driverinstallwidget.cpp" line="61"/> ++ <location filename="../src/driverinstallwidget.cpp" line="223"/> ++ <location filename="../src/driverinstallwidget.cpp" line="226"/> ++ <location filename="../src/driverinstallwidget.cpp" line="229"/> ++ <location filename="../src/driverinstallwidget.cpp" line="233"/> ++ <source>(</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="55"/> ++ <source>One-click installation</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="57"/> ++ <location filename="../src/driverinstallwidget.cpp" line="226"/> ++ <source>Upgradable Drivers</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="59"/> ++ <source>One-click upgrade</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="61"/> ++ <location filename="../src/driverinstallwidget.cpp" line="229"/> ++ <source>Installed Drivers</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="233"/> ++ <source>Unrecognized Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="1200"/> ++ <location filename="../src/driverinstallwidget.cpp" line="1248"/> ++ <source>Uninstalling drivers. Please wait for the uninstallation to complete before clicking again.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="1202"/> ++ <location filename="../src/driverinstallwidget.cpp" line="1250"/> ++ <source>Uninstall Failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="1205"/> ++ <location filename="../src/driverinstallwidget.cpp" line="1253"/> ++ <source>Installing drivers. Please wait for the installation to complete before clicking again.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="1065"/> ++ <location filename="../src/driverinstallwidget.cpp" line="1206"/> ++ <location filename="../src/driverinstallwidget.cpp" line="1254"/> ++ <source>Install Failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="1069"/> ++ <source>Update</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="1076"/> ++ <source>Install</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>HardWareInfoWidget</name> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="113"/> ++ <source>Computer Basic Information</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="117"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="417"/> ++ <source>Host Name</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="121"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="418"/> ++ <source>Operation System Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="125"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="419"/> ++ <source>Kernel Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="129"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="420"/> ++ <source>Kernel Architecture</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="133"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="421"/> ++ <source>System Bits</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="137"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="422"/> ++ <source>Manufacturer</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="141"/> ++ <source>Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="145"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="423"/> ++ <source>Model</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="149"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="424"/> ++ <source>Serial</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="334"/> ++ <source>Hardware Display</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="608"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="989"/> ++ <source>BlueTooth Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>HardwareInfoGetFailWidget</name> ++ <message> ++ <location filename="../src/hardwareinfogetfailwidget.cpp" line="30"/> ++ <source>Failed to obtain driver information, please try again later.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfogetfailwidget.cpp" line="33"/> ++ <source>Retry</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>HardwareInfoGetter</name> ++ <message> ++ <location filename="../src/hardwareinfogetter.cpp" line="841"/> ++ <source> inch</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>HwWidget</name> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="55"/> ++ <source>Disable</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="74"/> ++ <source>Export To Clipboard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="75"/> ++ <source>Activate</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="76"/> ++ <source>Deactive</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="86"/> ++ <location filename="../src/hwwidget.cpp" line="89"/> ++ <source>CPU</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="118"/> ++ <location filename="../src/hwwidget.cpp" line="122"/> ++ <source>Memory</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="150"/> ++ <location filename="../src/hwwidget.cpp" line="154"/> ++ <source>Graphic Card</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="183"/> ++ <location filename="../src/hwwidget.cpp" line="186"/> ++ <source>Mother Board</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="208"/> ++ <location filename="../src/hwwidget.cpp" line="214"/> ++ <source>Network Card</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="248"/> ++ <location filename="../src/hwwidget.cpp" line="252"/> ++ <source>Disk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="274"/> ++ <location filename="../src/hwwidget.cpp" line="278"/> ++ <source>Monitor</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="332"/> ++ <location filename="../src/hwwidget.cpp" line="335"/> ++ <source>Sound Card</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="362"/> ++ <location filename="../src/hwwidget.cpp" line="366"/> ++ <source>Keyboard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="387"/> ++ <location filename="../src/hwwidget.cpp" line="391"/> ++ <source>Mouse</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="413"/> ++ <location filename="../src/hwwidget.cpp" line="418"/> ++ <source>Bluetooth</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="458"/> ++ <location filename="../src/hwwidget.cpp" line="462"/> ++ <source>CD</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="483"/> ++ <location filename="../src/hwwidget.cpp" line="486"/> ++ <source>Battery</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="517"/> ++ <location filename="../src/hwwidget.cpp" line="521"/> ++ <source>Fan</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="542"/> ++ <location filename="../src/hwwidget.cpp" line="545"/> ++ <source>Camera</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>LoadingWidget</name> ++ <message> ++ <location filename="../src/loadingwidget.cpp" line="27"/> ++ <source>The driver information is being detected, please wait a moment.</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QApplication</name> ++ <message> ++ <location filename="../plugin.cpp" line="18"/> ++ <source>DeviceManager</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="317"/> ++ <location filename="../src/hardwareinfo/diskinfo.cpp" line="37"/> ++ <location filename="../src/hardwareinfo/monitorinfo.cpp" line="33"/> ++ <source>Yes</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="319"/> ++ <location filename="../src/hardwareinfo/diskinfo.cpp" line="35"/> ++ <location filename="../src/hardwareinfo/monitorinfo.cpp" line="35"/> ++ <source>No</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="105"/> ++ <source>CPU Current Frequency</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="105"/> ++ <source>CPU Usage Rate</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="106"/> ++ <source>CPU Temperature</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="138"/> ++ <source>Memory Usage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="171"/> ++ <source>GDDR Size</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="231"/> ++ <source>Send Bytes</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="231"/> ++ <source>Recved Bytes</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="303"/> ++ <source>Resolution</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="313"/> ++ <source>Main Monitor</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="503"/> ++ <source>Energy</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="503"/> ++ <source>Time To Empty</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="504"/> ++ <source>Percentage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="504"/> ++ <source>State</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/cpuinfo.cpp" line="194"/> ++ <source>This CPU model does not support temperature display function</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/diskinfo.cpp" line="29"/> ++ <source>Removable storage devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../src/database/drivermanagerdatabase.cpp" line="27"/> ++ <location filename="../src/database/drivermanagerdatabase.cpp" line="55"/> ++ <location filename="../src/database/drivermanagerdatabase.cpp" line="89"/> ++ <location filename="../src/database/drivermanagerdatabase.cpp" line="131"/> ++ <location filename="../src/database/drivermanagerdatabase.cpp" line="151"/> ++ <source>Database Error</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="144"/> ++ <location filename="../src/hwwidget.h" line="159"/> ++ <location filename="../src/hwwidget.h" line="179"/> ++ <location filename="../src/hwwidget.h" line="192"/> ++ <location filename="../src/hwwidget.h" line="202"/> ++ <location filename="../src/hwwidget.h" line="220"/> ++ <location filename="../src/hwwidget.h" line="239"/> ++ <location filename="../src/hwwidget.h" line="249"/> ++ <location filename="../src/hwwidget.h" line="260"/> ++ <location filename="../src/hwwidget.h" line="273"/> ++ <location filename="../src/hwwidget.h" line="315"/> ++ <location filename="../src/hwwidget.h" line="327"/> ++ <location filename="../src/hwwidget.h" line="340"/> ++ <location filename="../src/hwwidget.h" line="347"/> ++ <location filename="../src/hwwidget.h" line="355"/> ++ <location filename="../src/hwwidget.h" line="361"/> ++ <location filename="../src/hwwidget.h" line="368"/> ++ <location filename="../src/hwwidget.h" line="374"/> ++ <location filename="../src/hwwidget.h" line="380"/> ++ <location filename="../src/hwwidget.h" line="393"/> ++ <location filename="../src/hwwidget.h" line="407"/> ++ <location filename="../src/hwwidget.h" line="417"/> ++ <location filename="../src/hwwidget.h" line="428"/> ++ <location filename="../src/hwwidget.h" line="437"/> ++ <location filename="../src/hwwidget.h" line="454"/> ++ <location filename="../src/hwwidget.h" line="464"/> ++ <source>Manufacturer</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="145"/> ++ <location filename="../src/hwwidget.h" line="160"/> ++ <source>Cores</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="146"/> ++ <location filename="../src/hwwidget.h" line="161"/> ++ <source>Online Cores</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="147"/> ++ <location filename="../src/hwwidget.h" line="162"/> ++ <source>Thread Per Cores</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="148"/> ++ <location filename="../src/hwwidget.h" line="163"/> ++ <source>MAX MHz</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="149"/> ++ <location filename="../src/hwwidget.h" line="164"/> ++ <source>L1d Cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="150"/> ++ <location filename="../src/hwwidget.h" line="165"/> ++ <source>L1i Cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="151"/> ++ <location filename="../src/hwwidget.h" line="166"/> ++ <source>L2 Cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="152"/> ++ <location filename="../src/hwwidget.h" line="167"/> ++ <source>L3 Cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="153"/> ++ <location filename="../src/hwwidget.h" line="168"/> ++ <source>L4 Cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="154"/> ++ <location filename="../src/hwwidget.h" line="169"/> ++ <source>CPU Current Frequency</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="155"/> ++ <location filename="../src/hwwidget.h" line="170"/> ++ <source>CPU Usage Rate</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="156"/> ++ <location filename="../src/hwwidget.h" line="171"/> ++ <source>CPU Temperature</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="175"/> ++ <location filename="../src/hwwidget.h" line="188"/> ++ <source>Bank Locator</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="176"/> ++ <location filename="../src/hwwidget.h" line="189"/> ++ <source>Total Width</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="177"/> ++ <location filename="../src/hwwidget.h" line="190"/> ++ <location filename="../src/hwwidget.h" line="290"/> ++ <location filename="../src/hwwidget.h" line="302"/> ++ <source>Size</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="178"/> ++ <location filename="../src/hwwidget.h" line="191"/> ++ <location filename="../src/hwwidget.h" line="245"/> ++ <location filename="../src/hwwidget.h" line="255"/> ++ <location filename="../src/hwwidget.h" line="291"/> ++ <location filename="../src/hwwidget.h" line="303"/> ++ <location filename="../src/hwwidget.h" line="414"/> ++ <location filename="../src/hwwidget.h" line="424"/> ++ <location filename="../src/hwwidget.h" line="455"/> ++ <location filename="../src/hwwidget.h" line="465"/> ++ <source>Serial Number</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="180"/> ++ <location filename="../src/hwwidget.h" line="193"/> ++ <source>Data Width</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="181"/> ++ <location filename="../src/hwwidget.h" line="194"/> ++ <location filename="../src/hwwidget.h" line="265"/> ++ <location filename="../src/hwwidget.h" line="278"/> ++ <source>Type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="182"/> ++ <location filename="../src/hwwidget.h" line="195"/> ++ <location filename="../src/hwwidget.h" line="388"/> ++ <location filename="../src/hwwidget.h" line="402"/> ++ <location filename="../src/hwwidget.h" line="413"/> ++ <location filename="../src/hwwidget.h" line="423"/> ++ <location filename="../src/hwwidget.h" line="434"/> ++ <location filename="../src/hwwidget.h" line="443"/> ++ <location filename="../src/hwwidget.h" line="447"/> ++ <location filename="../src/hwwidget.h" line="450"/> ++ <source>Speed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="183"/> ++ <location filename="../src/hwwidget.h" line="196"/> ++ <source>Configured Speed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="184"/> ++ <location filename="../src/hwwidget.h" line="197"/> ++ <source>Part Number</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="185"/> ++ <location filename="../src/hwwidget.h" line="198"/> ++ <source>Memory Usage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="203"/> ++ <location filename="../src/hwwidget.h" line="221"/> ++ <source>Sub System Device ID</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="204"/> ++ <location filename="../src/hwwidget.h" line="222"/> ++ <location filename="../src/hwwidget.h" line="261"/> ++ <location filename="../src/hwwidget.h" line="274"/> ++ <location filename="../src/hwwidget.h" line="289"/> ++ <location filename="../src/hwwidget.h" line="301"/> ++ <location filename="../src/hwwidget.h" line="316"/> ++ <location filename="../src/hwwidget.h" line="328"/> ++ <location filename="../src/hwwidget.h" line="356"/> ++ <location filename="../src/hwwidget.h" line="362"/> ++ <location filename="../src/hwwidget.h" line="369"/> ++ <location filename="../src/hwwidget.h" line="375"/> ++ <location filename="../src/hwwidget.h" line="429"/> ++ <location filename="../src/hwwidget.h" line="438"/> ++ <source>Model</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="205"/> ++ <location filename="../src/hwwidget.h" line="223"/> ++ <source>Memory</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="206"/> ++ <location filename="../src/hwwidget.h" line="224"/> ++ <source>GPU Type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="207"/> ++ <location filename="../src/hwwidget.h" line="225"/> ++ <location filename="../src/hwwidget.h" line="409"/> ++ <location filename="../src/hwwidget.h" line="419"/> ++ <location filename="../src/hwwidget.h" line="433"/> ++ <location filename="../src/hwwidget.h" line="442"/> ++ <source>Bus Info</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="208"/> ++ <location filename="../src/hwwidget.h" line="226"/> ++ <location filename="../src/hwwidget.h" line="342"/> ++ <location filename="../src/hwwidget.h" line="349"/> ++ <source>Clock</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="209"/> ++ <location filename="../src/hwwidget.h" line="227"/> ++ <source>Physics ID</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="210"/> ++ <location filename="../src/hwwidget.h" line="228"/> ++ <location filename="../src/hwwidget.h" line="240"/> ++ <location filename="../src/hwwidget.h" line="250"/> ++ <location filename="../src/hwwidget.h" line="410"/> ++ <location filename="../src/hwwidget.h" line="420"/> ++ <location filename="../src/hwwidget.h" line="432"/> ++ <location filename="../src/hwwidget.h" line="441"/> ++ <source>Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="211"/> ++ <location filename="../src/hwwidget.h" line="229"/> ++ <location filename="../src/hwwidget.h" line="263"/> ++ <location filename="../src/hwwidget.h" line="276"/> ++ <location filename="../src/hwwidget.h" line="343"/> ++ <location filename="../src/hwwidget.h" line="350"/> ++ <location filename="../src/hwwidget.h" line="358"/> ++ <location filename="../src/hwwidget.h" line="364"/> ++ <location filename="../src/hwwidget.h" line="371"/> ++ <location filename="../src/hwwidget.h" line="377"/> ++ <location filename="../src/hwwidget.h" line="381"/> ++ <location filename="../src/hwwidget.h" line="394"/> ++ <location filename="../src/hwwidget.h" line="411"/> ++ <location filename="../src/hwwidget.h" line="421"/> ++ <location filename="../src/hwwidget.h" line="431"/> ++ <location filename="../src/hwwidget.h" line="440"/> ++ <source>Driver</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="212"/> ++ <location filename="../src/hwwidget.h" line="230"/> ++ <location filename="../src/hwwidget.h" line="344"/> ++ <location filename="../src/hwwidget.h" line="351"/> ++ <source>Width</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="213"/> ++ <location filename="../src/hwwidget.h" line="231"/> ++ <source>GDDR Size</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="214"/> ++ <location filename="../src/hwwidget.h" line="232"/> ++ <source>EGL Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="215"/> ++ <location filename="../src/hwwidget.h" line="233"/> ++ <source>EGL Api List</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="216"/> ++ <location filename="../src/hwwidget.h" line="234"/> ++ <source>OpenGL Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="217"/> ++ <location filename="../src/hwwidget.h" line="235"/> ++ <source>GLSL Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="241"/> ++ <location filename="../src/hwwidget.h" line="251"/> ++ <source>Chassis Handle</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="242"/> ++ <location filename="../src/hwwidget.h" line="252"/> ++ <source>Bios Vendor</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="243"/> ++ <location filename="../src/hwwidget.h" line="253"/> ++ <source>Bios Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="244"/> ++ <location filename="../src/hwwidget.h" line="254"/> ++ <source>Chipser</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="246"/> ++ <location filename="../src/hwwidget.h" line="256"/> ++ <source>Publish Date</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="262"/> ++ <location filename="../src/hwwidget.h" line="275"/> ++ <source>Bus</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="264"/> ++ <location filename="../src/hwwidget.h" line="277"/> ++ <source>MAC Address</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="266"/> ++ <location filename="../src/hwwidget.h" line="279"/> ++ <source>IP Address</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="267"/> ++ <location filename="../src/hwwidget.h" line="280"/> ++ <source>Net Musk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="268"/> ++ <location filename="../src/hwwidget.h" line="281"/> ++ <source>Send Bytes</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="269"/> ++ <location filename="../src/hwwidget.h" line="282"/> ++ <source>Recved Bytes</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="270"/> ++ <location filename="../src/hwwidget.h" line="283"/> ++ <source>MTU</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="288"/> ++ <location filename="../src/hwwidget.h" line="306"/> ++ <source>Vendor</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="292"/> ++ <source>Disk Name</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="293"/> ++ <location filename="../src/hwwidget.h" line="304"/> ++ <source>Frimwarever Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="294"/> ++ <location filename="../src/hwwidget.h" line="305"/> ++ <source>Disk Type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="295"/> ++ <location filename="../src/hwwidget.h" line="307"/> ++ <source>Main Disk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="297"/> ++ <location filename="../src/hwwidget.h" line="309"/> ++ <source>UFS</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="298"/> ++ <location filename="../src/hwwidget.h" line="310"/> ++ <source>UFS Revision</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="317"/> ++ <location filename="../src/hwwidget.h" line="329"/> ++ <source>Monitor Size</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="318"/> ++ <location filename="../src/hwwidget.h" line="330"/> ++ <source>Monitor Ratio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="319"/> ++ <location filename="../src/hwwidget.h" line="331"/> ++ <source>Resolution</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="320"/> ++ <location filename="../src/hwwidget.h" line="332"/> ++ <source>Max Resolution</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="321"/> ++ <location filename="../src/hwwidget.h" line="333"/> ++ <source>Main Monitor</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="294"/> ++ <location filename="../src/hwwidget.h" line="296"/> ++ <location filename="../src/hwwidget.h" line="308"/> ++ <location filename="../src/hwwidget.h" line="322"/> ++ <location filename="../src/hwwidget.h" line="334"/> ++ <location filename="../src/hwwidget.h" line="357"/> ++ <location filename="../src/hwwidget.h" line="363"/> ++ <location filename="../src/hwwidget.h" line="370"/> ++ <location filename="../src/hwwidget.h" line="376"/> ++ <location filename="../src/hwwidget.h" line="430"/> ++ <location filename="../src/hwwidget.h" line="439"/> ++ <source>Interface</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="323"/> ++ <location filename="../src/hwwidget.h" line="335"/> ++ <source>Visible Area</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="324"/> ++ <location filename="../src/hwwidget.h" line="336"/> ++ <source>Gamma</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="341"/> ++ <location filename="../src/hwwidget.h" line="348"/> ++ <source>Bus Address</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="382"/> ++ <location filename="../src/hwwidget.h" line="395"/> ++ <source>Driver Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="426"/> ++ <location filename="../src/hwwidget.h" line="383"/> ++ <location filename="../src/hwwidget.h" line="396"/> ++ <source>Address</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="384"/> ++ <location filename="../src/hwwidget.h" line="397"/> ++ <source>Link Mode</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="385"/> ++ <location filename="../src/hwwidget.h" line="398"/> ++ <source>Link Policy</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="387"/> ++ <location filename="../src/hwwidget.h" line="401"/> ++ <source>ACL MTU</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="390"/> ++ <location filename="../src/hwwidget.h" line="399"/> ++ <source>Packe Type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="386"/> ++ <location filename="../src/hwwidget.h" line="400"/> ++ <source>SCO MTU</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="389"/> ++ <location filename="../src/hwwidget.h" line="403"/> ++ <source>Features</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="408"/> ++ <location filename="../src/hwwidget.h" line="418"/> ++ <source>Name</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="412"/> ++ <location filename="../src/hwwidget.h" line="422"/> ++ <source>Device Number</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="456"/> ++ <location filename="../src/hwwidget.h" line="466"/> ++ <source>State</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="457"/> ++ <location filename="../src/hwwidget.h" line="467"/> ++ <source>Energy</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="458"/> ++ <location filename="../src/hwwidget.h" line="468"/> ++ <source>Used Times</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="459"/> ++ <location filename="../src/hwwidget.h" line="469"/> ++ <source>Energy Full</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="460"/> ++ <location filename="../src/hwwidget.h" line="470"/> ++ <source>Time To Empty</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.h" line="461"/> ++ <location filename="../src/hwwidget.h" line="471"/> ++ <source>Percentage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/networkcardinfo.cpp" line="40"/> ++ <source>Wireless</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/networkcardinfo.cpp" line="42"/> ++ <source>Wired</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/cpuinfo.cpp" line="87"/> ++ <location filename="../src/hardwareinfo/cpuinfo.cpp" line="121"/> ++ <source>This CPU model does not support frequency display function</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/graphiccardinfo.cpp" line="109"/> ++ <source>This graphics card does not support obtaining GPU bus bit width</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driveroperation/uninstaller.cpp" line="51"/> ++ <source>Uninstall timeout.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driveroperation/aptinstaller.cpp" line="62"/> ++ <source>Install timeout.</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>SelectionWidget</name> ++ <message> ++ <location filename="../src/selectionwidget.cpp" line="24"/> ++ <source>Driver Manager</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/selectionwidget.cpp" line="23"/> ++ <source>Hardware Info</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>TreeItem</name> ++ <message> ++ <location filename="../src/treeitem.cpp" line="60"/> ++ <location filename="../src/treeitem.cpp" line="66"/> ++ <source>Export To Clipboard</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UninstallItem</name> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="40"/> ++ <source>Scanner</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="44"/> ++ <source>GraphicCard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="48"/> ++ <source>SoundCard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="52"/> ++ <source>NetworkCard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="56"/> ++ <source>Bluetooth</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="60"/> ++ <source>Printer</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="64"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="68"/> ++ <source>Video Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="72"/> ++ <source>Other Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="98"/> ++ <location filename="../src/uninstallitem.cpp" line="101"/> ++ <source>Version: </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="106"/> ++ <source>Uninstall</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0122-Added-translation-using-Weblate-Vietnamese.patch kylin-os-manager-2.0.0/debian/patches/0122-Added-translation-using-Weblate-Vietnamese.patch --- kylin-os-manager-2.0.0/debian/patches/0122-Added-translation-using-Weblate-Vietnamese.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0122-Added-translation-using-Weblate-Vietnamese.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,39 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Mon, 17 Feb 2025 14:59:32 +0800 +Subject: Added translation using Weblate (Vietnamese) + +--- + .../translations/kylin-os-manager_vi.ts | 24 ++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + create mode 100644 src/application/translations/kylin-os-manager_vi.ts + +diff --git a/src/application/translations/kylin-os-manager_vi.ts b/src/application/translations/kylin-os-manager_vi.ts +new file mode 100644 +index 0000000..28e2e5a +--- /dev/null ++++ b/src/application/translations/kylin-os-manager_vi.ts +@@ -0,0 +1,24 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="vi"> ++<context> ++ <name>MainWindow</name> ++ <message> ++ <location filename="../main.cpp" line="311"/> ++ <source>kylin-os-manager</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="218"/> ++ <location filename="../mainwindow.cpp" line="219"/> ++ <location filename="../mainwindow.cpp" line="399"/> ++ <source>Kylin Os Manager</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="400"/> ++ <source>version: %1</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0123-Added-translation-using-Weblate-Vietnamese.patch kylin-os-manager-2.0.0/debian/patches/0123-Added-translation-using-Weblate-Vietnamese.patch --- kylin-os-manager-2.0.0/debian/patches/0123-Added-translation-using-Weblate-Vietnamese.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0123-Added-translation-using-Weblate-Vietnamese.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,599 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Mon, 17 Feb 2025 15:05:38 +0800 +Subject: Added translation using Weblate (Vietnamese) + +--- + .../replacement/translations/replacement_vi.ts | 388 +++++++++++++++++++++ + .../translations/win-data-migration_vi.ts | 188 ++++++++++ + 2 files changed, 576 insertions(+) + create mode 100644 treasure-chest/replacement/translations/replacement_vi.ts + create mode 100644 treasure-chest/win-data-migration/translations/win-data-migration_vi.ts + +diff --git a/treasure-chest/replacement/translations/replacement_vi.ts b/treasure-chest/replacement/translations/replacement_vi.ts +new file mode 100644 +index 0000000..77a754f +--- /dev/null ++++ b/treasure-chest/replacement/translations/replacement_vi.ts +@@ -0,0 +1,388 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="vi"> ++<context> ++ <name>AcceptMigrationData</name> ++ <message> ++ <location filename="../view/acceptmigrationdata.cpp" line="199"/> ++ <location filename="../view/acceptmigrationdata.cpp" line="201"/> ++ <location filename="../view/acceptmigrationdata.cpp" line="204"/> ++ <source>sec</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../view/acceptmigrationdata.cpp" line="201"/> ++ <location filename="../view/acceptmigrationdata.cpp" line="204"/> ++ <source>min</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../view/acceptmigrationdata.cpp" line="204"/> ++ <source>hour</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>DataCheckBox</name> ++ <message> ++ <location filename="../component/data_checkbox.cpp" line="80"/> ++ <source>Open Directory</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>GlobalData</name> ++ <message> ++ <location filename="../globaldata.cpp" line="135"/> ++ <source>Replacement Assistant</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="137"/> ++ <source>Welcome to the replacement assistant</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="138"/> ++ <source>Quickly migrate applications, user data, and system config to new computers</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="139"/> ++ <source>Application</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="140"/> ++ <source>User Data</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="141"/> ++ <source>System Config</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="146"/> ++ <source>Start</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="147"/> ++ <source>How to use the replacement assistant</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="149"/> ++ <source>Select the device being used</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="150"/> ++ <source>Old Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="151"/> ++ <source>Send Data</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="152"/> ++ <source>New Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="153"/> ++ <source>Receive Data</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="154"/> ++ <source>Next Step</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="156"/> ++ <source>Please select the old device type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="157"/> ++ <source>Kylin, Openkylin, and other Linux systems</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="158"/> ++ <source>Support application, user data and system config migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="159"/> ++ <source>windows system</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="160"/> ++ <source>Support data migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="161"/> ++ <source>Back Step</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="164"/> ++ <source>Fill in old device information</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="165"/> ++ <source>Signage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="166"/> ++ <source>User Name</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="167"/> ++ <source>Check Code</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="168"/> ++ <source>Share</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="169"/> ++ <source>Sharing...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="170"/> ++ <source>Please do not enter special characters</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="173"/> ++ <source>Pair</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="174"/> ++ <source>Select old device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="175"/> ++ <source>Range</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="176"/> ++ <source>Select range to transfer to new device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="177"/> ++ <source>Migrate</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="178"/> ++ <source>Migrating data, please keep new and old devices connected</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="179"/> ++ <source>Complete</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="180"/> ++ <source>Migration successful</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="183"/> ++ <source>Please select your old device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="184"/> ++ <source>Required</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="185"/> ++ <source>code error</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="190"/> ++ <source>Migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="191"/> ++ <source>Selected:</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="192"/> ++ <source>Calculating...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="193"/> ++ <source>Data is being calculated, please wait</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="194"/> ++ <source>The new device provides a compatible environment, allowing third-party applications from the old device to run in the new system</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="195"/> ++ <source>Migrate all files in the home and data directories of the old device to the corresponding directory of the new device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="196"/> ++ <source>Migrate the system configuration files from the old device etc directory to the new device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="197"/> ++ <source>Select application:</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="200"/> ++ <source>Please ensure that the power supply is connected and do not close the cover or run other programs</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="202"/> ++ <source>Sending</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="204"/> ++ <source>Current device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="205"/> ++ <source>Cancel Migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="206"/> ++ <source>Migration successful!</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="207"/> ++ <source>Successfully configured</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="210"/> ++ <source>Migration size</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="211"/> ++ <source>Migration duration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="212"/> ++ <source>Reboot</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="213"/> ++ <source>Migration data will take effect after system restart</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="214"/> ++ <source>The migration data will take effect after the system restarts. Do you want to restart now?</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="217"/> ++ <source>Network failure, migration failed. Please check the network connection.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="218"/> ++ <source>Network failure, migration failed, migrated data will be cleared, please check network connectivity.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="219"/> ++ <source>Network abnormality, please check the network status!</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="220"/> ++ <source>Old device password error, please pair again!</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="221"/> ++ <source>Canceling migration will clear the migrated data. Do you want to apply the action?</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="222"/> ++ <source>Ok</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../globaldata.cpp" line="223"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>MainWidget</name> ++ <message> ++ <location filename="../view/mainwidget.cpp" line="60"/> ++ <location filename="../view/mainwidget.cpp" line="61"/> ++ <source>Kylin Replacement</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../view/mainwidget.cpp" line="144"/> ++ <source>replacement</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../view/mainwidget.cpp" line="144"/> ++ <source>Version: </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../view/mainwidget.cpp" line="145"/> ++ <source>Message provides text chat and file transfer functions in the LAN. There is no need to build a server. It supports multiple people to interact at the same time and send and receive in parallel.</source> ++ <translation></translation> ++ </message> ++</context> ++<context> ++ <name>QApplication</name> ++ <message> ++ <location filename="../main.cpp" line="78"/> ++ <source>Kylin Replacement</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> +diff --git a/treasure-chest/win-data-migration/translations/win-data-migration_vi.ts b/treasure-chest/win-data-migration/translations/win-data-migration_vi.ts +new file mode 100644 +index 0000000..9c7aa9a +--- /dev/null ++++ b/treasure-chest/win-data-migration/translations/win-data-migration_vi.ts +@@ -0,0 +1,188 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="vi"> ++<context> ++ <name>DialogMessage</name> ++ <message> ++ <source>Migration timeout, please wait…</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>Can we quickly build a migration queue and generate bat scripts and related configuration files on the win side? Do you agree? (Click No to migrate data by default)</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>DialogMessageBox</name> ++ <message> ++ <source>Cannel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>The bat batch processing script has been generated. Please double-click to execute:</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>Note 1: The script only obtains the directory structure and file names to be migrated, and will not infringe on your privacy. Please use it with confidence</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>Note 2: When the script execution is completed, the generated script and temporary files will be automatically destroyed, and the Kirin end will automatically start migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QApplication</name> ++ <message> ++ <source>Win Data Migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <source>Win Data Migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>ok</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>retry</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>failed to migrate files</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>view</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>failed to read the migration log:</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>migration log</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>how to set the win</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>how to set the win (required reading)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>IP address</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>win work group</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>win user name</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>win password</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>establish connection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>successful connection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>connecting...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>connection failed, please try again</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>select the files you want to migrate</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>file migration to</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>start migration</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>select migration directory</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>migration success</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>failed to create migration logs</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>files failed to be migrated</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>no migration items are selected</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>save path is invalid or unauthorized</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>file creation failure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>file integrity check fails</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>[loading]</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>smb disconnected abnormally</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>loading migration file tree</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source><h2>win Settings </h2><p> Step 1: Both computers need to be in the same LAN network </p><p> Step 2: win computer needs to set the folder or file as a shared folder </p><div>1. Select the folder to share.</div><div>2. Right click on Properties and select the Sharing tab. Click on Advanced Sharing Settings, check Share this folder, and then click Apply.</div></source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>Canceling file migration, please wait ……</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>creating queue</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <source>migration status resetting...</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0124-Added-translation-using-Weblate-Vietnamese.patch kylin-os-manager-2.0.0/debian/patches/0124-Added-translation-using-Weblate-Vietnamese.patch --- kylin-os-manager-2.0.0/debian/patches/0124-Added-translation-using-Weblate-Vietnamese.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0124-Added-translation-using-Weblate-Vietnamese.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,773 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Mon, 17 Feb 2025 15:06:50 +0800 +Subject: Added translation using Weblate (Vietnamese) + +--- + .../translations/fault-diagnosis_vi.ts | 758 +++++++++++++++++++++ + 1 file changed, 758 insertions(+) + create mode 100644 plugins/fault_diagnosis/translations/fault-diagnosis_vi.ts + +diff --git a/plugins/fault_diagnosis/translations/fault-diagnosis_vi.ts b/plugins/fault_diagnosis/translations/fault-diagnosis_vi.ts +new file mode 100644 +index 0000000..a37aef8 +--- /dev/null ++++ b/plugins/fault_diagnosis/translations/fault-diagnosis_vi.ts +@@ -0,0 +1,758 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="vi"> ++<context> ++ <name>ConfigWin</name> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="32"/> ++ <source>Form</source> ++ <translation></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="264"/> ++ <source>SetInner</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="429"/> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="197"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="464"/> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="198"/> ++ <source>Save</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="159"/> ++ <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="172"/> ++ <source>IntraNetSet</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>IPWebWidget</name> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.ui" line="32"/> ++ <source>Form</source> ++ <translation></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.ui" line="93"/> ++ <source>Addr</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="55"/> ++ <source>IP</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="57"/> ++ <source>Website</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="101"/> ++ <source>Format error,IP is invalid</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="114"/> ++ <source>Format error,web is invalid</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>IncreaseWidget</name> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/increase_widget.ui" line="32"/> ++ <source>Form</source> ++ <translation></translation> ++ </message> ++</context> ++<context> ++ <name>K::UserExperienceDialog</name> ++ <message> ++ <location filename="../component/user_experience_dialog.cpp" line="38"/> ++ <source>Have all issues been fixed?</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../component/user_experience_dialog.cpp" line="54"/> ++ <source>If there are any unresolved issues, you can click "Submit feedback" to let us know about the problem.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../component/user_experience_dialog.cpp" line="62"/> ++ <source>Submit feedback</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../component/user_experience_dialog.cpp" line="66"/> ++ <source>Fixed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>MenuModule</name> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="66"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="102"/> ++ <source>Help</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="68"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="100"/> ++ <source>About</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="70"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="105"/> ++ <source>Configure</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="72"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="98"/> ++ <source>Quit</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="134"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="253"/> ++ <source>Version: </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="135"/> ++ <source>Network-check-tool is a software that can quickly detect,diagnose,and optimize networks.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="257"/> ++ <source>Network-check-tool is a software that can quickly detect, diagnose, and optimize networks. </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="269"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="352"/> ++ <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="360"/> ++ <source>Service & Support: </source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../fault_diagnosis.cpp" line="95"/> ++ <source>FaultDiagnosis</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QuadBtnsTitleBar</name> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="30"/> ++ <source>menu</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="38"/> ++ <source>minimize</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="51"/> ++ <source>full screen</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="64"/> ++ <source>close</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::DiagnosisCore</name> ++ <message> ++ <location filename="../diagnosis_core.cpp" line="288"/> ++ <source>Repair fail</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::DiagnosisEntryWidget</name> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="38"/> ++ <source>Please contact technical service</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="41"/> ++ <source>Go clean up</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="106"/> ++ <source>Normal</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="111"/> ++ <source>Exception</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="116"/> ++ <source>Diagnosising...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="121"/> ++ <source>Fixed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="126"/> ++ <source>Repairing...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_entry_widget.cpp" line="131"/> ++ <source>Repair failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::DiagnosisGroupWidget</name> ++ <message> ++ <location filename="../diagnosis_group_widget.cpp" line="61"/> ++ <source>Scanned %1 items</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::DiagnosisSubentryWidget</name> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="36"/> ++ <source>Please contact technical service</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="40"/> ++ <source>Go clean up</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="79"/> ++ <source>Diagnosising...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="84"/> ++ <source>Normal</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="89"/> ++ <source>Exception</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="94"/> ++ <source>Repairing...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="99"/> ++ <source>Fixed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../diagnosis_subentry_widget.cpp" line="104"/> ++ <source>Repair failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::ErrorEntryWidget</name> ++ <message> ++ <location filename="../error_entry_widget.cpp" line="32"/> ++ <source>Manual repair</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../error_entry_widget.cpp" line="122"/> ++ <source>Exception</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../error_entry_widget.cpp" line="127"/> ++ <source>Repairing...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../error_entry_widget.cpp" line="132"/> ++ <source>Fixed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../error_entry_widget.cpp" line="199"/> ++ <source>We currently do not support fixing this issue. Stay tuned!</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../error_entry_widget.cpp" line="207"/> ++ <source>Fail to create solution.</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::FaultDiagnosis</name> ++ <message> ++ <location filename="../fault_diagnosis.cpp" line="148"/> ++ <source>Fault Diagnosis</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../fault_diagnosis.cpp" line="148"/> ++ <source>Currently running, please try again after finishing.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../fault_diagnosis.cpp" line="204"/> ++ <source>The module is not supported</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../fault_diagnosis.cpp" line="220"/> ++ <source>The diagnostic type is not supported</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::HomePageWidget</name> ++ <message> ++ <location filename="../home_page_widget.cpp" line="82"/> ++ <source>One click troubleshooting of computer malfunctions</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="84"/> ++ <source>Quick detection and repair of fault issues, safeguarding the health of your computer</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="132"/> ++ <source>Network detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="91"/> ++ <location filename="../home_page_widget.cpp" line="245"/> ++ <source>One click detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="133"/> ++ <source>Troubleshooting issues with inablilty to access the internet</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="144"/> ++ <source>Application detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="145"/> ++ <source>Application caching and permission settings</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="138"/> ++ <source>System components and performance detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="139"/> ++ <source>Resolve hardware health and system performance issues</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="150"/> ++ <source>Online system update detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="151"/> ++ <source>Resolve issues encountered during updates and upgrades</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="156"/> ++ <source>Software store detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="157"/> ++ <source>Resolve issues encountered in software stores</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="162"/> ++ <source>System disk availability detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="163"/> ++ <source>Check the health status of the disk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="168"/> ++ <source>Wired network detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="169"/> ++ <source>Troubleshooting the issue of not being able to access the internet</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="174"/> ++ <source>Wireless network detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="175"/> ++ <source>Troubleshooting wireless network anomalies</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="203"/> ++ <source>Internal network detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../home_page_widget.cpp" line="249"/> ++ <source>Preparing...</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::MainWindow</name> ++ <message> ++ <location filename="../mainwindow.cpp" line="98"/> ++ <location filename="../mainwindow.cpp" line="1826"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="285"/> ++ <source>Detecting...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="328"/> ++ <source>No issues fount</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="317"/> ++ <location filename="../mainwindow.cpp" line="329"/> ++ <source>Rediagnosis</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="238"/> ++ <source>Update detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="241"/> ++ <source>Application detection</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="297"/> ++ <location filename="../mainwindow.cpp" line="361"/> ++ <source>Canceling in progress...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="309"/> ++ <source>Detection interruption, no issues found</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="312"/> ++ <source>Detected interruption and found %1 issues</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="334"/> ++ <source>Found %1 issues</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="336"/> ++ <source>One click repair</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="350"/> ++ <source>Repairing...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="373"/> ++ <location filename="../mainwindow.cpp" line="395"/> ++ <location filename="../mainwindow.cpp" line="805"/> ++ <location filename="../mainwindow.cpp" line="1499"/> ++ <source>Repair failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="374"/> ++ <source>Repair</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="378"/> ++ <location filename="../mainwindow.cpp" line="398"/> ++ <location filename="../mainwindow.cpp" line="801"/> ++ <location filename="../mainwindow.cpp" line="1494"/> ++ <source>Repair successful</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="425"/> ++ <source>%1 items have been tested, no issues found</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="427"/> ++ <source>%1 items have been tested and %2 issues have been found</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="434"/> ++ <source>I suggest you conduct a complete inspection again</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="436"/> ++ <source>Please repair and retest</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="441"/> ++ <source>Please continue to maintain and regularly undergo physical examinations</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="443"/> ++ <source>The scan has been completed. if there are any issues, please handle them as soon as possible</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="447"/> ++ <source>Please wait for the repair to complete</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="455"/> ++ <source>There is still %1 issue that has not been successfully fixed. it is recommended to manually fix it</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="457"/> ++ <source>Regular physical examinations can effectively improve the user experience</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="968"/> ++ <location filename="../mainwindow.cpp" line="987"/> ++ <source>Backend detection exception</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="1243"/> ++ <source>Please select the item that needs to be repaired.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="1488"/> ++ <source>The issue has been successfully fixed, please try updating again</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="1491"/> ++ <source>The issue has been successfully fixed, please reinstall the software package again</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="1825"/> ++ <source>Fault diagnosis is running, are you sure you want to exit?</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="1827"/> ++ <source>Ok</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="99"/> ++ <source>Return</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>fault_diagnosis::RepairSpecificErrorWidget</name> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="86"/> ++ <source>Detecting and attempting to fix the issue</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="95"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="219"/> ++ <source>Solution suggestions</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="240"/> ++ <location filename="../repair_specific_error_widget.cpp" line="548"/> ++ <source>Report issues</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="261"/> ++ <location filename="../repair_specific_error_widget.cpp" line="392"/> ++ <source>Run</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="263"/> ++ <location filename="../repair_specific_error_widget.cpp" line="394"/> ++ <source>Running...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="235"/> ++ <source>If the above suggestions still fail to solve the problem, you may need to report the issue to the system maintenance personnel.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="237"/> ++ <source>To attempt to resolve the issue, you may need to report the issue to the system maintenance personnel.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="259"/> ++ <source>The network is normal but the update cannot be completed, allow the system to run automated scripts to attempt to fix the problem.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="291"/> ++ <source>Please check if the the network connection is normal and update again.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="298"/> ++ <source>Network normal</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="302"/> ++ <source>Network exception</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="325"/> ++ <source>Access</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="327"/> ++ <source>KylinOS official website</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="332"/> ++ <source>view common problems and solutions. For more help, please scan the QR code below: </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="369"/> ++ <source>The system will run automated scripts to try to solve the problem, which will uninstall some software packages or lower the version of some software packages (</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="372"/> ++ <source>click to view details</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="374"/> ++ <source>).</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="384"/> ++ <source>Is it running?</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="429"/> ++ <source>Your disk space is insufficient, please click the button on the right to clean it up.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="431"/> ++ <source>Clear</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="450"/> ++ <source>Return</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="491"/> ++ <location filename="../repair_specific_error_widget.cpp" line="508"/> ++ <source>Repair successful</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="494"/> ++ <location filename="../repair_specific_error_widget.cpp" line="511"/> ++ <source>Repair failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="524"/> ++ <source>Reporting...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="552"/> ++ <source>Successfully reported</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../repair_specific_error_widget.cpp" line="554"/> ++ <source>Report failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0125-Added-translation-using-Weblate-Vietnamese.patch kylin-os-manager-2.0.0/debian/patches/0125-Added-translation-using-Weblate-Vietnamese.patch --- kylin-os-manager-2.0.0/debian/patches/0125-Added-translation-using-Weblate-Vietnamese.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0125-Added-translation-using-Weblate-Vietnamese.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,2078 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Mon, 17 Feb 2025 15:30:26 +0800 +Subject: Added translation using Weblate (Vietnamese) + +--- + .../kylin-os-manager-device-controller_vi.ts | 1380 ++++++++++++++++++++ + .../translations/kom-service-support_vi.ts | 675 ++++++++++ + 2 files changed, 2055 insertions(+) + create mode 100644 plugins/device-controller/translations/kylin-os-manager-device-controller_vi.ts + create mode 100644 plugins/service-support/translations/kom-service-support_vi.ts + +diff --git a/plugins/device-controller/translations/kylin-os-manager-device-controller_vi.ts b/plugins/device-controller/translations/kylin-os-manager-device-controller_vi.ts +new file mode 100644 +index 0000000..bc924ee +--- /dev/null ++++ b/plugins/device-controller/translations/kylin-os-manager-device-controller_vi.ts +@@ -0,0 +1,1380 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="vi"> ++<context> ++ <name>BasicContentWidget</name> ++ <message> ++ <location filename="../src/basiccontentwidget.cpp" line="21"/> ++ <source>Export To Clipboard</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>CustomTreeWidget</name> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="16"/> ++ <source>CPU</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="16"/> ++ <source>Memory</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="16"/> ++ <source>Graphic Card</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="16"/> ++ <source>Mother Board</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="16"/> ++ <source>Network Card</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="16"/> ++ <source>Disk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>Monitor</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>Sound Card</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>Keyboard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>Mouse</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>Bluetooth</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>CD</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="17"/> ++ <source>Battery</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="18"/> ++ <source>Fan</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/customtreewidget.cpp" line="18"/> ++ <source>Camera</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>DeviceItem</name> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="53"/> ++ <source>Scanner</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="57"/> ++ <source>GraphicCard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="61"/> ++ <source>SoundCard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="65"/> ++ <source>NetworkCard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="69"/> ++ <source>Bluetooth</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="73"/> ++ <source>Printer</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="77"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="81"/> ++ <source>Video Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="85"/> ++ <source>Other Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="115"/> ++ <location filename="../src/deviceitem.cpp" line="141"/> ++ <location filename="../src/deviceitem.cpp" line="146"/> ++ <source>Version:</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="150"/> ++ <location filename="../src/deviceitem.cpp" line="179"/> ++ <source>Uninstall</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="156"/> ++ <location filename="../src/deviceitem.cpp" line="371"/> ++ <source>Installed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="162"/> ++ <source>No available drivers were detected</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="163"/> ++ <source>Feedback</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="172"/> ++ <source>Install</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="177"/> ++ <source>Update</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="317"/> ++ <location filename="../src/deviceitem.cpp" line="338"/> ++ <source>Uninstalling drivers. Please wait for the uninstallation to complete before clicking again.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="318"/> ++ <location filename="../src/deviceitem.cpp" line="339"/> ++ <source>Uninstall Failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="321"/> ++ <location filename="../src/deviceitem.cpp" line="342"/> ++ <source>Installing drivers. Please wait for the installation to complete before clicking again.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/deviceitem.cpp" line="322"/> ++ <location filename="../src/deviceitem.cpp" line="343"/> ++ <source>Install Failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>DriverGetFailWidget</name> ++ <message> ++ <location filename="../src/drivergetfailwidget.cpp" line="29"/> ++ <source>Failed to obtain driver information, please try again later.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/drivergetfailwidget.cpp" line="32"/> ++ <source>Retry</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>DriverInstallWidget</name> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="55"/> ++ <location filename="../src/driverinstallwidget.cpp" line="225"/> ++ <source>Installable Drivers</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="55"/> ++ <location filename="../src/driverinstallwidget.cpp" line="59"/> ++ <location filename="../src/driverinstallwidget.cpp" line="63"/> ++ <location filename="../src/driverinstallwidget.cpp" line="225"/> ++ <location filename="../src/driverinstallwidget.cpp" line="228"/> ++ <location filename="../src/driverinstallwidget.cpp" line="231"/> ++ <location filename="../src/driverinstallwidget.cpp" line="235"/> ++ <source>)</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="55"/> ++ <location filename="../src/driverinstallwidget.cpp" line="59"/> ++ <location filename="../src/driverinstallwidget.cpp" line="63"/> ++ <location filename="../src/driverinstallwidget.cpp" line="225"/> ++ <location filename="../src/driverinstallwidget.cpp" line="228"/> ++ <location filename="../src/driverinstallwidget.cpp" line="231"/> ++ <location filename="../src/driverinstallwidget.cpp" line="235"/> ++ <source>(</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="57"/> ++ <source>One-click installation</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="59"/> ++ <location filename="../src/driverinstallwidget.cpp" line="228"/> ++ <source>Upgradable Drivers</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="61"/> ++ <source>One-click upgrade</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="63"/> ++ <location filename="../src/driverinstallwidget.cpp" line="231"/> ++ <source>Installed Drivers</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="235"/> ++ <source>Unrecognized Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="1213"/> ++ <location filename="../src/driverinstallwidget.cpp" line="1261"/> ++ <source>Uninstalling drivers. Please wait for the uninstallation to complete before clicking again.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="1215"/> ++ <location filename="../src/driverinstallwidget.cpp" line="1263"/> ++ <source>Uninstall Failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="1218"/> ++ <location filename="../src/driverinstallwidget.cpp" line="1266"/> ++ <source>Installing drivers. Please wait for the installation to complete before clicking again.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="1078"/> ++ <location filename="../src/driverinstallwidget.cpp" line="1219"/> ++ <location filename="../src/driverinstallwidget.cpp" line="1267"/> ++ <source>Install Failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="1082"/> ++ <source>Update</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driverinstallwidget.cpp" line="1089"/> ++ <source>Install</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>HardWareInfoWidget</name> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="121"/> ++ <source>Computer Basic Information</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="125"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="462"/> ++ <source>Host Name</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="129"/> ++ <source>Operation System Name</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="133"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="463"/> ++ <source>Operation System Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="137"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="464"/> ++ <source>Kernel Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="141"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="465"/> ++ <source>Kernel Architecture</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="145"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="466"/> ++ <source>System Bits</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="149"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="467"/> ++ <source>Manufacturer</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="153"/> ++ <source>Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="157"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="468"/> ++ <source>Model</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="161"/> ++ <location filename="../src/hardwareinfowidget.cpp" line="469"/> ++ <source>Serial</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfowidget.cpp" line="375"/> ++ <source>Hardware Display</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>HardwareInfoGetFailWidget</name> ++ <message> ++ <location filename="../src/hardwareinfogetfailwidget.cpp" line="30"/> ++ <source>Failed to obtain driver information, please try again later.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfogetfailwidget.cpp" line="33"/> ++ <source>Retry</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>HardwareInfoGetter</name> ++ <message> ++ <location filename="../src/hardwareinfogetter.cpp" line="979"/> ++ <source> inch</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>HwWidget</name> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="88"/> ++ <source>Disable</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="116"/> ++ <source>Export To Clipboard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="117"/> ++ <source>Activate</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="118"/> ++ <source>Deactive</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="128"/> ++ <location filename="../src/hwwidget.cpp" line="131"/> ++ <source>CPU</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="208"/> ++ <location filename="../src/hwwidget.cpp" line="212"/> ++ <location filename="../src/hwwidget.cpp" line="1330"/> ++ <location filename="../src/hwwidget.cpp" line="1333"/> ++ <source>Memory</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="147"/> ++ <location filename="../src/hwwidget.cpp" line="228"/> ++ <location filename="../src/hwwidget.cpp" line="284"/> ++ <location filename="../src/hwwidget.cpp" line="287"/> ++ <location filename="../src/hwwidget.cpp" line="304"/> ++ <location filename="../src/hwwidget.cpp" line="1355"/> ++ <location filename="../src/hwwidget.cpp" line="1358"/> ++ <source>Graphic Card</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="91"/> ++ <source>This device can be disabled/enabled</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="358"/> ++ <location filename="../src/hwwidget.cpp" line="361"/> ++ <location filename="../src/hwwidget.cpp" line="378"/> ++ <source>Mother Board</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="429"/> ++ <location filename="../src/hwwidget.cpp" line="435"/> ++ <location filename="../src/hwwidget.cpp" line="453"/> ++ <location filename="../src/hwwidget.cpp" line="1381"/> ++ <location filename="../src/hwwidget.cpp" line="1384"/> ++ <source>Network Card</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="552"/> ++ <location filename="../src/hwwidget.cpp" line="556"/> ++ <location filename="../src/hwwidget.cpp" line="572"/> ++ <location filename="../src/hwwidget.cpp" line="640"/> ++ <location filename="../src/hwwidget.cpp" line="744"/> ++ <location filename="../src/hwwidget.cpp" line="1407"/> ++ <location filename="../src/hwwidget.cpp" line="1410"/> ++ <source>Disk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="620"/> ++ <location filename="../src/hwwidget.cpp" line="624"/> ++ <location filename="../src/hwwidget.cpp" line="1432"/> ++ <location filename="../src/hwwidget.cpp" line="1435"/> ++ <source>Monitor</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="723"/> ++ <location filename="../src/hwwidget.cpp" line="726"/> ++ <location filename="../src/hwwidget.cpp" line="1458"/> ++ <location filename="../src/hwwidget.cpp" line="1461"/> ++ <source>Sound Card</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="824"/> ++ <location filename="../src/hwwidget.cpp" line="828"/> ++ <location filename="../src/hwwidget.cpp" line="844"/> ++ <location filename="../src/hwwidget.cpp" line="1484"/> ++ <location filename="../src/hwwidget.cpp" line="1487"/> ++ <source>Keyboard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="890"/> ++ <location filename="../src/hwwidget.cpp" line="894"/> ++ <location filename="../src/hwwidget.cpp" line="910"/> ++ <location filename="../src/hwwidget.cpp" line="1509"/> ++ <location filename="../src/hwwidget.cpp" line="1512"/> ++ <source>Mouse</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="959"/> ++ <location filename="../src/hwwidget.cpp" line="962"/> ++ <location filename="../src/hwwidget.cpp" line="980"/> ++ <location filename="../src/hwwidget.cpp" line="1534"/> ++ <location filename="../src/hwwidget.cpp" line="1537"/> ++ <source>Bluetooth</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="1049"/> ++ <location filename="../src/hwwidget.cpp" line="1053"/> ++ <location filename="../src/hwwidget.cpp" line="1069"/> ++ <location filename="../src/hwwidget.cpp" line="1559"/> ++ <location filename="../src/hwwidget.cpp" line="1562"/> ++ <source>CD</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="1116"/> ++ <location filename="../src/hwwidget.cpp" line="1119"/> ++ <location filename="../src/hwwidget.cpp" line="1136"/> ++ <location filename="../src/hwwidget.cpp" line="1584"/> ++ <location filename="../src/hwwidget.cpp" line="1587"/> ++ <source>Battery</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="1192"/> ++ <location filename="../src/hwwidget.cpp" line="1196"/> ++ <location filename="../src/hwwidget.cpp" line="1212"/> ++ <location filename="../src/hwwidget.cpp" line="1609"/> ++ <location filename="../src/hwwidget.cpp" line="1612"/> ++ <source>Fan</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="1259"/> ++ <location filename="../src/hwwidget.cpp" line="1262"/> ++ <location filename="../src/hwwidget.cpp" line="1279"/> ++ <location filename="../src/hwwidget.cpp" line="1634"/> ++ <location filename="../src/hwwidget.cpp" line="1637"/> ++ <source>Camera</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>LoadingWidget</name> ++ <message> ++ <location filename="../src/loadingwidget.cpp" line="27"/> ++ <source>The driver information is being detected, please wait a moment.</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QApplication</name> ++ <message> ++ <location filename="../plugin.cpp" line="18"/> ++ <source>DeviceManager</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/diskinfo.cpp" line="39"/> ++ <location filename="../src/hardwareinfo/monitorinfo.cpp" line="33"/> ++ <location filename="../src/hwwidget.cpp" line="695"/> ++ <source>Yes</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/diskinfo.cpp" line="37"/> ++ <location filename="../src/hardwareinfo/monitorinfo.cpp" line="35"/> ++ <location filename="../src/hwwidget.cpp" line="697"/> ++ <source>No</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="177"/> ++ <source>CPU Current Frequency</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="177"/> ++ <source>CPU Usage Rate</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="178"/> ++ <source>CPU Temperature</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="258"/> ++ <source>Memory Usage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="334"/> ++ <source>GDDR Size</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="680"/> ++ <source>Resolution</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="690"/> ++ <source>Main Monitor</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="1166"/> ++ <source>Energy</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="1166"/> ++ <source>Time To Empty</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="1167"/> ++ <source>Percentage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="1167"/> ++ <source>State</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/cpuinfo.cpp" line="210"/> ++ <source>This CPU model does not support temperature display function</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/diskinfo.cpp" line="29"/> ++ <source>Removable storage devices</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../src/database/drivermanagerdatabase.cpp" line="27"/> ++ <location filename="../src/database/drivermanagerdatabase.cpp" line="55"/> ++ <location filename="../src/database/drivermanagerdatabase.cpp" line="89"/> ++ <location filename="../src/database/drivermanagerdatabase.cpp" line="131"/> ++ <location filename="../src/database/drivermanagerdatabase.cpp" line="151"/> ++ <source>Database Error</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="18"/> ++ <location filename="../src/include/hwinfostorage.h" line="33"/> ++ <location filename="../src/include/hwinfostorage.h" line="53"/> ++ <location filename="../src/include/hwinfostorage.h" line="66"/> ++ <location filename="../src/include/hwinfostorage.h" line="76"/> ++ <location filename="../src/include/hwinfostorage.h" line="94"/> ++ <location filename="../src/include/hwinfostorage.h" line="113"/> ++ <location filename="../src/include/hwinfostorage.h" line="123"/> ++ <location filename="../src/include/hwinfostorage.h" line="134"/> ++ <location filename="../src/include/hwinfostorage.h" line="148"/> ++ <location filename="../src/include/hwinfostorage.h" line="194"/> ++ <location filename="../src/include/hwinfostorage.h" line="206"/> ++ <location filename="../src/include/hwinfostorage.h" line="219"/> ++ <location filename="../src/include/hwinfostorage.h" line="226"/> ++ <location filename="../src/include/hwinfostorage.h" line="234"/> ++ <location filename="../src/include/hwinfostorage.h" line="240"/> ++ <location filename="../src/include/hwinfostorage.h" line="247"/> ++ <location filename="../src/include/hwinfostorage.h" line="253"/> ++ <location filename="../src/include/hwinfostorage.h" line="259"/> ++ <location filename="../src/include/hwinfostorage.h" line="272"/> ++ <location filename="../src/include/hwinfostorage.h" line="286"/> ++ <location filename="../src/include/hwinfostorage.h" line="296"/> ++ <location filename="../src/include/hwinfostorage.h" line="307"/> ++ <location filename="../src/include/hwinfostorage.h" line="316"/> ++ <location filename="../src/include/hwinfostorage.h" line="333"/> ++ <location filename="../src/include/hwinfostorage.h" line="343"/> ++ <source>Manufacturer</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="19"/> ++ <location filename="../src/include/hwinfostorage.h" line="34"/> ++ <source>Cores</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="20"/> ++ <location filename="../src/include/hwinfostorage.h" line="35"/> ++ <source>Online Cores</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="21"/> ++ <location filename="../src/include/hwinfostorage.h" line="36"/> ++ <source>Thread Per Cores</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="22"/> ++ <location filename="../src/include/hwinfostorage.h" line="37"/> ++ <source>MAX MHz</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="23"/> ++ <location filename="../src/include/hwinfostorage.h" line="38"/> ++ <source>L1d Cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="24"/> ++ <location filename="../src/include/hwinfostorage.h" line="39"/> ++ <source>L1i Cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="25"/> ++ <location filename="../src/include/hwinfostorage.h" line="40"/> ++ <source>L2 Cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="26"/> ++ <location filename="../src/include/hwinfostorage.h" line="41"/> ++ <source>L3 Cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="27"/> ++ <location filename="../src/include/hwinfostorage.h" line="42"/> ++ <source>L4 Cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="28"/> ++ <location filename="../src/include/hwinfostorage.h" line="43"/> ++ <source>CPU Current Frequency</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="29"/> ++ <location filename="../src/include/hwinfostorage.h" line="44"/> ++ <source>CPU Usage Rate</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="30"/> ++ <location filename="../src/include/hwinfostorage.h" line="45"/> ++ <source>CPU Temperature</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="49"/> ++ <location filename="../src/include/hwinfostorage.h" line="62"/> ++ <source>Bank Locator</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="50"/> ++ <location filename="../src/include/hwinfostorage.h" line="63"/> ++ <source>Total Width</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="51"/> ++ <location filename="../src/include/hwinfostorage.h" line="64"/> ++ <location filename="../src/include/hwinfostorage.h" line="165"/> ++ <location filename="../src/include/hwinfostorage.h" line="178"/> ++ <source>Size</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="52"/> ++ <location filename="../src/include/hwinfostorage.h" line="65"/> ++ <location filename="../src/include/hwinfostorage.h" line="119"/> ++ <location filename="../src/include/hwinfostorage.h" line="129"/> ++ <location filename="../src/include/hwinfostorage.h" line="167"/> ++ <location filename="../src/include/hwinfostorage.h" line="180"/> ++ <location filename="../src/include/hwinfostorage.h" line="293"/> ++ <location filename="../src/include/hwinfostorage.h" line="303"/> ++ <location filename="../src/include/hwinfostorage.h" line="334"/> ++ <location filename="../src/include/hwinfostorage.h" line="344"/> ++ <source>Serial Number</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="54"/> ++ <location filename="../src/include/hwinfostorage.h" line="67"/> ++ <source>Data Width</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="55"/> ++ <location filename="../src/include/hwinfostorage.h" line="68"/> ++ <location filename="../src/include/hwinfostorage.h" line="139"/> ++ <location filename="../src/include/hwinfostorage.h" line="153"/> ++ <source>Type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="56"/> ++ <location filename="../src/include/hwinfostorage.h" line="69"/> ++ <location filename="../src/include/hwinfostorage.h" line="140"/> ++ <location filename="../src/include/hwinfostorage.h" line="154"/> ++ <location filename="../src/include/hwinfostorage.h" line="267"/> ++ <location filename="../src/include/hwinfostorage.h" line="281"/> ++ <location filename="../src/include/hwinfostorage.h" line="292"/> ++ <location filename="../src/include/hwinfostorage.h" line="302"/> ++ <location filename="../src/include/hwinfostorage.h" line="313"/> ++ <location filename="../src/include/hwinfostorage.h" line="322"/> ++ <location filename="../src/include/hwinfostorage.h" line="326"/> ++ <location filename="../src/include/hwinfostorage.h" line="329"/> ++ <source>Speed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="57"/> ++ <location filename="../src/include/hwinfostorage.h" line="70"/> ++ <source>Configured Speed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="58"/> ++ <location filename="../src/include/hwinfostorage.h" line="71"/> ++ <source>Part Number</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="59"/> ++ <location filename="../src/include/hwinfostorage.h" line="72"/> ++ <source>Memory Usage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="77"/> ++ <location filename="../src/include/hwinfostorage.h" line="95"/> ++ <source>Sub System Device ID</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="78"/> ++ <location filename="../src/include/hwinfostorage.h" line="96"/> ++ <location filename="../src/include/hwinfostorage.h" line="135"/> ++ <location filename="../src/include/hwinfostorage.h" line="149"/> ++ <location filename="../src/include/hwinfostorage.h" line="195"/> ++ <location filename="../src/include/hwinfostorage.h" line="207"/> ++ <location filename="../src/include/hwinfostorage.h" line="235"/> ++ <location filename="../src/include/hwinfostorage.h" line="241"/> ++ <location filename="../src/include/hwinfostorage.h" line="248"/> ++ <location filename="../src/include/hwinfostorage.h" line="254"/> ++ <location filename="../src/include/hwinfostorage.h" line="308"/> ++ <location filename="../src/include/hwinfostorage.h" line="317"/> ++ <source>Model</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="79"/> ++ <location filename="../src/include/hwinfostorage.h" line="97"/> ++ <source>Memory</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="80"/> ++ <location filename="../src/include/hwinfostorage.h" line="98"/> ++ <source>GPU Type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="81"/> ++ <location filename="../src/include/hwinfostorage.h" line="99"/> ++ <location filename="../src/include/hwinfostorage.h" line="288"/> ++ <location filename="../src/include/hwinfostorage.h" line="298"/> ++ <location filename="../src/include/hwinfostorage.h" line="312"/> ++ <location filename="../src/include/hwinfostorage.h" line="321"/> ++ <source>Bus Info</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="82"/> ++ <location filename="../src/include/hwinfostorage.h" line="100"/> ++ <location filename="../src/include/hwinfostorage.h" line="221"/> ++ <location filename="../src/include/hwinfostorage.h" line="228"/> ++ <source>Clock</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="83"/> ++ <location filename="../src/include/hwinfostorage.h" line="101"/> ++ <source>Physics ID</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="84"/> ++ <location filename="../src/include/hwinfostorage.h" line="102"/> ++ <location filename="../src/include/hwinfostorage.h" line="114"/> ++ <location filename="../src/include/hwinfostorage.h" line="124"/> ++ <location filename="../src/include/hwinfostorage.h" line="289"/> ++ <location filename="../src/include/hwinfostorage.h" line="299"/> ++ <location filename="../src/include/hwinfostorage.h" line="311"/> ++ <location filename="../src/include/hwinfostorage.h" line="320"/> ++ <source>Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="85"/> ++ <location filename="../src/include/hwinfostorage.h" line="103"/> ++ <location filename="../src/include/hwinfostorage.h" line="137"/> ++ <location filename="../src/include/hwinfostorage.h" line="151"/> ++ <location filename="../src/include/hwinfostorage.h" line="222"/> ++ <location filename="../src/include/hwinfostorage.h" line="229"/> ++ <location filename="../src/include/hwinfostorage.h" line="237"/> ++ <location filename="../src/include/hwinfostorage.h" line="243"/> ++ <location filename="../src/include/hwinfostorage.h" line="250"/> ++ <location filename="../src/include/hwinfostorage.h" line="256"/> ++ <location filename="../src/include/hwinfostorage.h" line="260"/> ++ <location filename="../src/include/hwinfostorage.h" line="273"/> ++ <location filename="../src/include/hwinfostorage.h" line="290"/> ++ <location filename="../src/include/hwinfostorage.h" line="300"/> ++ <location filename="../src/include/hwinfostorage.h" line="310"/> ++ <location filename="../src/include/hwinfostorage.h" line="319"/> ++ <source>Driver</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="86"/> ++ <location filename="../src/include/hwinfostorage.h" line="104"/> ++ <source>Communication Width</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="166"/> ++ <location filename="../src/include/hwinfostorage.h" line="179"/> ++ <source>Mount Point</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="175"/> ++ <location filename="../src/include/hwinfostorage.h" line="188"/> ++ <source>Rota</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="223"/> ++ <location filename="../src/include/hwinfostorage.h" line="230"/> ++ <source>Width</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="87"/> ++ <location filename="../src/include/hwinfostorage.h" line="105"/> ++ <source>GDDR Size</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="88"/> ++ <location filename="../src/include/hwinfostorage.h" line="106"/> ++ <source>EGL Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="89"/> ++ <location filename="../src/include/hwinfostorage.h" line="107"/> ++ <source>EGL Api List</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="90"/> ++ <location filename="../src/include/hwinfostorage.h" line="108"/> ++ <source>OpenGL Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="91"/> ++ <location filename="../src/include/hwinfostorage.h" line="109"/> ++ <source>GLSL Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="115"/> ++ <location filename="../src/include/hwinfostorage.h" line="125"/> ++ <source>Chassis Handle</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="116"/> ++ <location filename="../src/include/hwinfostorage.h" line="126"/> ++ <source>Bios Vendor</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="117"/> ++ <location filename="../src/include/hwinfostorage.h" line="127"/> ++ <source>Bios Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="118"/> ++ <location filename="../src/include/hwinfostorage.h" line="128"/> ++ <source>Chipser</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="120"/> ++ <location filename="../src/include/hwinfostorage.h" line="130"/> ++ <source>Publish Date</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="136"/> ++ <location filename="../src/include/hwinfostorage.h" line="150"/> ++ <source>Bus</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="138"/> ++ <location filename="../src/include/hwinfostorage.h" line="152"/> ++ <source>MAC Address</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="141"/> ++ <location filename="../src/include/hwinfostorage.h" line="155"/> ++ <source>IP Address</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="142"/> ++ <location filename="../src/include/hwinfostorage.h" line="156"/> ++ <source>Net Musk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="143"/> ++ <location filename="../src/include/hwinfostorage.h" line="157"/> ++ <source>Send Bytes</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="144"/> ++ <location filename="../src/include/hwinfostorage.h" line="158"/> ++ <source>Recved Bytes</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="145"/> ++ <location filename="../src/include/hwinfostorage.h" line="159"/> ++ <source>MTU</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="164"/> ++ <location filename="../src/include/hwinfostorage.h" line="183"/> ++ <source>Vendor</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="168"/> ++ <source>Disk Name</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="169"/> ++ <location filename="../src/include/hwinfostorage.h" line="181"/> ++ <source>Frimwarever Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="170"/> ++ <location filename="../src/include/hwinfostorage.h" line="182"/> ++ <source>Disk Type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="171"/> ++ <location filename="../src/include/hwinfostorage.h" line="184"/> ++ <source>Main Disk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="173"/> ++ <location filename="../src/include/hwinfostorage.h" line="186"/> ++ <source>UFS</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="174"/> ++ <location filename="../src/include/hwinfostorage.h" line="187"/> ++ <source>UFS Revision</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="196"/> ++ <location filename="../src/include/hwinfostorage.h" line="208"/> ++ <source>Monitor Size</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="197"/> ++ <location filename="../src/include/hwinfostorage.h" line="209"/> ++ <source>Monitor Ratio</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="198"/> ++ <location filename="../src/include/hwinfostorage.h" line="210"/> ++ <source>Resolution</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="199"/> ++ <location filename="../src/include/hwinfostorage.h" line="211"/> ++ <source>Max Resolution</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="200"/> ++ <location filename="../src/include/hwinfostorage.h" line="212"/> ++ <source>Main Monitor</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="670"/> ++ <location filename="../src/include/hwinfostorage.h" line="172"/> ++ <location filename="../src/include/hwinfostorage.h" line="185"/> ++ <location filename="../src/include/hwinfostorage.h" line="201"/> ++ <location filename="../src/include/hwinfostorage.h" line="213"/> ++ <location filename="../src/include/hwinfostorage.h" line="236"/> ++ <location filename="../src/include/hwinfostorage.h" line="242"/> ++ <location filename="../src/include/hwinfostorage.h" line="249"/> ++ <location filename="../src/include/hwinfostorage.h" line="255"/> ++ <location filename="../src/include/hwinfostorage.h" line="309"/> ++ <location filename="../src/include/hwinfostorage.h" line="318"/> ++ <source>Interface</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="202"/> ++ <location filename="../src/include/hwinfostorage.h" line="214"/> ++ <source>Visible Area</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="203"/> ++ <location filename="../src/include/hwinfostorage.h" line="215"/> ++ <source>Gamma</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="220"/> ++ <location filename="../src/include/hwinfostorage.h" line="227"/> ++ <source>Bus Address</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="261"/> ++ <location filename="../src/include/hwinfostorage.h" line="274"/> ++ <source>Driver Version</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hwwidget.cpp" line="1000"/> ++ <location filename="../src/include/hwinfostorage.h" line="262"/> ++ <location filename="../src/include/hwinfostorage.h" line="275"/> ++ <source>Address</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="263"/> ++ <location filename="../src/include/hwinfostorage.h" line="276"/> ++ <source>Link Mode</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="264"/> ++ <location filename="../src/include/hwinfostorage.h" line="277"/> ++ <source>Link Policy</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="266"/> ++ <location filename="../src/include/hwinfostorage.h" line="280"/> ++ <source>ACL MTU</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="269"/> ++ <location filename="../src/include/hwinfostorage.h" line="278"/> ++ <source>Packe Type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="265"/> ++ <location filename="../src/include/hwinfostorage.h" line="279"/> ++ <source>SCO MTU</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="268"/> ++ <location filename="../src/include/hwinfostorage.h" line="282"/> ++ <source>Features</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="287"/> ++ <location filename="../src/include/hwinfostorage.h" line="297"/> ++ <source>Name</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="291"/> ++ <location filename="../src/include/hwinfostorage.h" line="301"/> ++ <source>Device Number</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="335"/> ++ <location filename="../src/include/hwinfostorage.h" line="345"/> ++ <source>State</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="336"/> ++ <location filename="../src/include/hwinfostorage.h" line="346"/> ++ <source>Energy</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="337"/> ++ <location filename="../src/include/hwinfostorage.h" line="347"/> ++ <source>Used Times</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="338"/> ++ <location filename="../src/include/hwinfostorage.h" line="348"/> ++ <source>Energy Full</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="339"/> ++ <location filename="../src/include/hwinfostorage.h" line="349"/> ++ <source>Time To Empty</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/include/hwinfostorage.h" line="340"/> ++ <location filename="../src/include/hwinfostorage.h" line="350"/> ++ <source>Percentage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/networkcardinfo.cpp" line="57"/> ++ <source>Wireless</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/networkcardinfo.cpp" line="59"/> ++ <source>Wired</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/cpuinfo.cpp" line="93"/> ++ <location filename="../src/hardwareinfo/cpuinfo.cpp" line="103"/> ++ <location filename="../src/hardwareinfo/cpuinfo.cpp" line="150"/> ++ <location filename="../src/hardwareinfo/cpuinfo.cpp" line="155"/> ++ <source>This CPU model does not support frequency display function</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/hardwareinfo/graphiccardinfo.cpp" line="109"/> ++ <source>This graphics card does not support obtaining GPU bus bit width</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driveroperation/uninstaller.cpp" line="51"/> ++ <source>Uninstall timeout.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/driveroperation/aptinstaller.cpp" line="62"/> ++ <source>Install timeout.</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>SelectionWidget</name> ++ <message> ++ <location filename="../src/selectionwidget.cpp" line="24"/> ++ <source>Driver Manager</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/selectionwidget.cpp" line="23"/> ++ <source>Hardware Info</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>TreeItem</name> ++ <message> ++ <location filename="../src/treeitem.cpp" line="60"/> ++ <location filename="../src/treeitem.cpp" line="66"/> ++ <source>Export To Clipboard</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UninstallItem</name> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="40"/> ++ <source>Scanner</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="44"/> ++ <source>GraphicCard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="48"/> ++ <source>SoundCard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="52"/> ++ <source>NetworkCard</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="56"/> ++ <source>Bluetooth</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="60"/> ++ <source>Printer</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="64"/> ++ <source>Input Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="68"/> ++ <source>Video Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="72"/> ++ <source>Other Device</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="98"/> ++ <location filename="../src/uninstallitem.cpp" line="101"/> ++ <source>Version: </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../src/uninstallitem.cpp" line="106"/> ++ <source>Uninstall</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> +diff --git a/plugins/service-support/translations/kom-service-support_vi.ts b/plugins/service-support/translations/kom-service-support_vi.ts +new file mode 100644 +index 0000000..4e42309 +--- /dev/null ++++ b/plugins/service-support/translations/kom-service-support_vi.ts +@@ -0,0 +1,675 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="vi"> ++<context> ++ <name>FeedbackManager</name> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="35"/> ++ <source>select detailed category</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="39"/> ++ <source>System</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="41"/> ++ <source>System activation</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="41"/> ++ <source>System installation</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="41"/> ++ <source>System crash</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="42"/> ++ <source>System performance</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="42"/> ++ <source>Control center</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="42"/> ++ <source>System setting</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="43"/> ++ <source>System basis consulting</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="51"/> ++ <source>Please describe in detail the problem you encountered, such as: unable to activate the system, can not find the relevant Settings, not clear system features, etc. </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="64"/> ++ <source>Please describe in detail the problems you encountered, such as: peripheral connection failure, sharing function Settings, peripheral adaptation, etc. </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="75"/> ++ <source>Please describe in detail the problems that you encounter, such as obtaining, installing, and uninstalling Kirin software errors. </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="85"/> ++ <source>Please describe your problem in detail, or you can also fill in your request or comment here.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="57"/> ++ <source>Peripheral</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="59"/> ++ <source>Peripheral adaptation consulting</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="59"/> ++ <source>Peripheral driver acquisition</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="60"/> ++ <source>Peripheral use and error reporting</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="70"/> ++ <source>Application</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="72"/> ++ <source>Software installation and uninstallation</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="72"/> ++ <source>Software use and error reporting</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="81"/> ++ <source>Other</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="83"/> ++ <source>Opinions and suggestions</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanager.cpp" line="149"/> ++ <source>Attachment size exceeds limit!</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>FeedbackManagerLogic</name> ++ <message> ++ <location filename="../service-support-backend/src/feedbackmanagerlogic.cpp" line="61"/> ++ <source>Failed to create temporary directory!</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>GotoPageItem</name> ++ <message> ++ <location filename="../UI/paginationwid.cpp" line="523"/> ++ <source>Jump to</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/paginationwid.cpp" line="525"/> ++ <source>Page</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>PaginationWid</name> ++ <message> ++ <location filename="../UI/paginationwid.cpp" line="10"/> ++ <source>total</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/paginationwid.cpp" line="11"/> ++ <source>pages</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/paginationwid.cpp" line="40"/> ++ <source>Jump to</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/paginationwid.cpp" line="43"/> ++ <source>page</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="191"/> ++ <source>System log</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="192"/> ++ <source>Machine</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="193"/> ++ <source>Hardware</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="194"/> ++ <source>Drive</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="195"/> ++ <source>APP list</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="196"/> ++ <source>Rules</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="197"/> ++ <source>Network</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../service-support-backend/src/settings.cpp" line="198"/> ++ <source>System</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../plugin.cpp" line="18"/> ++ <source>ServiceSupport</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UIMainPage</name> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="82"/> ++ <source>ServiceSupport</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="85"/> ++ <source>Multi-channel technical support services</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="88"/> ++ <source>Feedback</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="91"/> ++ <source>Self service</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="104"/> ++ <source>website</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="94"/> ++ <source>History</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="103"/> ++ <source>Jump to</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uimainpage.cpp" line="111"/> ++ <source> to get more services</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UiHistoryFeedback</name> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="155"/> ++ <source>Creation time</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="155"/> ++ <source>Type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="71"/> ++ <source>bydesign</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="73"/> ++ <source>duplicate</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="75"/> ++ <source>external</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="77"/> ++ <source>fixed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="79"/> ++ <source>notrepro</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="81"/> ++ <source>postponed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="83"/> ++ <source>willnotfix</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="99"/> ++ <source>verify</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="102"/> ++ <source>Has the issue been resolved?</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="105"/> ++ <source>Once identified, the issue will be closed and no further action will be taken.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="107"/> ++ <source>resolved</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="109"/> ++ <source>cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="155"/> ++ <source>Description</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="155"/> ++ <source>Progress</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="194"/> ++ <source>No record</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="195"/> ++ <source>There is a network problem, please try again later</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="196"/> ++ <source>Loading, please wait</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uihistoryfeedback.cpp" line="209"/> ++ <source>retry</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UiProblemFeedback</name> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="109"/> ++ <source>Advanced</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="114"/> ++ <source>Type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="132"/> ++ <source>Please describe the problem in detail and you can upload a photo or file by clicking the button below.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="134"/> ++ <source>Remaining</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="135"/> ++ <source>character</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="172"/> ++ <source>Details</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="184"/> ++ <source>ScreenShot</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="200"/> ++ <source>Add file</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="258"/> ++ <source>The phone number cannot be empty</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="260"/> ++ <source>The phone number format is incorrect</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="265"/> ++ <source>Please enter your phone number</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="271"/> ++ <source>appellation</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="279"/> ++ <source>Contact</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="283"/> ++ <source>Email required for anonymous feedback, not required for gitee feedback</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="291"/> ++ <source>The mailbox format is incorrect</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="297"/> ++ <location filename="../UI/uiproblemfeedback.cpp" line="798"/> ++ <source>Log in to gitee</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="310"/> ++ <source>Mailbox</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="319"/> ++ <source>Agree to take mine </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="329"/> ++ <source>System information</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="355"/> ++ <source>Submit</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="372"/> ++ <source>Details type</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="388"/> ++ <source>Time period</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="423"/> ++ <source>Information</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="426"/> ++ <source>lately</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="427"/> ++ <source>days</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="439"/> ++ <source>YES</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="449"/> ++ <source>NO</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="471"/> ++ <source>Upload log</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="477"/> ++ <source>Path</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="492"/> ++ <source>Export to</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="605"/> ++ <source>No more than 5 files and total capacity not exceed 10MB</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="606"/> ++ <source>Supported formats: </source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="133"/> ++ <source>Up to 500 characters</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="237"/> ++ <source>Files</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="686"/> ++ <source>Repeat addition</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="702"/> ++ <source>Attachment size out of limit</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="815"/> ++ <source>Log out of gitee</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="816"/> ++ <source>gitee has been associated</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedback.cpp" line="919"/> ++ <source>Add attachment</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UiProblemFeedbackDialog</name> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="36"/> ++ <source>OK</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="44"/> ++ <source>Retry</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="92"/> ++ <source>Submitted successfully</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="96"/> ++ <source>Cancel successfully</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="100"/> ++ <source>System is abnormal, contact technical support</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="101"/> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="108"/> ++ <source>Log and submission is packed, please go</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="101"/> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="108"/> ++ <source>acquire</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="106"/> ++ <source>Submission failed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="107"/> ++ <source>Click 'Retry' to upload again, or contact us directly.</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="39"/> ++ <source>Cancel</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiproblemfeedbackdialog.cpp" line="129"/> ++ <source>Under submission...</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UiSelfService</name> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="18"/> ++ <source>Contact us</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="39"/> ++ <source>Mail</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="52"/> ++ <source>Community</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="62"/> ++ <source>website</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="69"/> ++ <source> to get more services</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="86"/> ++ <source>Kylin technical services</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiselfservice.cpp" line="61"/> ++ <source>Jump to</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>UiServiceSupport</name> ++ <message> ++ <location filename="../UI/uiservicesupport.cpp" line="24"/> ++ <source>Feedback</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiservicesupport.cpp" line="25"/> ++ <source>Self service</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../UI/uiservicesupport.cpp" line="27"/> ++ <source>History</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0126-101-fix-2.0.0-58.patch kylin-os-manager-2.0.0/debian/patches/0126-101-fix-2.0.0-58.patch --- kylin-os-manager-2.0.0/debian/patches/0126-101-fix-2.0.0-58.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0126-101-fix-2.0.0-58.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,848 @@ +From: =?utf-8?b?6IyD5pix6L6w?= <fanyuchen@kylinos.cn> +Date: Thu, 20 Feb 2025 06:47:43 +0000 +Subject: =?utf-8?b?ITEwMSBmaXjvvJrmm7TmlrDniYjmnKzlj7foh7MyLjAuMC01OCBNZXJn?= + =?utf-8?b?ZSBwdWxsIHJlcXVlc3QgITEwMSBmcm9tIOiMg+aYsei+sC9vcGVua3lsaW4vbmls?= + =?utf-8?b?ZQ==?= + +--- + .../device-controller/src/driverinstallwidget.cpp | 2 +- + .../device-controller/src/hardwareinfo/cpuinfo.cpp | 213 +++++++++++---------- + .../src/hardwareinfo/monitorinfo.cpp | 66 ++++--- + .../device-controller/src/hardwareinfogetter.cpp | 2 +- + .../device-controller/src/hardwareinfowidget.cpp | 197 ++++++++++--------- + plugins/device-controller/src/hardwareinfowidget.h | 7 + + plugins/device-controller/src/hwwidget.cpp | 68 +++++-- + plugins/device-controller/src/hwwidget.h | 3 + + 8 files changed, 322 insertions(+), 236 deletions(-) + +diff --git a/plugins/device-controller/src/driverinstallwidget.cpp b/plugins/device-controller/src/driverinstallwidget.cpp +index 6c0ddd0..1ff08a1 100644 +--- a/plugins/device-controller/src/driverinstallwidget.cpp ++++ b/plugins/device-controller/src/driverinstallwidget.cpp +@@ -1774,7 +1774,7 @@ void DriverInstallWidget::uninstallUpdateSuccessSlot() { + // 删除数据库内容 + g_signal->deleteDataSignal(hardWareInfo.model); + // 添加到可安装页面 +- addNewInstallabelItemSlot(hardWareInfo); ++ QTimer::singleShot(500,[=](){addNewInstallabelItemSlot(hardWareInfo);}); + } + + void DriverInstallWidget::uninstallDriverSlot(UninstallItem *item, QStringList driverName) { +diff --git a/plugins/device-controller/src/hardwareinfo/cpuinfo.cpp b/plugins/device-controller/src/hardwareinfo/cpuinfo.cpp +index 8ac589a..8312f9d 100644 +--- a/plugins/device-controller/src/hardwareinfo/cpuinfo.cpp ++++ b/plugins/device-controller/src/hardwareinfo/cpuinfo.cpp +@@ -47,115 +47,116 @@ QString CpuInfo::getValue(QString value) { + + QString CpuInfo::getFrequency() { + // CPU 频率 +- QProcess proc3; +- QString commond3 = "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"; +- proc3.start(commond3); +- proc3.waitForFinished(); +- QString outPut3 = proc3.readAllStandardOutput().trimmed(); +- proc3.close(); +- if (outPut3 == "powersave") { +- QProcess process; +- process.start("cpufreq-info"); +- process.waitForFinished(); ++// QProcess proc3; ++// QString commond3 = "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"; ++// proc3.start(commond3); ++// proc3.waitForFinished(); ++// QString outPut3 = proc3.readAllStandardOutput().trimmed(); ++// proc3.close(); ++// if (outPut3 == "powersave") { ++// QProcess process; ++// process.start("cpufreq-info"); ++// process.waitForFinished(); ++// ++// QString output = process.readAllStandardOutput(); ++// QStringList lines = output.split("\n"); ++// ++// QStringList currentFrequencies; ++// for (const QString &line: lines) { ++// if (line.contains("current CPU frequency")) { ++// QStringList parts = line.split("is"); ++// if (parts.size() > 1) { ++// QString currentFrequency = parts.at(1).trimmed().split(" ")[0]; ++// if (currentFrequency.contains(".")) { ++// currentFrequency = QString::number(currentFrequency.toFloat() * 1000); ++// currentFrequencies.append(currentFrequency); ++// } else { ++// currentFrequencies.append(currentFrequency); ++// } ++// } ++// } ++// } ++// if(currentFrequencies.length() == 0){ ++// QProcess process2; ++// process2.start("cat /tmp/kylin-os-manager-cpu.dat"); ++// process2.waitForFinished(); ++// ++// QString output2 = process2.readAllStandardOutput(); ++// process2.close(); ++// QStringList lines2 = output2.split("\n"); ++// for (int i = 0; i < lines2.length(); ++i) { ++// if (lines2[i].contains("Current Speed:")){ ++// QString freq = lines2[i].split(":")[1].trimmed(); ++// return freq; ++// } ++// } ++// return QObject::tr("This CPU model does not support frequency display function"); ++// } ++// double min = currentFrequencies[0].toDouble(); ++// for (int i = 0; i < currentFrequencies.length(); ++i) { ++// if (min > currentFrequencies[i].toDouble()) { ++// min = currentFrequencies[i].toDouble(); ++// } ++// } ++// QString frequency = QString::number(int(min)) + " MHz"; ++// if (frequency == "0.00 MHz") { ++// frequency = QObject::tr("This CPU model does not support frequency display function"); ++// } ++// return frequency; ++// }else{ ++// QProcess process; ++// process.start("cpufreq-info"); ++// process.waitForFinished(); ++// ++// QString output = process.readAllStandardOutput(); ++// QStringList lines = output.split("\n"); ++// ++// QStringList currentFrequencies; ++// for (const QString &line: lines) { ++// if (line.contains("current CPU frequency")) { ++// QStringList parts = line.split("is"); ++// if (parts.size() > 1) { ++// QString currentFrequency = parts.at(1).trimmed().split(" ")[0]; ++// if (currentFrequency.contains(".")) { ++// currentFrequency = QString::number(currentFrequency.toFloat() * 1000); ++// currentFrequencies.append(currentFrequency); ++// } else { ++// currentFrequencies.append(currentFrequency); ++// } ++// } ++// } ++// } ++// double max = 0; ++// for (int i = 0; i < currentFrequencies.length(); ++i) { ++// if (max < currentFrequencies[i].toDouble()) { ++// max = currentFrequencies[i].toDouble(); ++// } ++// } ++// ++// if(currentFrequencies.length() == 0){ ++// ++// } ++// ++// QString frequency = QString::number(int(max)) + " MHz"; ++// if (frequency == "0.00 MHz") { ++// frequency = QObject::tr("This CPU model does not support frequency display function"); ++// } ++// return frequency; ++// } ++ QProcess process2; ++ process2.start("cat /tmp/kylin-os-manager-cpu.dat"); ++ process2.waitForFinished(); + +- QString output = process.readAllStandardOutput(); +- QStringList lines = output.split("\n"); +- +- QStringList currentFrequencies; +- for (const QString &line: lines) { +- if (line.contains("current CPU frequency")) { +- QStringList parts = line.split("is"); +- if (parts.size() > 1) { +- QString currentFrequency = parts.at(1).trimmed().split(" ")[0]; +- if (currentFrequency.contains(".")) { +- currentFrequency = QString::number(currentFrequency.toFloat() * 1000); +- currentFrequencies.append(currentFrequency); +- } else { +- currentFrequencies.append(currentFrequency); +- } +- } +- } +- } +- if(currentFrequencies.length() == 0){ +- QProcess process2; +- process2.start("cat /tmp/kylin-os-manager-cpu.dat"); +- process2.waitForFinished(); +- +- QString output2 = process2.readAllStandardOutput(); +- process2.close(); +- QStringList lines2 = output2.split("\n"); +- for (int i = 0; i < lines2.length(); ++i) { +- if (lines2[i].contains("Current Speed:")){ +- QString freq = lines2[i].split(":")[1].trimmed(); +- return freq; +- } +- } +- return QObject::tr("This CPU model does not support frequency display function"); +- } +- double min = currentFrequencies[0].toDouble(); +- for (int i = 0; i < currentFrequencies.length(); ++i) { +- if (min > currentFrequencies[i].toDouble()) { +- min = currentFrequencies[i].toDouble(); +- } +- } +- QString frequency = QString::number(int(min)) + " MHz"; +- if (frequency == "0.00 MHz") { +- frequency = QObject::tr("This CPU model does not support frequency display function"); +- } +- return frequency; +- }else{ +- QProcess process; +- process.start("cpufreq-info"); +- process.waitForFinished(); +- +- QString output = process.readAllStandardOutput(); +- QStringList lines = output.split("\n"); +- +- QStringList currentFrequencies; +- for (const QString &line: lines) { +- if (line.contains("current CPU frequency")) { +- QStringList parts = line.split("is"); +- if (parts.size() > 1) { +- QString currentFrequency = parts.at(1).trimmed().split(" ")[0]; +- if (currentFrequency.contains(".")) { +- currentFrequency = QString::number(currentFrequency.toFloat() * 1000); +- currentFrequencies.append(currentFrequency); +- } else { +- currentFrequencies.append(currentFrequency); +- } +- } +- } +- } +- double max = 0; +- for (int i = 0; i < currentFrequencies.length(); ++i) { +- if (max < currentFrequencies[i].toDouble()) { +- max = currentFrequencies[i].toDouble(); +- } +- } +- +- if(currentFrequencies.length() == 0){ +- QProcess process2; +- process2.start("cat /tmp/kylin-os-manager-cpu.dat"); +- process2.waitForFinished(); +- +- QString output2 = process2.readAllStandardOutput(); +- process2.close(); +- QStringList lines2 = output2.split("\n"); +- for (int i = 0; i < lines2.length(); ++i) { +- if (lines2[i].contains("Current Speed:")){ +- QString freq = lines2[i].split(":")[1].trimmed(); +- return freq; +- } +- } +- return QObject::tr("This CPU model does not support frequency display function"); +- } +- +- QString frequency = QString::number(int(max)) + " MHz"; +- if (frequency == "0.00 MHz") { +- frequency = QObject::tr("This CPU model does not support frequency display function"); ++ QString output2 = process2.readAllStandardOutput(); ++ process2.close(); ++ QStringList lines2 = output2.split("\n"); ++ for (int i = 0; i < lines2.length(); ++i) { ++ if (lines2[i].contains("Current Speed:")){ ++ QString freq = lines2[i].split(":")[1].trimmed(); ++ return freq; + } +- return frequency; + } ++ return QObject::tr("This CPU model does not support frequency display function"); + } + + QString CpuInfo::getUsageRate() { +diff --git a/plugins/device-controller/src/hardwareinfo/monitorinfo.cpp b/plugins/device-controller/src/hardwareinfo/monitorinfo.cpp +index 3af01a3..3c6faec 100644 +--- a/plugins/device-controller/src/hardwareinfo/monitorinfo.cpp ++++ b/plugins/device-controller/src/hardwareinfo/monitorinfo.cpp +@@ -60,25 +60,49 @@ QString MonitorInfo::getResolution() { + QString output = process.readAllStandardOutput(); + QStringList lines = output.split('\n'); + +- QString currentDisplay; ++ QList<int> intlist; ++ for (int i = 0; i < lines.length(); ++i) { ++ if(lines[i].contains(" connected") || lines[i].contains(" disconnected")){ ++ intlist.append(i); ++ } ++ } ++ intlist.append(lines.length()); ++ ++ QStringList monitorList; ++ for (int i = 0; i < intlist.size() - 1; ++i) { ++ QString monitorInfo; ++ for (int j = intlist.at(i); j < intlist.at(i + 1); ++j) { ++ monitorInfo.append(lines.at(j)).append('\n'); ++ } ++ monitorList.append(monitorInfo.trimmed()); // 移除末尾的换行符 ++ } ++ ++ QStringList monitorinfo; ++ for (int i = 0; i < monitorList.length(); ++i) { ++ if(QString(monitorList.at(i)).contains(interface)){ ++ monitorinfo = QString(monitorList[i]).split('\n'); ++ break; ++ } ++ } ++ ++ QString currentDisplay = interface; ++ QString res; + bool isCurrentMode = false; + +- for (const QString &line : lines) { +- if (line.contains(" connected")) { +- // 解析当前显示器名称 +- QStringList parts = line.split(' '); +- currentDisplay = parts[0]; +- isCurrentMode = false; +- } else if (!currentDisplay.isEmpty() && line.startsWith(" ")) { ++ for (const QString &line: monitorinfo) { ++ if (line.startsWith(" ")) { + // 解析当前显示器的分辨率和刷新率 + QStringList parts = line.simplified().split(' '); + if (parts.size() >= 2) { +- QString resolution = parts[0]; + QString refreshRate; +- for(int i = 1; i < parts.length(); ++i){ +- if(QString(parts[i]).contains("*")){ ++ for (int i = 1; i < parts.length(); ++i) { ++ if (QString(parts[i]).contains("*")) { ++ res = parts[0]; + refreshRate = parts[i]; + } ++ if (refreshRate.contains("+")) { ++ refreshRate.remove("+"); ++ } + } + bool hasAsterisk = refreshRate.contains('*'); + +@@ -95,18 +119,16 @@ QString MonitorInfo::getResolution() { + } + } + +- QList<QScreen*> screens = QGuiApplication::screens(); +- foreach (QScreen *screen, screens) { +- QString interface = screen->name(); +- if (devlist.contains(interface)) { +- QString resolution = QString::number(screen->geometry().width() * screen->devicePixelRatio()) +- + "x" +- + QString::number(screen->geometry().height() * screen->devicePixelRatio()) +- + "@" +- + devlist.value(interface) + "Hz"; +- return resolution; ++ QList<QScreen *> screens = QGuiApplication::screens(); ++ foreach (QScreen *screen, screens) { ++ QString interface = screen->name(); ++ if (devlist.contains(interface)) { ++ QString resolution = res ++ + "@" ++ + devlist.value(interface) + "Hz"; ++ return resolution; ++ } + } +- } + + return QString(); // 如果没有匹配到则返回空字符串 + } +diff --git a/plugins/device-controller/src/hardwareinfogetter.cpp b/plugins/device-controller/src/hardwareinfogetter.cpp +index 78f19df..5349325 100644 +--- a/plugins/device-controller/src/hardwareinfogetter.cpp ++++ b/plugins/device-controller/src/hardwareinfogetter.cpp +@@ -1284,7 +1284,7 @@ QList<FanInfo> HardwareInfoGetter::getFanInfo() { + fanInfo.name = memoryJson["name"].toString(); + fanInfo.speed = memoryJson["speed"].toString(); + +- if(fanInfo.speed == "0" || fanInfo.speed == "0 RPM"){ ++ if(fanInfo.speed == "0" || fanInfo.speed == "0 RPM" || fanInfo.speed.trimmed() == ""){ + continue; + } + +diff --git a/plugins/device-controller/src/hardwareinfowidget.cpp b/plugins/device-controller/src/hardwareinfowidget.cpp +index 2598f3b..baca9cb 100644 +--- a/plugins/device-controller/src/hardwareinfowidget.cpp ++++ b/plugins/device-controller/src/hardwareinfowidget.cpp +@@ -10,85 +10,85 @@ + #include "kom-configure.h" + + HardWareInfoWidget::HardWareInfoWidget(QWidget *parent) +- : QWidget(parent), +- m_mainLayout(new QVBoxLayout()), +- m_pcBasicContentLayout(new QVBoxLayout()), +- m_pcBasicContentWidget(new BasicContentWidget), +- m_pcInfoLabel(new QLabel()), +- m_hostPic(new QLabel()), +- m_hostnameLabel(new K::TextLabel), +- m_hostnameLayout(new QHBoxLayout), +- m_hostnameWidget(new QWidget), +- m_hostnameLabel2(new QLabel()), +- m_hostnameLayout2(new QHBoxLayout), +- m_hostnameWidget2(new QWidget), +- m_sysVersionPic(new QLabel()), +- m_sysVersionLabel(new K::TextLabel), +- m_sysVersionLayout(new QHBoxLayout), +- m_sysVersionWidget(new QWidget), +- m_sysVersionLabel2(new QLabel()), +- m_sysVersionLayout2(new QHBoxLayout), +- m_sysVersionWidget2(new QWidget), +- m_sysYearVersionPic(new QLabel()), +- m_sysYearVersionLabel(new K::TextLabel), +- m_sysYearVersionLayout(new QHBoxLayout), +- m_sysYearVersionWidget(new QWidget), +- m_sysYearVersionLabel2(new QLabel()), +- m_sysYearVersionLayout2(new QHBoxLayout), +- m_sysYearVersionWidget2(new QWidget), +- m_kernelVersionPic(new QLabel()), +- m_kernelVersionLabel(new K::TextLabel()), +- m_kernelVersionLayout(new QHBoxLayout), +- m_kernelVersionWidget(new QWidget), +- m_kernelVersionLabel2(new QLabel()), +- m_kernelVersionLayout2(new QHBoxLayout), +- m_kernelVersionWidget2(new QWidget), +- m_archPic(new QLabel()), +- m_archLabel(new K::TextLabel), +- m_archLayout(new QHBoxLayout), +- m_archWidget(new QWidget), +- m_archLabel2(new QLabel()), +- m_archLayout2(new QHBoxLayout), +- m_archWidget2(new QWidget), +- m_sysBitPic(new QLabel()), +- m_sysBitLabel(new K::TextLabel()), +- m_sysBitLayout(new QHBoxLayout), +- m_sysBitWidget(new QWidget), +- m_sysBitLabel2(new QLabel()), +- m_sysBitLayout2(new QHBoxLayout), +- m_sysBitWidget2(new QWidget), +- m_manufactorPic(new QLabel()), +- m_manufactorLabel(new K::TextLabel()), +- m_manufactorLayout(new QHBoxLayout), +- m_manufactorWidget(new QWidget), +- m_manufactorLabel2(new QLabel()), +- m_manufactorLayout2(new QHBoxLayout), +- m_manufactorWidget2(new QWidget), +- m_versionPic(new QLabel()), +- m_versionLabel(new K::TextLabel()), +- m_versionLayout(new QHBoxLayout), +- m_versionWidget(new QWidget), +- m_versionLabel2(new QLabel()), +- m_versionLayout2(new QHBoxLayout), +- m_versionWidget2(new QWidget), +- m_modelPic(new QLabel()), +- m_modelLabel(new K::TextLabel()), +- m_modelLayout(new QHBoxLayout), +- m_modelWidget(new QWidget), +- m_modelLabel2(new QLabel()), +- m_modelLayout2(new QHBoxLayout), +- m_modelWidget2(new QWidget), +- m_serialPic(new QLabel()), +- m_serialLabel(new K::TextLabel()), +- m_serialLayout(new QHBoxLayout), +- m_serialWidget(new QWidget), +- m_serialLabel2(new QLabel()), +- m_serialLayout2(new QHBoxLayout), +- m_serialWidget2(new QWidget), +- m_hardwareDisplayLabel(new QLabel), +- m_HWDisplayLayout(new QVBoxLayout), +- m_HWDisplayWidget(new QWidget), +- m_TreeWidget(new CustomTreeWidget) { ++ : QWidget(parent), ++ m_mainLayout(new QVBoxLayout()), ++ m_pcBasicContentLayout(new QVBoxLayout()), ++ m_pcBasicContentWidget(new BasicContentWidget), ++ m_pcInfoLabel(new QLabel()), ++ m_hostPic(new QLabel()), ++ m_hostnameLabel(new K::TextLabel), ++ m_hostnameLayout(new QHBoxLayout), ++ m_hostnameWidget(new QWidget), ++ m_hostnameLabel2(new QLabel()), ++ m_hostnameLayout2(new QHBoxLayout), ++ m_hostnameWidget2(new QWidget), ++ m_sysVersionPic(new QLabel()), ++ m_sysVersionLabel(new K::TextLabel), ++ m_sysVersionLayout(new QHBoxLayout), ++ m_sysVersionWidget(new QWidget), ++ m_sysVersionLabel2(new QLabel()), ++ m_sysVersionLayout2(new QHBoxLayout), ++ m_sysVersionWidget2(new QWidget), ++ m_sysYearVersionPic(new QLabel()), ++ m_sysYearVersionLabel(new K::TextLabel), ++ m_sysYearVersionLayout(new QHBoxLayout), ++ m_sysYearVersionWidget(new QWidget), ++ m_sysYearVersionLabel2(new QLabel()), ++ m_sysYearVersionLayout2(new QHBoxLayout), ++ m_sysYearVersionWidget2(new QWidget), ++ m_kernelVersionPic(new QLabel()), ++ m_kernelVersionLabel(new K::TextLabel()), ++ m_kernelVersionLayout(new QHBoxLayout), ++ m_kernelVersionWidget(new QWidget), ++ m_kernelVersionLabel2(new QLabel()), ++ m_kernelVersionLayout2(new QHBoxLayout), ++ m_kernelVersionWidget2(new QWidget), ++ m_archPic(new QLabel()), ++ m_archLabel(new K::TextLabel), ++ m_archLayout(new QHBoxLayout), ++ m_archWidget(new QWidget), ++ m_archLabel2(new QLabel()), ++ m_archLayout2(new QHBoxLayout), ++ m_archWidget2(new QWidget), ++ m_sysBitPic(new QLabel()), ++ m_sysBitLabel(new K::TextLabel()), ++ m_sysBitLayout(new QHBoxLayout), ++ m_sysBitWidget(new QWidget), ++ m_sysBitLabel2(new QLabel()), ++ m_sysBitLayout2(new QHBoxLayout), ++ m_sysBitWidget2(new QWidget), ++ m_manufactorPic(new QLabel()), ++ m_manufactorLabel(new K::TextLabel()), ++ m_manufactorLayout(new QHBoxLayout), ++ m_manufactorWidget(new QWidget), ++ m_manufactorLabel2(new QLabel()), ++ m_manufactorLayout2(new QHBoxLayout), ++ m_manufactorWidget2(new QWidget), ++ m_versionPic(new QLabel()), ++ m_versionLabel(new K::TextLabel()), ++ m_versionLayout(new QHBoxLayout), ++ m_versionWidget(new QWidget), ++ m_versionLabel2(new QLabel()), ++ m_versionLayout2(new QHBoxLayout), ++ m_versionWidget2(new QWidget), ++ m_modelPic(new QLabel()), ++ m_modelLabel(new K::TextLabel()), ++ m_modelLayout(new QHBoxLayout), ++ m_modelWidget(new QWidget), ++ m_modelLabel2(new QLabel()), ++ m_modelLayout2(new QHBoxLayout), ++ m_modelWidget2(new QWidget), ++ m_serialPic(new QLabel()), ++ m_serialLabel(new K::TextLabel()), ++ m_serialLayout(new QHBoxLayout), ++ m_serialWidget(new QWidget), ++ m_serialLabel2(new QLabel()), ++ m_serialLayout2(new QHBoxLayout), ++ m_serialWidget2(new QWidget), ++ m_hardwareDisplayLabel(new QLabel), ++ m_HWDisplayLayout(new QVBoxLayout), ++ m_HWDisplayWidget(new QWidget), ++ m_TreeWidget(new CustomTreeWidget) { + if (QGSettings::isSchemaInstalled(KYLIN_OS_MANAGER)) { + m_data = new QGSettings(KYLIN_OS_MANAGER); + } +@@ -460,11 +460,13 @@ void HardWareInfoWidget::getPcInfo() { + m_serialLabel2->setText(g_infogetter->m_pcinfo.serial); + + m_basicExportContent.append(tr("Host Name") + "\t" + g_infogetter->m_pcinfo.hostname); +- m_basicExportContent.append(tr("Operation System Version") + "\t" + g_infogetter->m_pcinfo.sysversion); ++ m_basicExportContent.append(tr("Operation System Name") + "\t" + g_infogetter->m_pcinfo.sysversion); ++ m_basicExportContent.append(tr("Operation System Version") + "\t" + g_infogetter->m_pcinfo.yearversion); + m_basicExportContent.append(tr("Kernel Version") + "\t" + g_infogetter->m_pcinfo.kernelversion); + m_basicExportContent.append(tr("Kernel Architecture") + "\t" + g_infogetter->m_pcinfo.arch); + m_basicExportContent.append(tr("System Bits") + "\t" + g_infogetter->m_pcinfo.sysbits); + m_basicExportContent.append(tr("Manufacturer") + "\t" + g_infogetter->m_pcinfo.manufacturer); ++ m_basicExportContent.append(tr("Version") + "\t" + g_infogetter->m_pcinfo.version); + m_basicExportContent.append(tr("Model") + "\t" + g_infogetter->m_pcinfo.model); + m_basicExportContent.append(tr("Serial") + "\t" + g_infogetter->m_pcinfo.serial); + +@@ -1054,6 +1056,10 @@ void HardWareInfoWidget::getCameraInfo() { + + void HardWareInfoWidget::getFanInfo() { + for (int j = 0; j < g_infogetter->m_fanInfoList.length(); ++j) { ++ if (g_infogetter->m_fanInfoList[j].speed.trimmed() == "" || ++ (g_infogetter->m_fanInfoList[j].speed.trimmed().contains("0"))) { ++ continue; ++ } + HwWidget *m_fanWidget = new HwWidget(&(g_infogetter->m_fanInfoList[j])); + m_fanWidget->setAutoFillBackground(true); + m_fanWidgetList.append(m_fanWidget); +@@ -1292,13 +1298,14 @@ QPixmap HardWareInfoWidget::drawSymbolicColoredPixmap(const QPixmap &source, QSt + + void HardWareInfoWidget::deviceAddSlot(QString devtype) { + if (devtype == "USB storage device") { +- RefreshDiskvInfo *refreshDiskInfo = new RefreshDiskvInfo(); ++ refreshDiskInfo = new RefreshDiskvInfo(); ++ connect(refreshDiskInfo, &QThread::started, [=](){diskAddRemoveComplete = false;}); + connect(refreshDiskInfo, &QThread::finished, this, &HardWareInfoWidget::addDiskItem); + connect(refreshDiskInfo, &QThread::finished, refreshDiskInfo, &QThread::deleteLater); +- refreshDiskInfo->start(); ++ diskCheckTimer = new QTimer(this); ++ connect(diskCheckTimer, &QTimer::timeout, this, &HardWareInfoWidget::checkDiskInfo); ++ diskCheckTimer->start(100); + } else if (devtype == "Keyboard or mouse") { +- g_infogetter->refreshMouseInfo(); +- g_infogetter->refreshKeyboardInfo(); + RefreshKeyboardInfo *refreshKeyboardInfo = new RefreshKeyboardInfo(); + connect(refreshKeyboardInfo, &QThread::finished, this, &HardWareInfoWidget::addKeyboardItem); + connect(refreshKeyboardInfo, &QThread::finished, refreshKeyboardInfo, &QThread::deleteLater); +@@ -1327,12 +1334,14 @@ void HardWareInfoWidget::deviceAddSlot(QString devtype) { + + void HardWareInfoWidget::deviceRemoveSlot(QString devtype) { + if (devtype == "USB storage device") { +- RefreshDiskvInfo *refreshDiskInfo = new RefreshDiskvInfo(); ++ refreshDiskInfo = new RefreshDiskvInfo(); ++ connect(refreshDiskInfo, &QThread::started, [=](){diskAddRemoveComplete = false;}); + connect(refreshDiskInfo, &QThread::finished, this, &HardWareInfoWidget::removeDiskItem); + connect(refreshDiskInfo, &QThread::finished, refreshDiskInfo, &QThread::deleteLater); +- refreshDiskInfo->start(); ++ diskCheckTimer = new QTimer(this); ++ connect(diskCheckTimer, &QTimer::timeout, this, &HardWareInfoWidget::checkDiskInfo); ++ diskCheckTimer->start(100); + } else if (devtype == "Keyboard or mouse") { +- + RefreshKeyboardInfo *refreshKeyboardInfo = new RefreshKeyboardInfo(); + connect(refreshKeyboardInfo, &QThread::finished, this, &HardWareInfoWidget::removeKeyboardItem); + connect(refreshKeyboardInfo, &QThread::finished, refreshKeyboardInfo, &QThread::deleteLater); +@@ -1361,6 +1370,13 @@ void HardWareInfoWidget::deviceRemoveSlot(QString devtype) { + } + } + ++void HardWareInfoWidget::checkDiskInfo() { ++ if(!refreshDiskInfo->isRunning() && diskAddRemoveComplete){ ++ refreshDiskInfo->start(); ++ diskCheckTimer->stop(); ++ } ++} ++ + void HardWareInfoWidget::addDiskItem() { + QList<DiskInfo> newDiskInfoList = g_infogetter->m_diskinfoList; + if (g_infogetter->m_oldDiskInfoList.length() < newDiskInfoList.length()) { +@@ -1389,6 +1405,7 @@ void HardWareInfoWidget::addDiskItem() { + } + } + m_TreeWidget->customSort(); ++ diskAddRemoveComplete = true; + } + + void HardWareInfoWidget::addMouseItem() { +@@ -1558,7 +1575,7 @@ void HardWareInfoWidget::removeDiskItem() { + if (!nameList.contains(g_infogetter->m_oldDiskInfoList[i].name)) { + //将新加入的设备展示在界面- + for (int j = 0; j < m_diskWidgetList.length(); ++j) { +- if (m_diskWidgetList[j]->getDevName() == g_infogetter->m_oldDiskInfoList[i].name) { ++ if (m_diskWidgetList[j]->getDiskName() == g_infogetter->m_oldDiskInfoList[i].name) { + HwWidget *hwWidget = m_diskWidgetList[j]; + m_diskWidgetList[j]->spreadIn(); + m_diskWidgetList.removeOne(m_diskWidgetList[j]); +@@ -1571,6 +1588,7 @@ void HardWareInfoWidget::removeDiskItem() { + } + } + } ++ diskAddRemoveComplete = true; + } + + void HardWareInfoWidget::removeMouseItem() { +@@ -1636,7 +1654,8 @@ void HardWareInfoWidget::removeBluetoothItem() { + if (!addressList.contains(g_infogetter->m_oldBluetoothInfoList[i].address)) { + //将新加入的设备展示在界面- + for (int j = 0; j < m_bluetoothWidgetList.length(); ++j) { +- if (m_bluetoothWidgetList[j]->m_bluetoothAddress == g_infogetter->m_oldBluetoothInfoList[i].address) { ++ if (m_bluetoothWidgetList[j]->m_bluetoothAddress == ++ g_infogetter->m_oldBluetoothInfoList[i].address) { + HwWidget *hwWidget = m_bluetoothWidgetList[j]; + m_bluetoothWidgetList[j]->spreadIn(); + m_bluetoothWidgetList.removeOne(m_bluetoothWidgetList[j]); +diff --git a/plugins/device-controller/src/hardwareinfowidget.h b/plugins/device-controller/src/hardwareinfowidget.h +index d199fcf..40968b0 100644 +--- a/plugins/device-controller/src/hardwareinfowidget.h ++++ b/plugins/device-controller/src/hardwareinfowidget.h +@@ -178,8 +178,13 @@ private: + // Fan + QList<HwWidget *> m_fanWidgetList; + ++ // 剪贴板 + QClipboard *m_clipboard = nullptr; + ++ RefreshDiskvInfo *refreshDiskInfo = nullptr; ++ bool diskAddRemoveComplete = true; ++ QTimer *diskCheckTimer = nullptr; ++ + void initGui(); + + void initConnection(); +@@ -220,6 +225,8 @@ private: + + void getBluetoothInfo(); + ++ void checkDiskInfo(); ++ + private: + void setIconColor(); + +diff --git a/plugins/device-controller/src/hwwidget.cpp b/plugins/device-controller/src/hwwidget.cpp +index d6e42da..e229595 100644 +--- a/plugins/device-controller/src/hwwidget.cpp ++++ b/plugins/device-controller/src/hwwidget.cpp +@@ -80,6 +80,9 @@ QString HwWidget::getMonitorInterface() { + return m_monitorInterface; + } + ++QString HwWidget::getDiskName() { ++ return m_diskName; ++} + + void HwWidget::initGui() { + m_iconLabel->setFixedSize(HARDWAREINFOWIDGETBUTTONSIZE); +@@ -185,7 +188,8 @@ void HwWidget::setContent() { + } + } + }); +- m_timer->start(1000); ++ connect(m_spreadOutBtn, &QPushButton::clicked, [=](){m_timer->start(1000);}); ++ connect(m_spreadInBtn, &QPushButton::clicked, [=](){m_timer->stop();}); + } + } + } +@@ -259,7 +263,8 @@ void HwWidget::setContent() { + connect(m_timer, &QTimer::timeout, [=]() { + item->setLabelText(memoryInfo->getValue(HwInfoSingleton::instance().m_memoryMap.value(key))); + }); +- m_timer->start(1000); ++ connect(m_spreadOutBtn, &QPushButton::clicked, [=](){m_timer->start(1000);}); ++ connect(m_spreadInBtn, &QPushButton::clicked, [=](){m_timer->stop();}); + } + } + } +@@ -335,7 +340,8 @@ void HwWidget::setContent() { + connect(m_timer, &QTimer::timeout, [=]() { + item->setLabelText(graphicCardInfo->getValue(HwInfoSingleton::instance().m_graphicCardMap.value(key))); + }); +- m_timer->start(1000); ++ connect(m_spreadOutBtn, &QPushButton::clicked, [=](){m_timer->start(1000);}); ++ connect(m_spreadInBtn, &QPushButton::clicked, [=](){m_timer->stop();}); + } + } + } +@@ -531,8 +537,8 @@ void HwWidget::setContent() { + } + + connect(m_timer, &QTimer::timeout, this, &HwWidget::setNetworkStatus); +- m_timer->start(2000); +- ++ connect(m_spreadOutBtn, &QPushButton::clicked, [=](){m_timer->start(2000);}); ++ connect(m_spreadInBtn, &QPushButton::clicked, [=](){m_timer->stop();}); + // 添加用户自定义的显示内容 + for (int i = 0; i < additionMap.keys().length(); ++i) { + m_explorContent.append(QString("%1\t%2").arg(additionMap.keys()[i]).arg(additionMap.values()[i])); +@@ -599,6 +605,8 @@ void HwWidget::setContent() { + childItem->setSizeHint(0, TREEWIDGETITEMSIZEHINT); + m_treeItemList.append(item); + m_treeWidgetItemList.append(childItem); ++ QString diskname = diskInfo->getValue("name"); ++ m_diskName = diskname; + } + } + +@@ -701,7 +709,8 @@ void HwWidget::setContent() { + } + } + } +- m_timer->start(5000); ++ connect(m_spreadOutBtn, &QPushButton::clicked, [=](){m_timer->start(5000);}); ++ connect(m_spreadInBtn, &QPushButton::clicked, [=](){m_timer->stop();}); + + // 添加用户自定义的显示内容 + for (int i = 0; i < additionMap.keys().length(); ++i) { +@@ -803,7 +812,8 @@ void HwWidget::setContent() { + } + } + }); +- m_timer->start(2000); ++ connect(m_spreadOutBtn, &QPushButton::clicked, [=](){m_timer->start(2000);}); ++ connect(m_spreadInBtn, &QPushButton::clicked, [=](){m_timer->stop();}); + + // 添加用户自定义的显示内容 + for (int i = 0; i < additionMap.keys().length(); ++i) { +@@ -1029,7 +1039,8 @@ void HwWidget::setContent() { + } + + connect(m_timer, &QTimer::timeout, this, &HwWidget::setBluetoothStatus); +- m_timer->start(2000); ++ connect(m_spreadOutBtn, &QPushButton::clicked, [=](){m_timer->start(2000);}); ++ connect(m_spreadInBtn, &QPushButton::clicked, [=](){m_timer->stop();}); + + // 添加用户自定义的显示内容 + for (int i = 0; i < additionMap.keys().length(); ++i) { +@@ -1168,7 +1179,8 @@ void HwWidget::setContent() { + connect(m_timer, &QTimer::timeout, [=]() { + item->setLabelText(batteryInfo->getValue(HwInfoSingleton::instance().m_batteryInfoMap.value(key))); + }); +- m_timer->start(3000); ++ connect(m_spreadOutBtn, &QPushButton::clicked, [=](){m_timer->start(3000);}); ++ connect(m_spreadInBtn, &QPushButton::clicked, [=](){m_timer->stop();}); + } + + } +@@ -1882,17 +1894,37 @@ QString HwWidget::getResolution(QString interface) { + QString output = process.readAllStandardOutput(); + QStringList lines = output.split('\n'); + +- QString currentDisplay; ++ QList<int> intlist; ++ for (int i = 0; i < lines.length(); ++i) { ++ if(lines[i].contains(" connected") || lines[i].contains(" disconnected")){ ++ intlist.append(i); ++ } ++ } ++ intlist.append(lines.length()); ++ ++ QStringList monitorList; ++ for (int i = 0; i < intlist.size() - 1; ++i) { ++ QString monitorInfo; ++ for (int j = intlist.at(i); j < intlist.at(i + 1); ++j) { ++ monitorInfo.append(lines.at(j)).append('\n'); ++ } ++ monitorList.append(monitorInfo.trimmed()); // 移除末尾的换行符 ++ } ++ ++ QStringList monitorinfo; ++ for (int i = 0; i < monitorList.length(); ++i) { ++ if(QString(monitorList.at(i)).contains(interface)){ ++ monitorinfo = QString(monitorList[i]).split('\n'); ++ break; ++ } ++ } ++ ++ QString currentDisplay = interface; + QString res; + bool isCurrentMode = false; + +- for (const QString &line: lines) { +- if (line.contains(" connected")) { +- // 解析当前显示器名称 +- QStringList parts = line.split(' '); +- currentDisplay = parts[0]; +- isCurrentMode = false; +- } else if (!currentDisplay.isEmpty() && line.startsWith(" ")) { ++ for (const QString &line: monitorinfo) { ++ if (line.startsWith(" ")) { + // 解析当前显示器的分辨率和刷新率 + QStringList parts = line.simplified().split(' '); + if (parts.size() >= 2) { +@@ -1991,3 +2023,5 @@ void HwWidget::setNetworkStatus() { + } + } + ++ ++ +diff --git a/plugins/device-controller/src/hwwidget.h b/plugins/device-controller/src/hwwidget.h +index d3f940a..c30979d 100644 +--- a/plugins/device-controller/src/hwwidget.h ++++ b/plugins/device-controller/src/hwwidget.h +@@ -72,6 +72,8 @@ public: + + QString getMonitorInterface(); + ++ QString getDiskName(); ++ + void actionExportSlot(); + + void spreadIn(); +@@ -112,6 +114,7 @@ public: + QString m_bluetoothAddress; // bluetooth的唯一标识 + bool m_isWireless = true; // 标识网卡类型 + QString m_monitorInterface; // 显示器接口 ++ QString m_diskName; // 显示器接口 + + private: + QList<QMetaObject::Connection> m_connections; diff -Nru kylin-os-manager-2.0.0/debian/patches/0127-Added-translation-using-Weblate-Arabic.patch kylin-os-manager-2.0.0/debian/patches/0127-Added-translation-using-Weblate-Arabic.patch --- kylin-os-manager-2.0.0/debian/patches/0127-Added-translation-using-Weblate-Arabic.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0127-Added-translation-using-Weblate-Arabic.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,73 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Mon, 17 Feb 2025 09:37:22 +0800 +Subject: Added translation using Weblate (Arabic) + +--- + .../kylin-os-manager-session-service_ar.ts | 58 ++++++++++++++++++++++ + 1 file changed, 58 insertions(+) + create mode 100644 daemons/sessionservice/translations/kylin-os-manager-session-service_ar.ts + +diff --git a/daemons/sessionservice/translations/kylin-os-manager-session-service_ar.ts b/daemons/sessionservice/translations/kylin-os-manager-session-service_ar.ts +new file mode 100644 +index 0000000..760b58d +--- /dev/null ++++ b/daemons/sessionservice/translations/kylin-os-manager-session-service_ar.ts +@@ -0,0 +1,58 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="ar"> ++<context> ++ <name>SessionClient</name> ++ <message> ++ <location filename="../sessionclient.cpp" line="68"/> ++ <location filename="../sessionclient.cpp" line="117"/> ++ <location filename="../sessionclient.cpp" line="156"/> ++ <location filename="../sessionclient.cpp" line="210"/> ++ <source>Kylin Os Manager</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="71"/> ++ <location filename="../sessionclient.cpp" line="120"/> ++ <location filename="../sessionclient.cpp" line="159"/> ++ <location filename="../sessionclient.cpp" line="213"/> ++ <source>Device Manager</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="72"/> ++ <source>The system detects that a new device has an installable driver. Do you want to install?</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="73"/> ++ <source>Close</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="73"/> ++ <source>Install</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="121"/> ++ <source>Start installing the corresponding driver</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="160"/> ++ <source>Driver Installed</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="162"/> ++ <source>Open Scanner</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="214"/> ++ <source>Driver install failed.</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0128-Translated-using-Weblate-Vietnamese.patch kylin-os-manager-2.0.0/debian/patches/0128-Translated-using-Weblate-Vietnamese.patch --- kylin-os-manager-2.0.0/debian/patches/0128-Translated-using-Weblate-Vietnamese.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0128-Translated-using-Weblate-Vietnamese.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,257 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Fri, 21 Feb 2025 02:44:46 +0000 +Subject: Translated using Weblate (Vietnamese) + +Currently translated at 100.0% (29 of 29 strings) + +Translation: openkylin-nile-new/kylin-os-manager-session-service +Translate-URL: http://weblate.openkylin.top/projects/openkylin-nile-new/kylin-os-manager-session-service/vi/ +--- + .../kylin-os-manager-session-service_ar.ts | 18 +-- + .../kylin-os-manager-session-service_vi.ts | 173 +++++++++++++++++++++ + 2 files changed, 182 insertions(+), 9 deletions(-) + create mode 100644 daemons/sessionservice/translations/kylin-os-manager-session-service_vi.ts + +diff --git a/daemons/sessionservice/translations/kylin-os-manager-session-service_ar.ts b/daemons/sessionservice/translations/kylin-os-manager-session-service_ar.ts +index 760b58d..b6e885e 100644 +--- a/daemons/sessionservice/translations/kylin-os-manager-session-service_ar.ts ++++ b/daemons/sessionservice/translations/kylin-os-manager-session-service_ar.ts +@@ -9,7 +9,7 @@ + <location filename="../sessionclient.cpp" line="156"/> + <location filename="../sessionclient.cpp" line="210"/> + <source>Kylin Os Manager</source> +- <translation type="unfinished"></translation> ++ <translation>مدير Kylin Os</translation> + </message> + <message> + <location filename="../sessionclient.cpp" line="71"/> +@@ -17,42 +17,42 @@ + <location filename="../sessionclient.cpp" line="159"/> + <location filename="../sessionclient.cpp" line="213"/> + <source>Device Manager</source> +- <translation type="unfinished"></translation> ++ <translation>إدارة الأجهزة</translation> + </message> + <message> + <location filename="../sessionclient.cpp" line="72"/> + <source>The system detects that a new device has an installable driver. Do you want to install?</source> +- <translation type="unfinished"></translation> ++ <translation>يكتشف النظام أن الجهاز الجديد يحتوي على برنامج تشغيل قابل للتثبيت. هل تريد التثبيت؟</translation> + </message> + <message> + <location filename="../sessionclient.cpp" line="73"/> + <source>Close</source> +- <translation type="unfinished"></translation> ++ <translation>غلق</translation> + </message> + <message> + <location filename="../sessionclient.cpp" line="73"/> + <source>Install</source> +- <translation type="unfinished"></translation> ++ <translation>أقام</translation> + </message> + <message> + <location filename="../sessionclient.cpp" line="121"/> + <source>Start installing the corresponding driver</source> +- <translation type="unfinished"></translation> ++ <translation>ابدأ في تثبيت برنامج التشغيل المقابل</translation> + </message> + <message> + <location filename="../sessionclient.cpp" line="160"/> + <source>Driver Installed</source> +- <translation type="unfinished"></translation> ++ <translation>برنامج التشغيل مثبت</translation> + </message> + <message> + <location filename="../sessionclient.cpp" line="162"/> + <source>Open Scanner</source> +- <translation type="unfinished"></translation> ++ <translation>افتح الماسح الضوئي</translation> + </message> + <message> + <location filename="../sessionclient.cpp" line="214"/> + <source>Driver install failed.</source> +- <translation type="unfinished"></translation> ++ <translation>فشل تثبيت برنامج التشغيل.</translation> + </message> + </context> + </TS> +diff --git a/daemons/sessionservice/translations/kylin-os-manager-session-service_vi.ts b/daemons/sessionservice/translations/kylin-os-manager-session-service_vi.ts +new file mode 100644 +index 0000000..7ab42f0 +--- /dev/null ++++ b/daemons/sessionservice/translations/kylin-os-manager-session-service_vi.ts +@@ -0,0 +1,173 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="vi"> ++<context> ++ <name>DiskMonitorExceptionPopup</name> ++ <message> ++ <location filename="../disk_monitor_exception_popup.cpp" line="25"/> ++ <source>Kylin Os Manager</source> ++ <translation>Quản lý Kylin Os</translation> ++ </message> ++ <message> ++ <location filename="../disk_monitor_exception_popup.cpp" line="54"/> ++ <source>Not prompted within 3 days</source> ++ <translation>Không được nhắc trong vòng 3 ngày</translation> ++ </message> ++ <message> ++ <location filename="../disk_monitor_exception_popup.cpp" line="66"/> ++ <source>Cache</source> ++ <translation>Cache</translation> ++ </message> ++ <message> ++ <location filename="../disk_monitor_exception_popup.cpp" line="73"/> ++ <source>Clean up immediately</source> ++ <translation>Dọn dẹp ngay lập tức</translation> ++ </message> ++</context> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../driverinstall/aptinstaller.cpp" line="68"/> ++ <source>Install timeout.</source> ++ <translation>Thời gian chờ cài đặt.</translation> ++ </message> ++</context> ++<context> ++ <name>ServiceSupportPopup</name> ++ <message> ++ <location filename="../service_support_popup.cpp" line="22"/> ++ <source>Kylin Os Manager</source> ++ <translation>Quản lý Kylin Os</translation> ++ </message> ++ <message> ++ <location filename="../service_support_popup.cpp" line="40"/> ++ <source>Detected system abnormality, please contact the technical service immediately or call 400!</source> ++ <translation>Phát hiện hệ thống bất thường, vui lòng liên hệ ngay với bộ phận kỹ thuật hoặc gọi 400!</translation> ++ </message> ++ <message> ++ <location filename="../service_support_popup.cpp" line="57"/> ++ <source>Or contact us</source> ++ <translation>Hoặc liên hệ với chúng tôi</translation> ++ </message> ++ <message> ++ <location filename="../service_support_popup.cpp" line="61"/> ++ <source>Telephone</source> ++ <translation>Điện thoại</translation> ++ </message> ++ <message> ++ <location filename="../service_support_popup.cpp" line="67"/> ++ <source>Mail</source> ++ <translation>Bưu điện</translation> ++ </message> ++ <message> ++ <location filename="../service_support_popup.cpp" line="89"/> ++ <source>For common questions, please refer to</source> ++ <translation>Đối với các câu hỏi thường gặp, vui lòng tham khảo</translation> ++ </message> ++ <message> ++ <location filename="../service_support_popup.cpp" line="92"/> ++ <source>KylinOs offical website</source> ++ <translation>Trang web chính thức của KylinOs</translation> ++ </message> ++ <message> ++ <location filename="../service_support_popup.cpp" line="133"/> ++ <source>Cancel</source> ++ <translation>Hủy</translation> ++ </message> ++ <message> ++ <location filename="../service_support_popup.cpp" line="140"/> ++ <source>Clean</source> ++ <translation>Sạch</translation> ++ </message> ++</context> ++<context> ++ <name>SessionClient</name> ++ <message> ++ <location filename="../sessionclient.cpp" line="118"/> ++ <location filename="../sessionclient.cpp" line="167"/> ++ <location filename="../sessionclient.cpp" line="213"/> ++ <location filename="../sessionclient.cpp" line="267"/> ++ <location filename="../sessionclient.cpp" line="345"/> ++ <location filename="../sessionclient.cpp" line="348"/> ++ <location filename="../sessionclient.cpp" line="444"/> ++ <location filename="../sessionclient.cpp" line="447"/> ++ <source>Kylin Os Manager</source> ++ <translation>Quản lý Kylin Os</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="121"/> ++ <location filename="../sessionclient.cpp" line="170"/> ++ <location filename="../sessionclient.cpp" line="216"/> ++ <location filename="../sessionclient.cpp" line="270"/> ++ <source>Device Manager</source> ++ <translation>Trình quản lý thiết bị</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="122"/> ++ <source>The system detects that a new device has an installable driver. Do you want to install?</source> ++ <translation>Hệ thống phát hiện ra rằng một thiết bị mới có trình điều khiển có thể cài đặt được. Bạn có muốn cài đặt?</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="123"/> ++ <source>Close</source> ++ <translation>Đóng</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="123"/> ++ <source>Install</source> ++ <translation>Cài đặt</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="171"/> ++ <source>Start installing the corresponding driver</source> ++ <translation>Bắt đầu cài đặt trình điều khiển tương ứng</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="217"/> ++ <source>Driver Installed</source> ++ <translation>Trình điều khiển đã cài đặt</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="219"/> ++ <source>Open Scanner</source> ++ <translation>Mở máy quét</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="271"/> ++ <source>Driver install failed.</source> ++ <translation>Cài đặt trình điều khiển không thành công.</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="349"/> ++ <source>Abnormal writing of terminal log, please contact the administrator</source> ++ <translation>Ghi nhật ký thiết bị đầu cuối bất thường, vui lòng liên hệ với quản trị viên</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="352"/> ++ <location filename="../sessionclient.cpp" line="451"/> ++ <source>Cancel</source> ++ <translation>Hủy</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="354"/> ++ <location filename="../sessionclient.cpp" line="453"/> ++ <source>One click cleaning</source> ++ <translation>Làm sạch bằng một cú nhấp chuột</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="386"/> ++ <source>There is an abnormal writing of logs in the system. Please go to Kylin Os Manager for cleaning!</source> ++ <translation>Có một ghi nhật ký bất thường trong hệ thống. Vui lòng đến Kylin Os Manager để dọn dẹp!</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="485"/> ++ <source>The System disk space is tight, please go to Kylin Os Manager for cleaning!</source> ++ <translation>Dung lượng đĩa hệ thống chật hẹp, vui lòng truy cập Kylin Os Manager để dọn dẹp!</translation> ++ </message> ++ <message> ++ <location filename="../sessionclient.cpp" line="448"/> ++ <source>The avaliable disk space is less than 20%, please clean it up in a timely manner</source> ++ <translation>Dung lượng đĩa khả dụng nhỏ hơn 20%, vui lòng dọn dẹp kịp thời</translation> ++ </message> ++</context> ++</TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0129-Translated-using-Weblate-Vietnamese.patch kylin-os-manager-2.0.0/debian/patches/0129-Translated-using-Weblate-Vietnamese.patch --- kylin-os-manager-2.0.0/debian/patches/0129-Translated-using-Weblate-Vietnamese.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0129-Translated-using-Weblate-Vietnamese.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,65 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Fri, 21 Feb 2025 02:58:27 +0000 +Subject: Translated using Weblate (Vietnamese) + +Currently translated at 100.0% (3 of 3 strings) + +Translation: openkylin-nile-new/kylin-os-manager +Translate-URL: http://weblate.openkylin.top/projects/openkylin-nile-new/kylin-os-manager/vi/ +--- + src/application/translations/kylin-os-manager_ar.ts | 6 +++--- + src/application/translations/kylin-os-manager_vi.ts | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/application/translations/kylin-os-manager_ar.ts b/src/application/translations/kylin-os-manager_ar.ts +index 42bf7a1..996d99a 100644 +--- a/src/application/translations/kylin-os-manager_ar.ts ++++ b/src/application/translations/kylin-os-manager_ar.ts +@@ -8,17 +8,17 @@ + <location filename="../mainwindow.cpp" line="97"/> + <location filename="../main.cpp" line="169"/> + <source>kylin-os-manager</source> +- <translation type="unfinished"></translation> ++ <translation>كيلين أو مدير</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="224"/> + <source>kylin os manager</source> +- <translation type="unfinished"></translation> ++ <translation>مدير نظام التشغيل Kylin</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="225"/> + <source>version: %1</source> +- <translation type="unfinished"></translation> ++ <translation>الإصدار: ٪1</translation> + </message> + </context> + </TS> +diff --git a/src/application/translations/kylin-os-manager_vi.ts b/src/application/translations/kylin-os-manager_vi.ts +index 28e2e5a..eabde05 100644 +--- a/src/application/translations/kylin-os-manager_vi.ts ++++ b/src/application/translations/kylin-os-manager_vi.ts +@@ -6,19 +6,19 @@ + <message> + <location filename="../main.cpp" line="311"/> + <source>kylin-os-manager</source> +- <translation type="unfinished"></translation> ++ <translation>kylin-os-quản lý</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="218"/> + <location filename="../mainwindow.cpp" line="219"/> + <location filename="../mainwindow.cpp" line="399"/> + <source>Kylin Os Manager</source> +- <translation type="unfinished"></translation> ++ <translation>Quản lý Kylin Os</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="400"/> + <source>version: %1</source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản: %1</translation> + </message> + </context> + </TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0130-Translated-using-Weblate-Vietnamese.patch kylin-os-manager-2.0.0/debian/patches/0130-Translated-using-Weblate-Vietnamese.patch --- kylin-os-manager-2.0.0/debian/patches/0130-Translated-using-Weblate-Vietnamese.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0130-Translated-using-Weblate-Vietnamese.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,2962 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Fri, 21 Feb 2025 03:16:24 +0000 +Subject: Translated using Weblate (Vietnamese) + +Currently translated at 100.0% (210 of 210 strings) + +Translation: openkylin-nile-new/kylin-os-manager-device-controller +Translate-URL: http://weblate.openkylin.top/projects/openkylin-nile-new/kylin-os-manager-device-controller/vi/ +--- + .../kylin-os-manager-device-controller_ar.ts | 416 ++++++++++---------- + .../kylin-os-manager-device-controller_vi.ts | 420 ++++++++++----------- + 2 files changed, 418 insertions(+), 418 deletions(-) + +diff --git a/plugins/device-controller/translations/kylin-os-manager-device-controller_ar.ts b/plugins/device-controller/translations/kylin-os-manager-device-controller_ar.ts +index 3eb0f92..1c0ebe3 100644 +--- a/plugins/device-controller/translations/kylin-os-manager-device-controller_ar.ts ++++ b/plugins/device-controller/translations/kylin-os-manager-device-controller_ar.ts +@@ -6,7 +6,7 @@ + <message> + <location filename="../src/basiccontentwidget.cpp" line="21"/> + <source>Export To Clipboard</source> +- <translation type="unfinished"></translation> ++ <translation>تصدير إلى الحافظة</translation> + </message> + </context> + <context> +@@ -14,77 +14,77 @@ + <message> + <location filename="../src/include/customtreewidget.cpp" line="16"/> + <source>CPU</source> +- <translation type="unfinished"></translation> ++ <translation>وحده المعالجه المركزيه</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="16"/> + <source>Memory</source> +- <translation type="unfinished"></translation> ++ <translation>ذاكرة</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="16"/> + <source>Graphic Card</source> +- <translation type="unfinished"></translation> ++ <translation>بطاقة الرسومات</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="16"/> + <source>Mother Board</source> +- <translation type="unfinished"></translation> ++ <translation>اللوحة الأم</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="16"/> + <source>Network Card</source> +- <translation type="unfinished"></translation> ++ <translation>بطاقة الشبكة</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="16"/> + <source>Disk</source> +- <translation type="unfinished"></translation> ++ <translation>قرص</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>Monitor</source> +- <translation type="unfinished"></translation> ++ <translation>مراقب</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>Sound Card</source> +- <translation type="unfinished"></translation> ++ <translation>بطاقة الصوت</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>Keyboard</source> +- <translation type="unfinished"></translation> ++ <translation>لوحة مفاتيح</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>Mouse</source> +- <translation type="unfinished"></translation> ++ <translation>فأر</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>Bluetooth</source> +- <translation type="unfinished"></translation> ++ <translation>بلوتوث</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>CD</source> +- <translation type="unfinished"></translation> ++ <translation>قرص مدمج</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>Battery</source> +- <translation type="unfinished"></translation> ++ <translation>بطارية</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="18"/> + <source>Fan</source> +- <translation type="unfinished"></translation> ++ <translation>مروحة</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="18"/> + <source>Camera</source> +- <translation type="unfinished"></translation> ++ <translation>كاميرا</translation> + </message> + </context> + <context> +@@ -92,110 +92,110 @@ + <message> + <location filename="../src/deviceitem.cpp" line="53"/> + <source>Scanner</source> +- <translation type="unfinished"></translation> ++ <translation>ماسح ضوئي</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="57"/> + <source>GraphicCard</source> +- <translation type="unfinished"></translation> ++ <translation>بطاقة الجرافيك</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="61"/> + <source>SoundCard</source> +- <translation type="unfinished"></translation> ++ <translation>بطاقة الصوت</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="65"/> + <source>NetworkCard</source> +- <translation type="unfinished"></translation> ++ <translation>بطاقة الشبكة</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="69"/> + <source>Bluetooth</source> +- <translation type="unfinished"></translation> ++ <translation>بلوتوث</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="73"/> + <source>Printer</source> +- <translation type="unfinished"></translation> ++ <translation>طابعة</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="77"/> + <source>Input Device</source> +- <translation type="unfinished"></translation> ++ <translation>جهاز الإدخال</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="81"/> + <source>Video Device</source> +- <translation type="unfinished"></translation> ++ <translation>جهاز الفيديو</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="85"/> + <source>Other Device</source> +- <translation type="unfinished"></translation> ++ <translation>جهاز آخر</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="115"/> + <location filename="../src/deviceitem.cpp" line="141"/> + <location filename="../src/deviceitem.cpp" line="146"/> + <source>Version:</source> +- <translation type="unfinished"></translation> ++ <translation>الإصدار:</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="150"/> + <location filename="../src/deviceitem.cpp" line="179"/> + <source>Uninstall</source> +- <translation type="unfinished"></translation> ++ <translation>إلغاء التثبيت</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="156"/> + <location filename="../src/deviceitem.cpp" line="371"/> + <source>Installed</source> +- <translation type="unfinished"></translation> ++ <translation>تثبيت</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="162"/> + <source>No available drivers were detected</source> +- <translation type="unfinished"></translation> ++ <translation>لم يتم الكشف عن برامج تشغيل متاحة</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="163"/> + <source>Feedback</source> +- <translation type="unfinished"></translation> ++ <translation>ردود الفعل</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="172"/> + <source>Install</source> +- <translation type="unfinished"></translation> ++ <translation>أقام</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="177"/> + <source>Update</source> +- <translation type="unfinished"></translation> ++ <translation>تحديث</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="317"/> + <location filename="../src/deviceitem.cpp" line="338"/> + <source>Uninstalling drivers. Please wait for the uninstallation to complete before clicking again.</source> +- <translation type="unfinished"></translation> ++ <translation>إلغاء تثبيت برامج التشغيل. يرجى الانتظار حتى يكتمل إلغاء التثبيت قبل النقر مرة أخرى.</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="318"/> + <location filename="../src/deviceitem.cpp" line="339"/> + <source>Uninstall Failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل إلغاء التثبيت</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="321"/> + <location filename="../src/deviceitem.cpp" line="342"/> + <source>Installing drivers. Please wait for the installation to complete before clicking again.</source> +- <translation type="unfinished"></translation> ++ <translation>تثبيت برامج التشغيل. يرجى الانتظار حتى يكتمل التثبيت قبل النقر مرة أخرى.</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="322"/> + <location filename="../src/deviceitem.cpp" line="343"/> + <source>Install Failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل التثبيت</translation> + </message> + </context> + <context> +@@ -203,12 +203,12 @@ + <message> + <location filename="../src/drivergetfailwidget.cpp" line="29"/> + <source>Failed to obtain driver information, please try again later.</source> +- <translation type="unfinished"></translation> ++ <translation>فشل الحصول على معلومات السائق، يرجى المحاولة مرة أخرى لاحقا.</translation> + </message> + <message> + <location filename="../src/drivergetfailwidget.cpp" line="32"/> + <source>Retry</source> +- <translation type="unfinished"></translation> ++ <translation>اعاده المحاوله</translation> + </message> + </context> + <context> +@@ -217,7 +217,7 @@ + <location filename="../src/driverinstallwidget.cpp" line="53"/> + <location filename="../src/driverinstallwidget.cpp" line="223"/> + <source>Installable Drivers</source> +- <translation type="unfinished"></translation> ++ <translation>برامج تشغيل قابلة للتثبيت</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="53"/> +@@ -228,7 +228,7 @@ + <location filename="../src/driverinstallwidget.cpp" line="229"/> + <location filename="../src/driverinstallwidget.cpp" line="233"/> + <source>)</source> +- <translation type="unfinished"></translation> ++ <translation>)</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="53"/> +@@ -239,69 +239,69 @@ + <location filename="../src/driverinstallwidget.cpp" line="229"/> + <location filename="../src/driverinstallwidget.cpp" line="233"/> + <source>(</source> +- <translation type="unfinished"></translation> ++ <translation>(</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="55"/> + <source>One-click installation</source> +- <translation type="unfinished"></translation> ++ <translation>التثبيت بنقرة واحدة</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="57"/> + <location filename="../src/driverinstallwidget.cpp" line="226"/> + <source>Upgradable Drivers</source> +- <translation type="unfinished"></translation> ++ <translation>برامج تشغيل قابلة للترقية</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="59"/> + <source>One-click upgrade</source> +- <translation type="unfinished"></translation> ++ <translation>الترقية بنقرة واحدة</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="61"/> + <location filename="../src/driverinstallwidget.cpp" line="229"/> + <source>Installed Drivers</source> +- <translation type="unfinished"></translation> ++ <translation>برامج التشغيل المثبتة</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="233"/> + <source>Unrecognized Device</source> +- <translation type="unfinished"></translation> ++ <translation>جهاز غير معروف</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="1200"/> + <location filename="../src/driverinstallwidget.cpp" line="1248"/> + <source>Uninstalling drivers. Please wait for the uninstallation to complete before clicking again.</source> +- <translation type="unfinished"></translation> ++ <translation>إلغاء تثبيت برامج التشغيل. يرجى الانتظار حتى يكتمل إلغاء التثبيت قبل النقر مرة أخرى.</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="1202"/> + <location filename="../src/driverinstallwidget.cpp" line="1250"/> + <source>Uninstall Failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل إلغاء التثبيت</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="1205"/> + <location filename="../src/driverinstallwidget.cpp" line="1253"/> + <source>Installing drivers. Please wait for the installation to complete before clicking again.</source> +- <translation type="unfinished"></translation> ++ <translation>تثبيت برامج التشغيل. يرجى الانتظار حتى يكتمل التثبيت قبل النقر مرة أخرى.</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="1065"/> + <location filename="../src/driverinstallwidget.cpp" line="1206"/> + <location filename="../src/driverinstallwidget.cpp" line="1254"/> + <source>Install Failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل التثبيت</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="1069"/> + <source>Update</source> +- <translation type="unfinished"></translation> ++ <translation>تحديث</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="1076"/> + <source>Install</source> +- <translation type="unfinished"></translation> ++ <translation>أقام</translation> + </message> + </context> + <context> +@@ -309,71 +309,71 @@ + <message> + <location filename="../src/hardwareinfowidget.cpp" line="113"/> + <source>Computer Basic Information</source> +- <translation type="unfinished"></translation> ++ <translation>معلومات أساسية عن الكمبيوتر</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="117"/> + <location filename="../src/hardwareinfowidget.cpp" line="417"/> + <source>Host Name</source> +- <translation type="unfinished"></translation> ++ <translation>اسم المضيف</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="121"/> + <location filename="../src/hardwareinfowidget.cpp" line="418"/> + <source>Operation System Version</source> +- <translation type="unfinished"></translation> ++ <translation>إصدار نظام التشغيل</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="125"/> + <location filename="../src/hardwareinfowidget.cpp" line="419"/> + <source>Kernel Version</source> +- <translation type="unfinished"></translation> ++ <translation>إصدار Kernel</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="129"/> + <location filename="../src/hardwareinfowidget.cpp" line="420"/> + <source>Kernel Architecture</source> +- <translation type="unfinished"></translation> ++ <translation>بنية النواة</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="133"/> + <location filename="../src/hardwareinfowidget.cpp" line="421"/> + <source>System Bits</source> +- <translation type="unfinished"></translation> ++ <translation>بت النظام</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="137"/> + <location filename="../src/hardwareinfowidget.cpp" line="422"/> + <source>Manufacturer</source> +- <translation type="unfinished"></translation> ++ <translation>الشركه المصنعه</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="141"/> + <source>Version</source> +- <translation type="unfinished"></translation> ++ <translation>الإصدار</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="145"/> + <location filename="../src/hardwareinfowidget.cpp" line="423"/> + <source>Model</source> +- <translation type="unfinished"></translation> ++ <translation>نموذج</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="149"/> + <location filename="../src/hardwareinfowidget.cpp" line="424"/> + <source>Serial</source> +- <translation type="unfinished"></translation> ++ <translation>المسلسل</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="334"/> + <source>Hardware Display</source> +- <translation type="unfinished"></translation> ++ <translation>عرض الأجهزة</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="608"/> + <location filename="../src/hardwareinfowidget.cpp" line="989"/> + <source>BlueTooth Device</source> +- <translation type="unfinished"></translation> ++ <translation>جهاز بلوتوث</translation> + </message> + </context> + <context> +@@ -381,12 +381,12 @@ + <message> + <location filename="../src/hardwareinfogetfailwidget.cpp" line="30"/> + <source>Failed to obtain driver information, please try again later.</source> +- <translation type="unfinished"></translation> ++ <translation>فشل الحصول على معلومات السائق، يرجى المحاولة مرة أخرى لاحقا.</translation> + </message> + <message> + <location filename="../src/hardwareinfogetfailwidget.cpp" line="33"/> + <source>Retry</source> +- <translation type="unfinished"></translation> ++ <translation>اعاده المحاوله</translation> + </message> + </context> + <context> +@@ -394,7 +394,7 @@ + <message> + <location filename="../src/hardwareinfogetter.cpp" line="841"/> + <source> inch</source> +- <translation type="unfinished"></translation> ++ <translation> انش</translation> + </message> + </context> + <context> +@@ -402,112 +402,112 @@ + <message> + <location filename="../src/hwwidget.cpp" line="55"/> + <source>Disable</source> +- <translation type="unfinished"></translation> ++ <translation>تعطيل</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="74"/> + <source>Export To Clipboard</source> +- <translation type="unfinished"></translation> ++ <translation>تصدير إلى الحافظة</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="75"/> + <source>Activate</source> +- <translation type="unfinished"></translation> ++ <translation>تنشيط</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="76"/> + <source>Deactive</source> +- <translation type="unfinished"></translation> ++ <translation>غير نشط</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="86"/> + <location filename="../src/hwwidget.cpp" line="89"/> + <source>CPU</source> +- <translation type="unfinished"></translation> ++ <translation>وحده المعالجه المركزيه</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="118"/> + <location filename="../src/hwwidget.cpp" line="122"/> + <source>Memory</source> +- <translation type="unfinished"></translation> ++ <translation>ذاكرة</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="150"/> + <location filename="../src/hwwidget.cpp" line="154"/> + <source>Graphic Card</source> +- <translation type="unfinished"></translation> ++ <translation>بطاقة الرسومات</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="183"/> + <location filename="../src/hwwidget.cpp" line="186"/> + <source>Mother Board</source> +- <translation type="unfinished"></translation> ++ <translation>اللوحة الأم</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="208"/> + <location filename="../src/hwwidget.cpp" line="214"/> + <source>Network Card</source> +- <translation type="unfinished"></translation> ++ <translation>بطاقة الشبكة</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="248"/> + <location filename="../src/hwwidget.cpp" line="252"/> + <source>Disk</source> +- <translation type="unfinished"></translation> ++ <translation>قرص</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="274"/> + <location filename="../src/hwwidget.cpp" line="278"/> + <source>Monitor</source> +- <translation type="unfinished"></translation> ++ <translation>مراقب</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="332"/> + <location filename="../src/hwwidget.cpp" line="335"/> + <source>Sound Card</source> +- <translation type="unfinished"></translation> ++ <translation>بطاقة الصوت</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="362"/> + <location filename="../src/hwwidget.cpp" line="366"/> + <source>Keyboard</source> +- <translation type="unfinished"></translation> ++ <translation>لوحة مفاتيح</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="387"/> + <location filename="../src/hwwidget.cpp" line="391"/> + <source>Mouse</source> +- <translation type="unfinished"></translation> ++ <translation>فأر</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="413"/> + <location filename="../src/hwwidget.cpp" line="418"/> + <source>Bluetooth</source> +- <translation type="unfinished"></translation> ++ <translation>بلوتوث</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="458"/> + <location filename="../src/hwwidget.cpp" line="462"/> + <source>CD</source> +- <translation type="unfinished"></translation> ++ <translation>قرص مدمج</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="483"/> + <location filename="../src/hwwidget.cpp" line="486"/> + <source>Battery</source> +- <translation type="unfinished"></translation> ++ <translation>بطارية</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="517"/> + <location filename="../src/hwwidget.cpp" line="521"/> + <source>Fan</source> +- <translation type="unfinished"></translation> ++ <translation>مروحة</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="542"/> + <location filename="../src/hwwidget.cpp" line="545"/> + <source>Camera</source> +- <translation type="unfinished"></translation> ++ <translation>كاميرا</translation> + </message> + </context> + <context> +@@ -515,7 +515,7 @@ + <message> + <location filename="../src/loadingwidget.cpp" line="27"/> + <source>The driver information is being detected, please wait a moment.</source> +- <translation type="unfinished"></translation> ++ <translation>يتم اكتشاف معلومات السائق ، يرجى الانتظار لحظة.</translation> + </message> + </context> + <context> +@@ -523,96 +523,96 @@ + <message> + <location filename="../plugin.cpp" line="18"/> + <source>DeviceManager</source> +- <translation type="unfinished"></translation> ++ <translation>مدير الجهاز</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="317"/> + <location filename="../src/hardwareinfo/diskinfo.cpp" line="37"/> + <location filename="../src/hardwareinfo/monitorinfo.cpp" line="33"/> + <source>Yes</source> +- <translation type="unfinished"></translation> ++ <translation>نعم</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="319"/> + <location filename="../src/hardwareinfo/diskinfo.cpp" line="35"/> + <location filename="../src/hardwareinfo/monitorinfo.cpp" line="35"/> + <source>No</source> +- <translation type="unfinished"></translation> ++ <translation>لا</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="105"/> + <source>CPU Current Frequency</source> +- <translation type="unfinished"></translation> ++ <translation>تردد وحدة المعالجة المركزية الحالي</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="105"/> + <source>CPU Usage Rate</source> +- <translation type="unfinished"></translation> ++ <translation>معدل استخدام وحدة المعالجة المركزية</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="106"/> + <source>CPU Temperature</source> +- <translation type="unfinished"></translation> ++ <translation>درجة حرارة وحدة المعالجة المركزية</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="138"/> + <source>Memory Usage</source> +- <translation type="unfinished"></translation> ++ <translation>استخدام الذاكرة</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="171"/> + <source>GDDR Size</source> +- <translation type="unfinished"></translation> ++ <translation>حجم GDDR</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="231"/> + <source>Send Bytes</source> +- <translation type="unfinished"></translation> ++ <translation>إرسال وحدات بايت</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="231"/> + <source>Recved Bytes</source> +- <translation type="unfinished"></translation> ++ <translation>بايت معاد تسجيله</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="303"/> + <source>Resolution</source> +- <translation type="unfinished"></translation> ++ <translation>دقة</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="313"/> + <source>Main Monitor</source> +- <translation type="unfinished"></translation> ++ <translation>الشاشة الرئيسية</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="503"/> + <source>Energy</source> +- <translation type="unfinished"></translation> ++ <translation>طاقة</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="503"/> + <source>Time To Empty</source> +- <translation type="unfinished"></translation> ++ <translation>حان وقت التفريغ</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="504"/> + <source>Percentage</source> +- <translation type="unfinished"></translation> ++ <translation>النسبه المئويه</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="504"/> + <source>State</source> +- <translation type="unfinished"></translation> ++ <translation>حالة</translation> + </message> + <message> + <location filename="../src/hardwareinfo/cpuinfo.cpp" line="194"/> + <source>This CPU model does not support temperature display function</source> +- <translation type="unfinished"></translation> ++ <translation>لا يدعم نموذج وحدة المعالجة المركزية هذا وظيفة عرض درجة الحرارة</translation> + </message> + <message> + <location filename="../src/hardwareinfo/diskinfo.cpp" line="29"/> + <source>Removable storage devices</source> +- <translation type="unfinished"></translation> ++ <translation>أجهزة التخزين القابلة للإزالة</translation> + </message> + </context> + <context> +@@ -624,7 +624,7 @@ + <location filename="../src/database/drivermanagerdatabase.cpp" line="131"/> + <location filename="../src/database/drivermanagerdatabase.cpp" line="151"/> + <source>Database Error</source> +- <translation type="unfinished"></translation> ++ <translation>خطأ في قاعدة البيانات</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="144"/> +@@ -654,91 +654,91 @@ + <location filename="../src/hwwidget.h" line="454"/> + <location filename="../src/hwwidget.h" line="464"/> + <source>Manufacturer</source> +- <translation type="unfinished"></translation> ++ <translation>الشركه المصنعه</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="145"/> + <location filename="../src/hwwidget.h" line="160"/> + <source>Cores</source> +- <translation type="unfinished"></translation> ++ <translation>النوي</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="146"/> + <location filename="../src/hwwidget.h" line="161"/> + <source>Online Cores</source> +- <translation type="unfinished"></translation> ++ <translation>النوى عبر الإنترنت</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="147"/> + <location filename="../src/hwwidget.h" line="162"/> + <source>Thread Per Cores</source> +- <translation type="unfinished"></translation> ++ <translation>الخيط لكل النوى</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="148"/> + <location filename="../src/hwwidget.h" line="163"/> + <source>MAX MHz</source> +- <translation type="unfinished"></translation> ++ <translation>ماكس ميغاهيرتز</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="149"/> + <location filename="../src/hwwidget.h" line="164"/> + <source>L1d Cache</source> +- <translation type="unfinished"></translation> ++ <translation>ذاكرة التخزين المؤقت L1d</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="150"/> + <location filename="../src/hwwidget.h" line="165"/> + <source>L1i Cache</source> +- <translation type="unfinished"></translation> ++ <translation>ذاكرة التخزين المؤقت L1i</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="151"/> + <location filename="../src/hwwidget.h" line="166"/> + <source>L2 Cache</source> +- <translation type="unfinished"></translation> ++ <translation>ذاكرة التخزين المؤقت L2</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="152"/> + <location filename="../src/hwwidget.h" line="167"/> + <source>L3 Cache</source> +- <translation type="unfinished"></translation> ++ <translation>ذاكرة التخزين المؤقت L3</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="153"/> + <location filename="../src/hwwidget.h" line="168"/> + <source>L4 Cache</source> +- <translation type="unfinished"></translation> ++ <translation>ذاكرة التخزين المؤقت L4</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="154"/> + <location filename="../src/hwwidget.h" line="169"/> + <source>CPU Current Frequency</source> +- <translation type="unfinished"></translation> ++ <translation>تردد وحدة المعالجة المركزية الحالي</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="155"/> + <location filename="../src/hwwidget.h" line="170"/> + <source>CPU Usage Rate</source> +- <translation type="unfinished"></translation> ++ <translation>معدل استخدام وحدة المعالجة المركزية</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="156"/> + <location filename="../src/hwwidget.h" line="171"/> + <source>CPU Temperature</source> +- <translation type="unfinished"></translation> ++ <translation>درجة حرارة وحدة المعالجة المركزية</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="175"/> + <location filename="../src/hwwidget.h" line="188"/> + <source>Bank Locator</source> +- <translation type="unfinished"></translation> ++ <translation>محدد موقع البنك</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="176"/> + <location filename="../src/hwwidget.h" line="189"/> + <source>Total Width</source> +- <translation type="unfinished"></translation> ++ <translation>العرض الكلي</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="177"/> +@@ -746,7 +746,7 @@ + <location filename="../src/hwwidget.h" line="290"/> + <location filename="../src/hwwidget.h" line="302"/> + <source>Size</source> +- <translation type="unfinished"></translation> ++ <translation>حجم</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="178"/> +@@ -760,13 +760,13 @@ + <location filename="../src/hwwidget.h" line="455"/> + <location filename="../src/hwwidget.h" line="465"/> + <source>Serial Number</source> +- <translation type="unfinished"></translation> ++ <translation>الرقم التسلسلي</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="180"/> + <location filename="../src/hwwidget.h" line="193"/> + <source>Data Width</source> +- <translation type="unfinished"></translation> ++ <translation>عرض البيانات</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="181"/> +@@ -774,7 +774,7 @@ + <location filename="../src/hwwidget.h" line="265"/> + <location filename="../src/hwwidget.h" line="278"/> + <source>Type</source> +- <translation type="unfinished"></translation> ++ <translation>نوع</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="182"/> +@@ -788,31 +788,31 @@ + <location filename="../src/hwwidget.h" line="447"/> + <location filename="../src/hwwidget.h" line="450"/> + <source>Speed</source> +- <translation type="unfinished"></translation> ++ <translation>سرعة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="183"/> + <location filename="../src/hwwidget.h" line="196"/> + <source>Configured Speed</source> +- <translation type="unfinished"></translation> ++ <translation>السرعة المكونة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="184"/> + <location filename="../src/hwwidget.h" line="197"/> + <source>Part Number</source> +- <translation type="unfinished"></translation> ++ <translation>رقم الجزء</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="185"/> + <location filename="../src/hwwidget.h" line="198"/> + <source>Memory Usage</source> +- <translation type="unfinished"></translation> ++ <translation>استخدام الذاكرة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="203"/> + <location filename="../src/hwwidget.h" line="221"/> + <source>Sub System Device ID</source> +- <translation type="unfinished"></translation> ++ <translation>معرف جهاز النظام الفرعي</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="204"/> +@@ -830,19 +830,19 @@ + <location filename="../src/hwwidget.h" line="429"/> + <location filename="../src/hwwidget.h" line="438"/> + <source>Model</source> +- <translation type="unfinished"></translation> ++ <translation>نموذج</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="205"/> + <location filename="../src/hwwidget.h" line="223"/> + <source>Memory</source> +- <translation type="unfinished"></translation> ++ <translation>ذاكرة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="206"/> + <location filename="../src/hwwidget.h" line="224"/> + <source>GPU Type</source> +- <translation type="unfinished"></translation> ++ <translation>نوع وحدة معالجة الرسومات</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="207"/> +@@ -852,7 +852,7 @@ + <location filename="../src/hwwidget.h" line="433"/> + <location filename="../src/hwwidget.h" line="442"/> + <source>Bus Info</source> +- <translation type="unfinished"></translation> ++ <translation>معلومات الحافلة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="208"/> +@@ -860,13 +860,13 @@ + <location filename="../src/hwwidget.h" line="342"/> + <location filename="../src/hwwidget.h" line="349"/> + <source>Clock</source> +- <translation type="unfinished"></translation> ++ <translation>ساعة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="209"/> + <location filename="../src/hwwidget.h" line="227"/> + <source>Physics ID</source> +- <translation type="unfinished"></translation> ++ <translation>معرف الفيزياء</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="210"/> +@@ -878,7 +878,7 @@ + <location filename="../src/hwwidget.h" line="432"/> + <location filename="../src/hwwidget.h" line="441"/> + <source>Version</source> +- <translation type="unfinished"></translation> ++ <translation>الإصدار</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="211"/> +@@ -898,7 +898,7 @@ + <location filename="../src/hwwidget.h" line="431"/> + <location filename="../src/hwwidget.h" line="440"/> + <source>Driver</source> +- <translation type="unfinished"></translation> ++ <translation>سائق</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="212"/> +@@ -906,180 +906,180 @@ + <location filename="../src/hwwidget.h" line="344"/> + <location filename="../src/hwwidget.h" line="351"/> + <source>Width</source> +- <translation type="unfinished"></translation> ++ <translation>عرض</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="213"/> + <location filename="../src/hwwidget.h" line="231"/> + <source>GDDR Size</source> +- <translation type="unfinished"></translation> ++ <translation>حجم GDDR</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="214"/> + <location filename="../src/hwwidget.h" line="232"/> + <source>EGL Version</source> +- <translation type="unfinished"></translation> ++ <translation>إصدار EGL</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="215"/> + <location filename="../src/hwwidget.h" line="233"/> + <source>EGL Api List</source> +- <translation type="unfinished"></translation> ++ <translation>قائمة واجهة برمجة تطبيقات EGL</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="216"/> + <location filename="../src/hwwidget.h" line="234"/> + <source>OpenGL Version</source> +- <translation type="unfinished"></translation> ++ <translation>إصدار OpenGL</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="217"/> + <location filename="../src/hwwidget.h" line="235"/> + <source>GLSL Version</source> +- <translation type="unfinished"></translation> ++ <translation>إصدار GLSL</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="241"/> + <location filename="../src/hwwidget.h" line="251"/> + <source>Chassis Handle</source> +- <translation type="unfinished"></translation> ++ <translation>مقبض الهيكل</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="242"/> + <location filename="../src/hwwidget.h" line="252"/> + <source>Bios Vendor</source> +- <translation type="unfinished"></translation> ++ <translation>بائع السير</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="243"/> + <location filename="../src/hwwidget.h" line="253"/> + <source>Bios Version</source> +- <translation type="unfinished"></translation> ++ <translation>إصدار السير</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="244"/> + <location filename="../src/hwwidget.h" line="254"/> + <source>Chipser</source> +- <translation type="unfinished"></translation> ++ <translation>شيبسر</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="246"/> + <location filename="../src/hwwidget.h" line="256"/> + <source>Publish Date</source> +- <translation type="unfinished"></translation> ++ <translation>تاريخ النشر</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="262"/> + <location filename="../src/hwwidget.h" line="275"/> + <source>Bus</source> +- <translation type="unfinished"></translation> ++ <translation>باص</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="264"/> + <location filename="../src/hwwidget.h" line="277"/> + <source>MAC Address</source> +- <translation type="unfinished"></translation> ++ <translation>عنوان MAC</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="266"/> + <location filename="../src/hwwidget.h" line="279"/> + <source>IP Address</source> +- <translation type="unfinished"></translation> ++ <translation>عنوان IP</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="267"/> + <location filename="../src/hwwidget.h" line="280"/> + <source>Net Musk</source> +- <translation type="unfinished"></translation> ++ <translation>صافي المسك</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="268"/> + <location filename="../src/hwwidget.h" line="281"/> + <source>Send Bytes</source> +- <translation type="unfinished"></translation> ++ <translation>إرسال وحدات بايت</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="269"/> + <location filename="../src/hwwidget.h" line="282"/> + <source>Recved Bytes</source> +- <translation type="unfinished"></translation> ++ <translation>بايت معاد تسجيله</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="270"/> + <location filename="../src/hwwidget.h" line="283"/> + <source>MTU</source> +- <translation type="unfinished"></translation> ++ <translation>MTU</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="288"/> + <location filename="../src/hwwidget.h" line="306"/> + <source>Vendor</source> +- <translation type="unfinished"></translation> ++ <translation>بائع</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="292"/> + <source>Disk Name</source> +- <translation type="unfinished"></translation> ++ <translation>اسم القرص</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="293"/> + <location filename="../src/hwwidget.h" line="304"/> + <source>Frimwarever Version</source> +- <translation type="unfinished"></translation> ++ <translation>نسخة فريموافيروس</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="294"/> + <location filename="../src/hwwidget.h" line="305"/> + <source>Disk Type</source> +- <translation type="unfinished"></translation> ++ <translation>نوع القرص</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="295"/> + <location filename="../src/hwwidget.h" line="307"/> + <source>Main Disk</source> +- <translation type="unfinished"></translation> ++ <translation>القرص الرئيسي</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="297"/> + <location filename="../src/hwwidget.h" line="309"/> + <source>UFS</source> +- <translation type="unfinished"></translation> ++ <translation>الاتحاد الدولي للخدمات المالية</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="298"/> + <location filename="../src/hwwidget.h" line="310"/> + <source>UFS Revision</source> +- <translation type="unfinished"></translation> ++ <translation>مراجعة UFS</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="317"/> + <location filename="../src/hwwidget.h" line="329"/> + <source>Monitor Size</source> +- <translation type="unfinished"></translation> ++ <translation>حجم الشاشة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="318"/> + <location filename="../src/hwwidget.h" line="330"/> + <source>Monitor Ratio</source> +- <translation type="unfinished"></translation> ++ <translation>نسبة الشاشة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="319"/> + <location filename="../src/hwwidget.h" line="331"/> + <source>Resolution</source> +- <translation type="unfinished"></translation> ++ <translation>دقة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="320"/> + <location filename="../src/hwwidget.h" line="332"/> + <source>Max Resolution</source> +- <translation type="unfinished"></translation> ++ <translation>الدقة القصوى</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="321"/> + <location filename="../src/hwwidget.h" line="333"/> + <source>Main Monitor</source> +- <translation type="unfinished"></translation> ++ <translation>الشاشة الرئيسية</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="294"/> +@@ -1094,153 +1094,153 @@ + <location filename="../src/hwwidget.h" line="430"/> + <location filename="../src/hwwidget.h" line="439"/> + <source>Interface</source> +- <translation type="unfinished"></translation> ++ <translation>واجهه</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="323"/> + <location filename="../src/hwwidget.h" line="335"/> + <source>Visible Area</source> +- <translation type="unfinished"></translation> ++ <translation>المنطقة المرئية</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="324"/> + <location filename="../src/hwwidget.h" line="336"/> + <source>Gamma</source> +- <translation type="unfinished"></translation> ++ <translation>غاما</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="341"/> + <location filename="../src/hwwidget.h" line="348"/> + <source>Bus Address</source> +- <translation type="unfinished"></translation> ++ <translation>عنوان الحافلة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="382"/> + <location filename="../src/hwwidget.h" line="395"/> + <source>Driver Version</source> +- <translation type="unfinished"></translation> ++ <translation>إصدار برنامج التشغيل</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="426"/> + <location filename="../src/hwwidget.h" line="383"/> + <location filename="../src/hwwidget.h" line="396"/> + <source>Address</source> +- <translation type="unfinished"></translation> ++ <translation>عنوان</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="384"/> + <location filename="../src/hwwidget.h" line="397"/> + <source>Link Mode</source> +- <translation type="unfinished"></translation> ++ <translation>وضع الارتباط</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="385"/> + <location filename="../src/hwwidget.h" line="398"/> + <source>Link Policy</source> +- <translation type="unfinished"></translation> ++ <translation>سياسة الارتباط</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="387"/> + <location filename="../src/hwwidget.h" line="401"/> + <source>ACL MTU</source> +- <translation type="unfinished"></translation> ++ <translation>وحدة التحكم في الوصول (ACL)</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="390"/> + <location filename="../src/hwwidget.h" line="399"/> + <source>Packe Type</source> +- <translation type="unfinished"></translation> ++ <translation>نوع العبوة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="386"/> + <location filename="../src/hwwidget.h" line="400"/> + <source>SCO MTU</source> +- <translation type="unfinished"></translation> ++ <translation>SCO MTU</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="389"/> + <location filename="../src/hwwidget.h" line="403"/> + <source>Features</source> +- <translation type="unfinished"></translation> ++ <translation>ملامح</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="408"/> + <location filename="../src/hwwidget.h" line="418"/> + <source>Name</source> +- <translation type="unfinished"></translation> ++ <translation>اسم</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="412"/> + <location filename="../src/hwwidget.h" line="422"/> + <source>Device Number</source> +- <translation type="unfinished"></translation> ++ <translation>رقم الجهاز</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="456"/> + <location filename="../src/hwwidget.h" line="466"/> + <source>State</source> +- <translation type="unfinished"></translation> ++ <translation>حالة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="457"/> + <location filename="../src/hwwidget.h" line="467"/> + <source>Energy</source> +- <translation type="unfinished"></translation> ++ <translation>طاقة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="458"/> + <location filename="../src/hwwidget.h" line="468"/> + <source>Used Times</source> +- <translation type="unfinished"></translation> ++ <translation>الأوقات المستخدمة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="459"/> + <location filename="../src/hwwidget.h" line="469"/> + <source>Energy Full</source> +- <translation type="unfinished"></translation> ++ <translation>طاقة ممتلئة</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="460"/> + <location filename="../src/hwwidget.h" line="470"/> + <source>Time To Empty</source> +- <translation type="unfinished"></translation> ++ <translation>حان وقت التفريغ</translation> + </message> + <message> + <location filename="../src/hwwidget.h" line="461"/> + <location filename="../src/hwwidget.h" line="471"/> + <source>Percentage</source> +- <translation type="unfinished"></translation> ++ <translation>النسبه المئويه</translation> + </message> + <message> + <location filename="../src/hardwareinfo/networkcardinfo.cpp" line="40"/> + <source>Wireless</source> +- <translation type="unfinished"></translation> ++ <translation>لاسلكي</translation> + </message> + <message> + <location filename="../src/hardwareinfo/networkcardinfo.cpp" line="42"/> + <source>Wired</source> +- <translation type="unfinished"></translation> ++ <translation>سلكي</translation> + </message> + <message> + <location filename="../src/hardwareinfo/cpuinfo.cpp" line="87"/> + <location filename="../src/hardwareinfo/cpuinfo.cpp" line="121"/> + <source>This CPU model does not support frequency display function</source> +- <translation type="unfinished"></translation> ++ <translation>لا يدعم نموذج وحدة المعالجة المركزية هذا وظيفة عرض التردد</translation> + </message> + <message> + <location filename="../src/hardwareinfo/graphiccardinfo.cpp" line="109"/> + <source>This graphics card does not support obtaining GPU bus bit width</source> +- <translation type="unfinished"></translation> ++ <translation>لا تدعم بطاقة الرسومات هذه الحصول على عرض بت ناقل GPU</translation> + </message> + <message> + <location filename="../src/driveroperation/uninstaller.cpp" line="51"/> + <source>Uninstall timeout.</source> +- <translation type="unfinished"></translation> ++ <translation>إلغاء انتهاء مهلة التثبيت.</translation> + </message> + <message> + <location filename="../src/driveroperation/aptinstaller.cpp" line="62"/> + <source>Install timeout.</source> +- <translation type="unfinished"></translation> ++ <translation>مهلة التثبيت.</translation> + </message> + </context> + <context> +@@ -1248,12 +1248,12 @@ + <message> + <location filename="../src/selectionwidget.cpp" line="24"/> + <source>Driver Manager</source> +- <translation type="unfinished"></translation> ++ <translation>مدير السائق</translation> + </message> + <message> + <location filename="../src/selectionwidget.cpp" line="23"/> + <source>Hardware Info</source> +- <translation type="unfinished"></translation> ++ <translation>معلومات الأجهزة</translation> + </message> + </context> + <context> +@@ -1262,7 +1262,7 @@ + <location filename="../src/treeitem.cpp" line="60"/> + <location filename="../src/treeitem.cpp" line="66"/> + <source>Export To Clipboard</source> +- <translation type="unfinished"></translation> ++ <translation>تصدير إلى الحافظة</translation> + </message> + </context> + <context> +@@ -1270,58 +1270,58 @@ + <message> + <location filename="../src/uninstallitem.cpp" line="40"/> + <source>Scanner</source> +- <translation type="unfinished"></translation> ++ <translation>ماسح ضوئي</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="44"/> + <source>GraphicCard</source> +- <translation type="unfinished"></translation> ++ <translation>بطاقة الجرافيك</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="48"/> + <source>SoundCard</source> +- <translation type="unfinished"></translation> ++ <translation>بطاقة الصوت</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="52"/> + <source>NetworkCard</source> +- <translation type="unfinished"></translation> ++ <translation>بطاقة الشبكة</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="56"/> + <source>Bluetooth</source> +- <translation type="unfinished"></translation> ++ <translation>بلوتوث</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="60"/> + <source>Printer</source> +- <translation type="unfinished"></translation> ++ <translation>طابعة</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="64"/> + <source>Input Device</source> +- <translation type="unfinished"></translation> ++ <translation>جهاز الإدخال</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="68"/> + <source>Video Device</source> +- <translation type="unfinished"></translation> ++ <translation>جهاز الفيديو</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="72"/> + <source>Other Device</source> +- <translation type="unfinished"></translation> ++ <translation>جهاز آخر</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="98"/> + <location filename="../src/uninstallitem.cpp" line="101"/> + <source>Version: </source> +- <translation type="unfinished"></translation> ++ <translation>الإصدار: </translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="106"/> + <source>Uninstall</source> +- <translation type="unfinished"></translation> ++ <translation>إلغاء التثبيت</translation> + </message> + </context> + </TS> +diff --git a/plugins/device-controller/translations/kylin-os-manager-device-controller_vi.ts b/plugins/device-controller/translations/kylin-os-manager-device-controller_vi.ts +index bc924ee..5529bf8 100644 +--- a/plugins/device-controller/translations/kylin-os-manager-device-controller_vi.ts ++++ b/plugins/device-controller/translations/kylin-os-manager-device-controller_vi.ts +@@ -6,7 +6,7 @@ + <message> + <location filename="../src/basiccontentwidget.cpp" line="21"/> + <source>Export To Clipboard</source> +- <translation type="unfinished"></translation> ++ <translation>Xuất sang khay nhớ tạm</translation> + </message> + </context> + <context> +@@ -14,77 +14,77 @@ + <message> + <location filename="../src/include/customtreewidget.cpp" line="16"/> + <source>CPU</source> +- <translation type="unfinished"></translation> ++ <translation>CPU</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="16"/> + <source>Memory</source> +- <translation type="unfinished"></translation> ++ <translation>Trí nhớ</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="16"/> + <source>Graphic Card</source> +- <translation type="unfinished"></translation> ++ <translation>Card đồ họa</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="16"/> + <source>Mother Board</source> +- <translation type="unfinished"></translation> ++ <translation>Bảng mẹ</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="16"/> + <source>Network Card</source> +- <translation type="unfinished"></translation> ++ <translation>Card mạng</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="16"/> + <source>Disk</source> +- <translation type="unfinished"></translation> ++ <translation>Đĩa</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>Monitor</source> +- <translation type="unfinished"></translation> ++ <translation>Màn hình</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>Sound Card</source> +- <translation type="unfinished"></translation> ++ <translation>Card âm thanh</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>Keyboard</source> +- <translation type="unfinished"></translation> ++ <translation>Bàn phím</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>Mouse</source> +- <translation type="unfinished"></translation> ++ <translation>Chuột</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>Bluetooth</source> +- <translation type="unfinished"></translation> ++ <translation>Bluetooth</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>CD</source> +- <translation type="unfinished"></translation> ++ <translation>CD</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="17"/> + <source>Battery</source> +- <translation type="unfinished"></translation> ++ <translation>Pin</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="18"/> + <source>Fan</source> +- <translation type="unfinished"></translation> ++ <translation>Quạt</translation> + </message> + <message> + <location filename="../src/include/customtreewidget.cpp" line="18"/> + <source>Camera</source> +- <translation type="unfinished"></translation> ++ <translation>Máy quay phim</translation> + </message> + </context> + <context> +@@ -92,110 +92,110 @@ + <message> + <location filename="../src/deviceitem.cpp" line="53"/> + <source>Scanner</source> +- <translation type="unfinished"></translation> ++ <translation>Máy quét</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="57"/> + <source>GraphicCard</source> +- <translation type="unfinished"></translation> ++ <translation>Thẻ đồ họa</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="61"/> + <source>SoundCard</source> +- <translation type="unfinished"></translation> ++ <translation>Thẻ âm thanh</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="65"/> + <source>NetworkCard</source> +- <translation type="unfinished"></translation> ++ <translation>Thẻ mạng</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="69"/> + <source>Bluetooth</source> +- <translation type="unfinished"></translation> ++ <translation>Bluetooth</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="73"/> + <source>Printer</source> +- <translation type="unfinished"></translation> ++ <translation>Máy in</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="77"/> + <source>Input Device</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị đầu vào</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="81"/> + <source>Video Device</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị video</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="85"/> + <source>Other Device</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị khác</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="115"/> + <location filename="../src/deviceitem.cpp" line="141"/> + <location filename="../src/deviceitem.cpp" line="146"/> + <source>Version:</source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản:</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="150"/> + <location filename="../src/deviceitem.cpp" line="179"/> + <source>Uninstall</source> +- <translation type="unfinished"></translation> ++ <translation>Gỡ cài đặt</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="156"/> + <location filename="../src/deviceitem.cpp" line="371"/> + <source>Installed</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="162"/> + <source>No available drivers were detected</source> +- <translation type="unfinished"></translation> ++ <translation>Không phát hiện trình điều khiển khả dụng nào</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="163"/> + <source>Feedback</source> +- <translation type="unfinished"></translation> ++ <translation>Phản hồi</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="172"/> + <source>Install</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="177"/> + <source>Update</source> +- <translation type="unfinished"></translation> ++ <translation>Cập nhật</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="317"/> + <location filename="../src/deviceitem.cpp" line="338"/> + <source>Uninstalling drivers. Please wait for the uninstallation to complete before clicking again.</source> +- <translation type="unfinished"></translation> ++ <translation>Gỡ cài đặt trình điều khiển. Vui lòng đợi quá trình gỡ cài đặt hoàn tất trước khi nhấp lại.</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="318"/> + <location filename="../src/deviceitem.cpp" line="339"/> + <source>Uninstall Failed</source> +- <translation type="unfinished"></translation> ++ <translation>Gỡ cài đặt không thành công</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="321"/> + <location filename="../src/deviceitem.cpp" line="342"/> + <source>Installing drivers. Please wait for the installation to complete before clicking again.</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt trình điều khiển. Vui lòng đợi quá trình cài đặt hoàn tất trước khi nhấp lại.</translation> + </message> + <message> + <location filename="../src/deviceitem.cpp" line="322"/> + <location filename="../src/deviceitem.cpp" line="343"/> + <source>Install Failed</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt không thành công</translation> + </message> + </context> + <context> +@@ -203,12 +203,12 @@ + <message> + <location filename="../src/drivergetfailwidget.cpp" line="29"/> + <source>Failed to obtain driver information, please try again later.</source> +- <translation type="unfinished"></translation> ++ <translation>Không lấy được thông tin tài xế, vui lòng thử lại sau.</translation> + </message> + <message> + <location filename="../src/drivergetfailwidget.cpp" line="32"/> + <source>Retry</source> +- <translation type="unfinished"></translation> ++ <translation>Thử lại</translation> + </message> + </context> + <context> +@@ -217,7 +217,7 @@ + <location filename="../src/driverinstallwidget.cpp" line="55"/> + <location filename="../src/driverinstallwidget.cpp" line="225"/> + <source>Installable Drivers</source> +- <translation type="unfinished"></translation> ++ <translation>Trình điều khiển có thể cài đặt</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="55"/> +@@ -228,7 +228,7 @@ + <location filename="../src/driverinstallwidget.cpp" line="231"/> + <location filename="../src/driverinstallwidget.cpp" line="235"/> + <source>)</source> +- <translation type="unfinished"></translation> ++ <translation>)</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="55"/> +@@ -239,69 +239,69 @@ + <location filename="../src/driverinstallwidget.cpp" line="231"/> + <location filename="../src/driverinstallwidget.cpp" line="235"/> + <source>(</source> +- <translation type="unfinished"></translation> ++ <translation>(</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="57"/> + <source>One-click installation</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt bằng một cú nhấp chuột</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="59"/> + <location filename="../src/driverinstallwidget.cpp" line="228"/> + <source>Upgradable Drivers</source> +- <translation type="unfinished"></translation> ++ <translation>Trình điều khiển có thể nâng cấp</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="61"/> + <source>One-click upgrade</source> +- <translation type="unfinished"></translation> ++ <translation>Nâng cấp bằng một cú nhấp chuột</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="63"/> + <location filename="../src/driverinstallwidget.cpp" line="231"/> + <source>Installed Drivers</source> +- <translation type="unfinished"></translation> ++ <translation>Trình điều khiển đã cài đặt</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="235"/> + <source>Unrecognized Device</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị không nhận dạng</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="1213"/> + <location filename="../src/driverinstallwidget.cpp" line="1261"/> + <source>Uninstalling drivers. Please wait for the uninstallation to complete before clicking again.</source> +- <translation type="unfinished"></translation> ++ <translation>Gỡ cài đặt trình điều khiển. Vui lòng đợi quá trình gỡ cài đặt hoàn tất trước khi nhấp lại.</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="1215"/> + <location filename="../src/driverinstallwidget.cpp" line="1263"/> + <source>Uninstall Failed</source> +- <translation type="unfinished"></translation> ++ <translation>Gỡ cài đặt không thành công</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="1218"/> + <location filename="../src/driverinstallwidget.cpp" line="1266"/> + <source>Installing drivers. Please wait for the installation to complete before clicking again.</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt trình điều khiển. Vui lòng đợi quá trình cài đặt hoàn tất trước khi nhấp lại.</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="1078"/> + <location filename="../src/driverinstallwidget.cpp" line="1219"/> + <location filename="../src/driverinstallwidget.cpp" line="1267"/> + <source>Install Failed</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt không thành công</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="1082"/> + <source>Update</source> +- <translation type="unfinished"></translation> ++ <translation>Cập nhật</translation> + </message> + <message> + <location filename="../src/driverinstallwidget.cpp" line="1089"/> + <source>Install</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt</translation> + </message> + </context> + <context> +@@ -309,70 +309,70 @@ + <message> + <location filename="../src/hardwareinfowidget.cpp" line="121"/> + <source>Computer Basic Information</source> +- <translation type="unfinished"></translation> ++ <translation>Thông tin cơ bản về máy tính</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="125"/> + <location filename="../src/hardwareinfowidget.cpp" line="462"/> + <source>Host Name</source> +- <translation type="unfinished"></translation> ++ <translation>Tên máy chủ</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="129"/> + <source>Operation System Name</source> +- <translation type="unfinished"></translation> ++ <translation>Tên hệ điều hành</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="133"/> + <location filename="../src/hardwareinfowidget.cpp" line="463"/> + <source>Operation System Version</source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản hệ điều hành</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="137"/> + <location filename="../src/hardwareinfowidget.cpp" line="464"/> + <source>Kernel Version</source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản hạt nhân</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="141"/> + <location filename="../src/hardwareinfowidget.cpp" line="465"/> + <source>Kernel Architecture</source> +- <translation type="unfinished"></translation> ++ <translation>Kiến trúc hạt nhân</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="145"/> + <location filename="../src/hardwareinfowidget.cpp" line="466"/> + <source>System Bits</source> +- <translation type="unfinished"></translation> ++ <translation>Bit hệ thống</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="149"/> + <location filename="../src/hardwareinfowidget.cpp" line="467"/> + <source>Manufacturer</source> +- <translation type="unfinished"></translation> ++ <translation>Nhà sản xuất</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="153"/> + <source>Version</source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="157"/> + <location filename="../src/hardwareinfowidget.cpp" line="468"/> + <source>Model</source> +- <translation type="unfinished"></translation> ++ <translation>Mẫu</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="161"/> + <location filename="../src/hardwareinfowidget.cpp" line="469"/> + <source>Serial</source> +- <translation type="unfinished"></translation> ++ <translation>Serial</translation> + </message> + <message> + <location filename="../src/hardwareinfowidget.cpp" line="375"/> + <source>Hardware Display</source> +- <translation type="unfinished"></translation> ++ <translation>Màn hình phần cứng</translation> + </message> + </context> + <context> +@@ -380,12 +380,12 @@ + <message> + <location filename="../src/hardwareinfogetfailwidget.cpp" line="30"/> + <source>Failed to obtain driver information, please try again later.</source> +- <translation type="unfinished"></translation> ++ <translation>Không lấy được thông tin tài xế, vui lòng thử lại sau.</translation> + </message> + <message> + <location filename="../src/hardwareinfogetfailwidget.cpp" line="33"/> + <source>Retry</source> +- <translation type="unfinished"></translation> ++ <translation>Thử lại</translation> + </message> + </context> + <context> +@@ -393,7 +393,7 @@ + <message> + <location filename="../src/hardwareinfogetter.cpp" line="979"/> + <source> inch</source> +- <translation type="unfinished"></translation> ++ <translation> inch</translation> + </message> + </context> + <context> +@@ -401,28 +401,28 @@ + <message> + <location filename="../src/hwwidget.cpp" line="88"/> + <source>Disable</source> +- <translation type="unfinished"></translation> ++ <translation>Vô hiệu hóa</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="116"/> + <source>Export To Clipboard</source> +- <translation type="unfinished"></translation> ++ <translation>Xuất sang khay nhớ tạm</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="117"/> + <source>Activate</source> +- <translation type="unfinished"></translation> ++ <translation>Kích hoạt</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="118"/> + <source>Deactive</source> +- <translation type="unfinished"></translation> ++ <translation>Mất chủ động</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="128"/> + <location filename="../src/hwwidget.cpp" line="131"/> + <source>CPU</source> +- <translation type="unfinished"></translation> ++ <translation>CPU</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="208"/> +@@ -430,7 +430,7 @@ + <location filename="../src/hwwidget.cpp" line="1330"/> + <location filename="../src/hwwidget.cpp" line="1333"/> + <source>Memory</source> +- <translation type="unfinished"></translation> ++ <translation>Trí nhớ</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="147"/> +@@ -441,19 +441,19 @@ + <location filename="../src/hwwidget.cpp" line="1355"/> + <location filename="../src/hwwidget.cpp" line="1358"/> + <source>Graphic Card</source> +- <translation type="unfinished"></translation> ++ <translation>Card đồ họa</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="91"/> + <source>This device can be disabled/enabled</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị này có thể bị tắt / bật</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="358"/> + <location filename="../src/hwwidget.cpp" line="361"/> + <location filename="../src/hwwidget.cpp" line="378"/> + <source>Mother Board</source> +- <translation type="unfinished"></translation> ++ <translation>Bảng mẹ</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="429"/> +@@ -462,7 +462,7 @@ + <location filename="../src/hwwidget.cpp" line="1381"/> + <location filename="../src/hwwidget.cpp" line="1384"/> + <source>Network Card</source> +- <translation type="unfinished"></translation> ++ <translation>Card mạng</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="552"/> +@@ -473,7 +473,7 @@ + <location filename="../src/hwwidget.cpp" line="1407"/> + <location filename="../src/hwwidget.cpp" line="1410"/> + <source>Disk</source> +- <translation type="unfinished"></translation> ++ <translation>Đĩa</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="620"/> +@@ -481,7 +481,7 @@ + <location filename="../src/hwwidget.cpp" line="1432"/> + <location filename="../src/hwwidget.cpp" line="1435"/> + <source>Monitor</source> +- <translation type="unfinished"></translation> ++ <translation>Màn hình</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="723"/> +@@ -489,7 +489,7 @@ + <location filename="../src/hwwidget.cpp" line="1458"/> + <location filename="../src/hwwidget.cpp" line="1461"/> + <source>Sound Card</source> +- <translation type="unfinished"></translation> ++ <translation>Card âm thanh</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="824"/> +@@ -498,7 +498,7 @@ + <location filename="../src/hwwidget.cpp" line="1484"/> + <location filename="../src/hwwidget.cpp" line="1487"/> + <source>Keyboard</source> +- <translation type="unfinished"></translation> ++ <translation>Bàn phím</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="890"/> +@@ -507,7 +507,7 @@ + <location filename="../src/hwwidget.cpp" line="1509"/> + <location filename="../src/hwwidget.cpp" line="1512"/> + <source>Mouse</source> +- <translation type="unfinished"></translation> ++ <translation>Chuột</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="959"/> +@@ -516,7 +516,7 @@ + <location filename="../src/hwwidget.cpp" line="1534"/> + <location filename="../src/hwwidget.cpp" line="1537"/> + <source>Bluetooth</source> +- <translation type="unfinished"></translation> ++ <translation>Bluetooth</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="1049"/> +@@ -525,7 +525,7 @@ + <location filename="../src/hwwidget.cpp" line="1559"/> + <location filename="../src/hwwidget.cpp" line="1562"/> + <source>CD</source> +- <translation type="unfinished"></translation> ++ <translation>CD</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="1116"/> +@@ -534,7 +534,7 @@ + <location filename="../src/hwwidget.cpp" line="1584"/> + <location filename="../src/hwwidget.cpp" line="1587"/> + <source>Battery</source> +- <translation type="unfinished"></translation> ++ <translation>Pin</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="1192"/> +@@ -543,7 +543,7 @@ + <location filename="../src/hwwidget.cpp" line="1609"/> + <location filename="../src/hwwidget.cpp" line="1612"/> + <source>Fan</source> +- <translation type="unfinished"></translation> ++ <translation>Quạt</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="1259"/> +@@ -552,7 +552,7 @@ + <location filename="../src/hwwidget.cpp" line="1634"/> + <location filename="../src/hwwidget.cpp" line="1637"/> + <source>Camera</source> +- <translation type="unfinished"></translation> ++ <translation>Máy quay phim</translation> + </message> + </context> + <context> +@@ -560,7 +560,7 @@ + <message> + <location filename="../src/loadingwidget.cpp" line="27"/> + <source>The driver information is being detected, please wait a moment.</source> +- <translation type="unfinished"></translation> ++ <translation>Thông tin tài xế đang được phát hiện, vui lòng đợi một chút.</translation> + </message> + </context> + <context> +@@ -568,86 +568,86 @@ + <message> + <location filename="../plugin.cpp" line="18"/> + <source>DeviceManager</source> +- <translation type="unfinished"></translation> ++ <translation>Trình quản lý thiết bị</translation> + </message> + <message> + <location filename="../src/hardwareinfo/diskinfo.cpp" line="39"/> + <location filename="../src/hardwareinfo/monitorinfo.cpp" line="33"/> + <location filename="../src/hwwidget.cpp" line="695"/> + <source>Yes</source> +- <translation type="unfinished"></translation> ++ <translation>Có</translation> + </message> + <message> + <location filename="../src/hardwareinfo/diskinfo.cpp" line="37"/> + <location filename="../src/hardwareinfo/monitorinfo.cpp" line="35"/> + <location filename="../src/hwwidget.cpp" line="697"/> + <source>No</source> +- <translation type="unfinished"></translation> ++ <translation>Không</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="177"/> + <source>CPU Current Frequency</source> +- <translation type="unfinished"></translation> ++ <translation>Tần số hiện tại của CPU</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="177"/> + <source>CPU Usage Rate</source> +- <translation type="unfinished"></translation> ++ <translation>Tỷ lệ sử dụng CPU</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="178"/> + <source>CPU Temperature</source> +- <translation type="unfinished"></translation> ++ <translation>Nhiệt độ CPU</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="258"/> + <source>Memory Usage</source> +- <translation type="unfinished"></translation> ++ <translation>Sử dụng bộ nhớ</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="334"/> + <source>GDDR Size</source> +- <translation type="unfinished"></translation> ++ <translation>Kích thước GDDR</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="680"/> + <source>Resolution</source> +- <translation type="unfinished"></translation> ++ <translation>Nghị quyết</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="690"/> + <source>Main Monitor</source> +- <translation type="unfinished"></translation> ++ <translation>Màn hình chính</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="1166"/> + <source>Energy</source> +- <translation type="unfinished"></translation> ++ <translation>Năng lượng</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="1166"/> + <source>Time To Empty</source> +- <translation type="unfinished"></translation> ++ <translation>Thời gian làm trống</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="1167"/> + <source>Percentage</source> +- <translation type="unfinished"></translation> ++ <translation>Tỷ lệ phần trăm</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="1167"/> + <source>State</source> +- <translation type="unfinished"></translation> ++ <translation>Tiểu bang</translation> + </message> + <message> + <location filename="../src/hardwareinfo/cpuinfo.cpp" line="210"/> + <source>This CPU model does not support temperature display function</source> +- <translation type="unfinished"></translation> ++ <translation>Mẫu CPU này không hỗ trợ chức năng hiển thị nhiệt độ</translation> + </message> + <message> + <location filename="../src/hardwareinfo/diskinfo.cpp" line="29"/> + <source>Removable storage devices</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị lưu trữ di động</translation> + </message> + </context> + <context> +@@ -659,7 +659,7 @@ + <location filename="../src/database/drivermanagerdatabase.cpp" line="131"/> + <location filename="../src/database/drivermanagerdatabase.cpp" line="151"/> + <source>Database Error</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi cơ sở dữ liệu</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="18"/> +@@ -689,91 +689,91 @@ + <location filename="../src/include/hwinfostorage.h" line="333"/> + <location filename="../src/include/hwinfostorage.h" line="343"/> + <source>Manufacturer</source> +- <translation type="unfinished"></translation> ++ <translation>Nhà sản xuất</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="19"/> + <location filename="../src/include/hwinfostorage.h" line="34"/> + <source>Cores</source> +- <translation type="unfinished"></translation> ++ <translation>Lõi</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="20"/> + <location filename="../src/include/hwinfostorage.h" line="35"/> + <source>Online Cores</source> +- <translation type="unfinished"></translation> ++ <translation>Lõi trực tuyến</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="21"/> + <location filename="../src/include/hwinfostorage.h" line="36"/> + <source>Thread Per Cores</source> +- <translation type="unfinished"></translation> ++ <translation>Chủ đề trên mỗi lõi</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="22"/> + <location filename="../src/include/hwinfostorage.h" line="37"/> + <source>MAX MHz</source> +- <translation type="unfinished"></translation> ++ <translation>TỐI ĐA MHz</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="23"/> + <location filename="../src/include/hwinfostorage.h" line="38"/> + <source>L1d Cache</source> +- <translation type="unfinished"></translation> ++ <translation>Bộ nhớ đệm L1d</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="24"/> + <location filename="../src/include/hwinfostorage.h" line="39"/> + <source>L1i Cache</source> +- <translation type="unfinished"></translation> ++ <translation>Bộ nhớ đệm L1i</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="25"/> + <location filename="../src/include/hwinfostorage.h" line="40"/> + <source>L2 Cache</source> +- <translation type="unfinished"></translation> ++ <translation>Bộ nhớ đệm L2</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="26"/> + <location filename="../src/include/hwinfostorage.h" line="41"/> + <source>L3 Cache</source> +- <translation type="unfinished"></translation> ++ <translation>Bộ nhớ đệm L3</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="27"/> + <location filename="../src/include/hwinfostorage.h" line="42"/> + <source>L4 Cache</source> +- <translation type="unfinished"></translation> ++ <translation>Bộ nhớ đệm L4</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="28"/> + <location filename="../src/include/hwinfostorage.h" line="43"/> + <source>CPU Current Frequency</source> +- <translation type="unfinished"></translation> ++ <translation>Tần số hiện tại của CPU</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="29"/> + <location filename="../src/include/hwinfostorage.h" line="44"/> + <source>CPU Usage Rate</source> +- <translation type="unfinished"></translation> ++ <translation>Tỷ lệ sử dụng CPU</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="30"/> + <location filename="../src/include/hwinfostorage.h" line="45"/> + <source>CPU Temperature</source> +- <translation type="unfinished"></translation> ++ <translation>Nhiệt độ CPU</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="49"/> + <location filename="../src/include/hwinfostorage.h" line="62"/> + <source>Bank Locator</source> +- <translation type="unfinished"></translation> ++ <translation>Định vị ngân hàng</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="50"/> + <location filename="../src/include/hwinfostorage.h" line="63"/> + <source>Total Width</source> +- <translation type="unfinished"></translation> ++ <translation>Tổng chiều rộng</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="51"/> +@@ -781,7 +781,7 @@ + <location filename="../src/include/hwinfostorage.h" line="165"/> + <location filename="../src/include/hwinfostorage.h" line="178"/> + <source>Size</source> +- <translation type="unfinished"></translation> ++ <translation>Kích thước</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="52"/> +@@ -795,13 +795,13 @@ + <location filename="../src/include/hwinfostorage.h" line="334"/> + <location filename="../src/include/hwinfostorage.h" line="344"/> + <source>Serial Number</source> +- <translation type="unfinished"></translation> ++ <translation>Số sê-ri</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="54"/> + <location filename="../src/include/hwinfostorage.h" line="67"/> + <source>Data Width</source> +- <translation type="unfinished"></translation> ++ <translation>Chiều rộng dữ liệu</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="55"/> +@@ -809,7 +809,7 @@ + <location filename="../src/include/hwinfostorage.h" line="139"/> + <location filename="../src/include/hwinfostorage.h" line="153"/> + <source>Type</source> +- <translation type="unfinished"></translation> ++ <translation>Kiểu</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="56"/> +@@ -825,31 +825,31 @@ + <location filename="../src/include/hwinfostorage.h" line="326"/> + <location filename="../src/include/hwinfostorage.h" line="329"/> + <source>Speed</source> +- <translation type="unfinished"></translation> ++ <translation>Tốc độ</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="57"/> + <location filename="../src/include/hwinfostorage.h" line="70"/> + <source>Configured Speed</source> +- <translation type="unfinished"></translation> ++ <translation>Tốc độ được cấu hình</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="58"/> + <location filename="../src/include/hwinfostorage.h" line="71"/> + <source>Part Number</source> +- <translation type="unfinished"></translation> ++ <translation>Phần số</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="59"/> + <location filename="../src/include/hwinfostorage.h" line="72"/> + <source>Memory Usage</source> +- <translation type="unfinished"></translation> ++ <translation>Sử dụng bộ nhớ</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="77"/> + <location filename="../src/include/hwinfostorage.h" line="95"/> + <source>Sub System Device ID</source> +- <translation type="unfinished"></translation> ++ <translation>ID thiết bị hệ thống phụ</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="78"/> +@@ -865,19 +865,19 @@ + <location filename="../src/include/hwinfostorage.h" line="308"/> + <location filename="../src/include/hwinfostorage.h" line="317"/> + <source>Model</source> +- <translation type="unfinished"></translation> ++ <translation>Mẫu</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="79"/> + <location filename="../src/include/hwinfostorage.h" line="97"/> + <source>Memory</source> +- <translation type="unfinished"></translation> ++ <translation>Trí nhớ</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="80"/> + <location filename="../src/include/hwinfostorage.h" line="98"/> + <source>GPU Type</source> +- <translation type="unfinished"></translation> ++ <translation>Loại GPU</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="81"/> +@@ -887,7 +887,7 @@ + <location filename="../src/include/hwinfostorage.h" line="312"/> + <location filename="../src/include/hwinfostorage.h" line="321"/> + <source>Bus Info</source> +- <translation type="unfinished"></translation> ++ <translation>Thông tin xe buýt</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="82"/> +@@ -895,13 +895,13 @@ + <location filename="../src/include/hwinfostorage.h" line="221"/> + <location filename="../src/include/hwinfostorage.h" line="228"/> + <source>Clock</source> +- <translation type="unfinished"></translation> ++ <translation>Đồng hồ</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="83"/> + <location filename="../src/include/hwinfostorage.h" line="101"/> + <source>Physics ID</source> +- <translation type="unfinished"></translation> ++ <translation>ID vật lý</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="84"/> +@@ -913,7 +913,7 @@ + <location filename="../src/include/hwinfostorage.h" line="311"/> + <location filename="../src/include/hwinfostorage.h" line="320"/> + <source>Version</source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="85"/> +@@ -933,204 +933,204 @@ + <location filename="../src/include/hwinfostorage.h" line="310"/> + <location filename="../src/include/hwinfostorage.h" line="319"/> + <source>Driver</source> +- <translation type="unfinished"></translation> ++ <translation>Người lái</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="86"/> + <location filename="../src/include/hwinfostorage.h" line="104"/> + <source>Communication Width</source> +- <translation type="unfinished"></translation> ++ <translation>Chiều rộng giao tiếp</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="166"/> + <location filename="../src/include/hwinfostorage.h" line="179"/> + <source>Mount Point</source> +- <translation type="unfinished"></translation> ++ <translation>Điểm núi</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="175"/> + <location filename="../src/include/hwinfostorage.h" line="188"/> + <source>Rota</source> +- <translation type="unfinished"></translation> ++ <translation>Rota</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="223"/> + <location filename="../src/include/hwinfostorage.h" line="230"/> + <source>Width</source> +- <translation type="unfinished"></translation> ++ <translation>Chiều rộng</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="87"/> + <location filename="../src/include/hwinfostorage.h" line="105"/> + <source>GDDR Size</source> +- <translation type="unfinished"></translation> ++ <translation>Kích thước GDDR</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="88"/> + <location filename="../src/include/hwinfostorage.h" line="106"/> + <source>EGL Version</source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản EGL</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="89"/> + <location filename="../src/include/hwinfostorage.h" line="107"/> + <source>EGL Api List</source> +- <translation type="unfinished"></translation> ++ <translation>Danh sách EGL Api</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="90"/> + <location filename="../src/include/hwinfostorage.h" line="108"/> + <source>OpenGL Version</source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản OpenGL</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="91"/> + <location filename="../src/include/hwinfostorage.h" line="109"/> + <source>GLSL Version</source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản GLSL</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="115"/> + <location filename="../src/include/hwinfostorage.h" line="125"/> + <source>Chassis Handle</source> +- <translation type="unfinished"></translation> ++ <translation>Tay cầm khung gầm</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="116"/> + <location filename="../src/include/hwinfostorage.h" line="126"/> + <source>Bios Vendor</source> +- <translation type="unfinished"></translation> ++ <translation>Nhà cung cấp Bios</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="117"/> + <location filename="../src/include/hwinfostorage.h" line="127"/> + <source>Bios Version</source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản Bios</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="118"/> + <location filename="../src/include/hwinfostorage.h" line="128"/> + <source>Chipser</source> +- <translation type="unfinished"></translation> ++ <translation>Máy chipo</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="120"/> + <location filename="../src/include/hwinfostorage.h" line="130"/> + <source>Publish Date</source> +- <translation type="unfinished"></translation> ++ <translation>Ngày xuất bản</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="136"/> + <location filename="../src/include/hwinfostorage.h" line="150"/> + <source>Bus</source> +- <translation type="unfinished"></translation> ++ <translation>Xe buýt</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="138"/> + <location filename="../src/include/hwinfostorage.h" line="152"/> + <source>MAC Address</source> +- <translation type="unfinished"></translation> ++ <translation>Địa chỉ MAC</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="141"/> + <location filename="../src/include/hwinfostorage.h" line="155"/> + <source>IP Address</source> +- <translation type="unfinished"></translation> ++ <translation>Địa chỉ IP</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="142"/> + <location filename="../src/include/hwinfostorage.h" line="156"/> + <source>Net Musk</source> +- <translation type="unfinished"></translation> ++ <translation>Xạ hương ròng</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="143"/> + <location filename="../src/include/hwinfostorage.h" line="157"/> + <source>Send Bytes</source> +- <translation type="unfinished"></translation> ++ <translation>Gửi byte</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="144"/> + <location filename="../src/include/hwinfostorage.h" line="158"/> + <source>Recved Bytes</source> +- <translation type="unfinished"></translation> ++ <translation>Byte đã thu hồi</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="145"/> + <location filename="../src/include/hwinfostorage.h" line="159"/> + <source>MTU</source> +- <translation type="unfinished"></translation> ++ <translation>MTU</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="164"/> + <location filename="../src/include/hwinfostorage.h" line="183"/> + <source>Vendor</source> +- <translation type="unfinished"></translation> ++ <translation>Vendor</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="168"/> + <source>Disk Name</source> +- <translation type="unfinished"></translation> ++ <translation>Tên đĩa</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="169"/> + <location filename="../src/include/hwinfostorage.h" line="181"/> + <source>Frimwarever Version</source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản Frimwarever</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="170"/> + <location filename="../src/include/hwinfostorage.h" line="182"/> + <source>Disk Type</source> +- <translation type="unfinished"></translation> ++ <translation>Loại đĩa</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="171"/> + <location filename="../src/include/hwinfostorage.h" line="184"/> + <source>Main Disk</source> +- <translation type="unfinished"></translation> ++ <translation>Đĩa chính</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="173"/> + <location filename="../src/include/hwinfostorage.h" line="186"/> + <source>UFS</source> +- <translation type="unfinished"></translation> ++ <translation>UFS</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="174"/> + <location filename="../src/include/hwinfostorage.h" line="187"/> + <source>UFS Revision</source> +- <translation type="unfinished"></translation> ++ <translation>Bản sửa đổi UFS</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="196"/> + <location filename="../src/include/hwinfostorage.h" line="208"/> + <source>Monitor Size</source> +- <translation type="unfinished"></translation> ++ <translation>Kích thước màn hình</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="197"/> + <location filename="../src/include/hwinfostorage.h" line="209"/> + <source>Monitor Ratio</source> +- <translation type="unfinished"></translation> ++ <translation>Tỷ lệ màn hình</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="198"/> + <location filename="../src/include/hwinfostorage.h" line="210"/> + <source>Resolution</source> +- <translation type="unfinished"></translation> ++ <translation>Nghị quyết</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="199"/> + <location filename="../src/include/hwinfostorage.h" line="211"/> + <source>Max Resolution</source> +- <translation type="unfinished"></translation> ++ <translation>Độ phân giải tối đa</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="200"/> + <location filename="../src/include/hwinfostorage.h" line="212"/> + <source>Main Monitor</source> +- <translation type="unfinished"></translation> ++ <translation>Màn hình chính</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="670"/> +@@ -1145,132 +1145,132 @@ + <location filename="../src/include/hwinfostorage.h" line="309"/> + <location filename="../src/include/hwinfostorage.h" line="318"/> + <source>Interface</source> +- <translation type="unfinished"></translation> ++ <translation>Giao diện</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="202"/> + <location filename="../src/include/hwinfostorage.h" line="214"/> + <source>Visible Area</source> +- <translation type="unfinished"></translation> ++ <translation>Khu vực nhìn thấy</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="203"/> + <location filename="../src/include/hwinfostorage.h" line="215"/> + <source>Gamma</source> +- <translation type="unfinished"></translation> ++ <translation>Gamma</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="220"/> + <location filename="../src/include/hwinfostorage.h" line="227"/> + <source>Bus Address</source> +- <translation type="unfinished"></translation> ++ <translation>Địa chỉ xe buýt</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="261"/> + <location filename="../src/include/hwinfostorage.h" line="274"/> + <source>Driver Version</source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản trình điều khiển</translation> + </message> + <message> + <location filename="../src/hwwidget.cpp" line="1000"/> + <location filename="../src/include/hwinfostorage.h" line="262"/> + <location filename="../src/include/hwinfostorage.h" line="275"/> + <source>Address</source> +- <translation type="unfinished"></translation> ++ <translation>Địa chỉ</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="263"/> + <location filename="../src/include/hwinfostorage.h" line="276"/> + <source>Link Mode</source> +- <translation type="unfinished"></translation> ++ <translation>Chế độ liên kết</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="264"/> + <location filename="../src/include/hwinfostorage.h" line="277"/> + <source>Link Policy</source> +- <translation type="unfinished"></translation> ++ <translation>Chính sách liên kết</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="266"/> + <location filename="../src/include/hwinfostorage.h" line="280"/> + <source>ACL MTU</source> +- <translation type="unfinished"></translation> ++ <translation>ACL MTU</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="269"/> + <location filename="../src/include/hwinfostorage.h" line="278"/> + <source>Packe Type</source> +- <translation type="unfinished"></translation> ++ <translation>Loại đóng gói</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="265"/> + <location filename="../src/include/hwinfostorage.h" line="279"/> + <source>SCO MTU</source> +- <translation type="unfinished"></translation> ++ <translation>SCO MTU</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="268"/> + <location filename="../src/include/hwinfostorage.h" line="282"/> + <source>Features</source> +- <translation type="unfinished"></translation> ++ <translation>Tính năng</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="287"/> + <location filename="../src/include/hwinfostorage.h" line="297"/> + <source>Name</source> +- <translation type="unfinished"></translation> ++ <translation>Tên</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="291"/> + <location filename="../src/include/hwinfostorage.h" line="301"/> + <source>Device Number</source> +- <translation type="unfinished"></translation> ++ <translation>Số thiết bị</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="335"/> + <location filename="../src/include/hwinfostorage.h" line="345"/> + <source>State</source> +- <translation type="unfinished"></translation> ++ <translation>Tiểu bang</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="336"/> + <location filename="../src/include/hwinfostorage.h" line="346"/> + <source>Energy</source> +- <translation type="unfinished"></translation> ++ <translation>Năng lượng</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="337"/> + <location filename="../src/include/hwinfostorage.h" line="347"/> + <source>Used Times</source> +- <translation type="unfinished"></translation> ++ <translation>Thời gian sử dụng</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="338"/> + <location filename="../src/include/hwinfostorage.h" line="348"/> + <source>Energy Full</source> +- <translation type="unfinished"></translation> ++ <translation>Năng lượng đầy đủ</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="339"/> + <location filename="../src/include/hwinfostorage.h" line="349"/> + <source>Time To Empty</source> +- <translation type="unfinished"></translation> ++ <translation>Thời gian làm trống</translation> + </message> + <message> + <location filename="../src/include/hwinfostorage.h" line="340"/> + <location filename="../src/include/hwinfostorage.h" line="350"/> + <source>Percentage</source> +- <translation type="unfinished"></translation> ++ <translation>Tỷ lệ phần trăm</translation> + </message> + <message> + <location filename="../src/hardwareinfo/networkcardinfo.cpp" line="57"/> + <source>Wireless</source> +- <translation type="unfinished"></translation> ++ <translation>Không dây</translation> + </message> + <message> + <location filename="../src/hardwareinfo/networkcardinfo.cpp" line="59"/> + <source>Wired</source> +- <translation type="unfinished"></translation> ++ <translation>Dây</translation> + </message> + <message> + <location filename="../src/hardwareinfo/cpuinfo.cpp" line="93"/> +@@ -1278,22 +1278,22 @@ + <location filename="../src/hardwareinfo/cpuinfo.cpp" line="150"/> + <location filename="../src/hardwareinfo/cpuinfo.cpp" line="155"/> + <source>This CPU model does not support frequency display function</source> +- <translation type="unfinished"></translation> ++ <translation>Mô hình CPU này không hỗ trợ chức năng hiển thị tần số</translation> + </message> + <message> + <location filename="../src/hardwareinfo/graphiccardinfo.cpp" line="109"/> + <source>This graphics card does not support obtaining GPU bus bit width</source> +- <translation type="unfinished"></translation> ++ <translation>Card đồ họa này không hỗ trợ lấy độ rộng bit bus GPU</translation> + </message> + <message> + <location filename="../src/driveroperation/uninstaller.cpp" line="51"/> + <source>Uninstall timeout.</source> +- <translation type="unfinished"></translation> ++ <translation>Thời gian chờ gỡ cài đặt.</translation> + </message> + <message> + <location filename="../src/driveroperation/aptinstaller.cpp" line="62"/> + <source>Install timeout.</source> +- <translation type="unfinished"></translation> ++ <translation>Thời gian chờ cài đặt.</translation> + </message> + </context> + <context> +@@ -1301,12 +1301,12 @@ + <message> + <location filename="../src/selectionwidget.cpp" line="24"/> + <source>Driver Manager</source> +- <translation type="unfinished"></translation> ++ <translation>Trình quản lý tài xế</translation> + </message> + <message> + <location filename="../src/selectionwidget.cpp" line="23"/> + <source>Hardware Info</source> +- <translation type="unfinished"></translation> ++ <translation>Thông tin phần cứng</translation> + </message> + </context> + <context> +@@ -1315,7 +1315,7 @@ + <location filename="../src/treeitem.cpp" line="60"/> + <location filename="../src/treeitem.cpp" line="66"/> + <source>Export To Clipboard</source> +- <translation type="unfinished"></translation> ++ <translation>Xuất sang khay nhớ tạm</translation> + </message> + </context> + <context> +@@ -1323,58 +1323,58 @@ + <message> + <location filename="../src/uninstallitem.cpp" line="40"/> + <source>Scanner</source> +- <translation type="unfinished"></translation> ++ <translation>Máy quét</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="44"/> + <source>GraphicCard</source> +- <translation type="unfinished"></translation> ++ <translation>Thẻ đồ họa</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="48"/> + <source>SoundCard</source> +- <translation type="unfinished"></translation> ++ <translation>Thẻ âm thanh</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="52"/> + <source>NetworkCard</source> +- <translation type="unfinished"></translation> ++ <translation>Thẻ mạng</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="56"/> + <source>Bluetooth</source> +- <translation type="unfinished"></translation> ++ <translation>Bluetooth</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="60"/> + <source>Printer</source> +- <translation type="unfinished"></translation> ++ <translation>Máy in</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="64"/> + <source>Input Device</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị đầu vào</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="68"/> + <source>Video Device</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị video</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="72"/> + <source>Other Device</source> +- <translation type="unfinished"></translation> ++ <translation>Thiết bị khác</translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="98"/> + <location filename="../src/uninstallitem.cpp" line="101"/> + <source>Version: </source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản: </translation> + </message> + <message> + <location filename="../src/uninstallitem.cpp" line="106"/> + <source>Uninstall</source> +- <translation type="unfinished"></translation> ++ <translation>Gỡ cài đặt</translation> + </message> + </context> + </TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0131-Added-translation-using-Weblate-Arabic.patch kylin-os-manager-2.0.0/debian/patches/0131-Added-translation-using-Weblate-Arabic.patch --- kylin-os-manager-2.0.0/debian/patches/0131-Added-translation-using-Weblate-Arabic.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0131-Added-translation-using-Weblate-Arabic.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,399 @@ +From: KevinDuan <duankaiwen@kylinos.cn> +Date: Mon, 17 Feb 2025 10:52:31 +0800 +Subject: Added translation using Weblate (Arabic) + +--- + plugins/junk_clean/translations/junk-clean_ar.ts | 384 +++++++++++++++++++++++ + 1 file changed, 384 insertions(+) + create mode 100644 plugins/junk_clean/translations/junk-clean_ar.ts + +diff --git a/plugins/junk_clean/translations/junk-clean_ar.ts b/plugins/junk_clean/translations/junk-clean_ar.ts +new file mode 100644 +index 0000000..58b33b1 +--- /dev/null ++++ b/plugins/junk_clean/translations/junk-clean_ar.ts +@@ -0,0 +1,384 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="ar"> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../junk_clean.cpp" line="40"/> ++ <source>JunkClean</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::CleanUpEntryWidget</name> ++ <message> ++ <location filename="../clean_up_entry_widget.cpp" line="84"/> ++ <source>%1 in total, clean carefully</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_entry_widget.cpp" line="92"/> ++ <source>%1 entries in total, carefully clean up</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_entry_widget.cpp" line="94"/> ++ <source>%1 entries</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_entry_widget.cpp" line="106"/> ++ <source>Scanning...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_entry_widget.cpp" line="110"/> ++ <source>Very clean</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::CleanUpFinishWidget</name> ++ <message> ++ <location filename="../clean_up_finish_widget.cpp" line="64"/> ++ <source>Complete</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_finish_widget.cpp" line="90"/> ++ <source>Successfully cleaned up %1 of garbage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_finish_widget.cpp" line="94"/> ++ <source>Cleaning files: %1 entries</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_finish_widget.cpp" line="98"/> ++ <source>Cleaning time: %1 second</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::CleanUpGroupWidget</name> ++ <message> ++ <location filename="../clean_up_group_widget.cpp" line="60"/> ++ <source>%1 items of %2 in total, %3 selected</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_group_widget.cpp" line="66"/> ++ <source>%1 items with %2 traces, %3 selected</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_group_widget.cpp" line="90"/> ++ <source>System junk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_group_widget.cpp" line="92"/> ++ <source>Internet junk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_group_widget.cpp" line="94"/> ++ <source>Usage traces</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_group_widget.cpp" line="96"/> ++ <source>Other</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::CommandLineTraceCleaner</name> ++ <message> ++ <location filename="../cleaner/command_line_trace_cleaner.cpp" line="40"/> ++ <source>Command line history</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/command_line_trace_cleaner.cpp" line="44"/> ++ <source>Historical traces generated by using the command line</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::FileTraceCleaner</name> ++ <message> ++ <location filename="../cleaner/file_trace_cleaner.cpp" line="39"/> ++ <source>File recording</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/file_trace_cleaner.cpp" line="43"/> ++ <source>Recently opened file records</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::Homepage</name> ++ <message> ++ <location filename="../homepage.cpp" line="32"/> ++ <source>One click cleaning of computer junk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="34"/> ++ <source>Regular cleaning makes your computer light, fast, and safe</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="52"/> ++ <source>System garbage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="54"/> ++ <source>Clean up the garbage generated during the daily use of the system</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="71"/> ++ <source>Interface garbage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="73"/> ++ <source>Cleaning browser generated cache files and login information</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="90"/> ++ <source>Usage traces</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="92"/> ++ <source>Clean up computer usage traces and protect privacy and security</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="110"/> ++ <source>Start scan</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::InstallationPackageCleaner</name> ++ <message> ++ <location filename="../cleaner/installation_package_cleaner.cpp" line="55"/> ++ <source>Installation package cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/installation_package_cleaner.cpp" line="59"/> ++ <source>Garbage files generated during software installation</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::JunkEntryWidget</name> ++ <message> ++ <location filename="../junk_entry_widget.cpp" line="25"/> ++ <source>0 entries</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../junk_entry_widget.cpp" line="27"/> ++ <source>0 B</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../junk_entry_widget.cpp" line="72"/> ++ <source>%1 entries</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::LogCleaner</name> ++ <message> ++ <location filename="../cleaner/log_cleaner.cpp" line="41"/> ++ <source>Log file</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/log_cleaner.cpp" line="45"/> ++ <source>Logs generated by software operation</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::MainWindow</name> ++ <message> ++ <location filename="../mainwindow.cpp" line="52"/> ++ <source>Return</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="54"/> ++ <source>One click clean</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="181"/> ++ <source>Scanning in progress...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="185"/> ++ <source>Cancel scan</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="191"/> ++ <location filename="../mainwindow.cpp" line="199"/> ++ <source>Canceling in progress</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="229"/> ++ <source>No cleanable files found</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="231"/> ++ <source>Found %1 of cleanable files in total</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="233"/> ++ <source>Selected %1 of garbage and %2 usage traces</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="254"/> ++ <source>%1 garbage cleaning in progress...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="256"/> ++ <source>Cleaning up %1 traces...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="264"/> ++ <source>Canecl cleanup</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="308"/> ++ <source>Scanning for garbage...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="342"/> ++ <source>Scanning: %1</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="675"/> ++ <source>Cleaning up garbage...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="718"/> ++ <source>Cleaning up: %1</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::QaxBrowserCleaner</name> ++ <message> ++ <location filename="../cleaner/qax_browser_cleaner.cpp" line="39"/> ++ <source>QaxBrowser</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/qax_browser_cleaner.cpp" line="43"/> ++ <source>Some web pages or resources cached by the browser when loading pages</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::QaxBrowserCookiesCleaner</name> ++ <message> ++ <location filename="../cleaner/qax_browser_cookies_cleaner.cpp" line="39"/> ++ <source>Cookies information</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/qax_browser_cookies_cleaner.cpp" line="43"/> ++ <source>Browser saved login information</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::ResidualCleaner</name> ++ <message> ++ <location filename="../cleaner/residual_cleaner.cpp" line="53"/> ++ <source>Uninstall residual</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/residual_cleaner.cpp" line="57"/> ++ <source>Residual configuration files and cache after software uninstallation</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::SystemMemoryCleaner</name> ++ <message> ++ <location filename="../cleaner/system_memory_cleaner.cpp" line="33"/> ++ <source>System cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/system_memory_cleaner.cpp" line="37"/> ++ <source>Release system memory</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::ThumbnailCleaner</name> ++ <message> ++ <location filename="../cleaner/thumbnail_cleaner.cpp" line="24"/> ++ <source>Thumbnail cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/thumbnail_cleaner.cpp" line="28"/> ++ <source>After cleaning, viewing thumbnails will slow dowm. Please clean as needed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::TrashCleaner</name> ++ <message> ++ <location filename="../cleaner/trash_cleaner.cpp" line="26"/> ++ <source>Trash</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/trash_cleaner.cpp" line="30"/> ++ <source>Before cleaning, please confirm that all files in the recycle bin are removable</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::WechatCleaner</name> ++ <message> ++ <location filename="../cleaner/wechat_cleaner.cpp" line="38"/> ++ <source>Wechat</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/wechat_cleaner.cpp" line="42"/> ++ <source>Clean up files received on wechat</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/0132-102-fix.patch kylin-os-manager-2.0.0/debian/patches/0132-102-fix.patch --- kylin-os-manager-2.0.0/debian/patches/0132-102-fix.patch 1970-01-01 08:00:00.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/0132-102-fix.patch 2025-02-26 16:59:14.000000000 +0800 @@ -0,0 +1,2111 @@ +From: =?utf-8?b?6IyD5pix6L6w?= <fanyuchen@kylinos.cn> +Date: Wed, 26 Feb 2025 09:04:02 +0000 +Subject: =?utf-8?b?ITEwMiBmaXgg5Lu75Yqh5qCP5Zu+5qCH6Zeu6aKYIE1lcmdlIHB1bGwg?= + =?utf-8?b?cmVxdWVzdCAhMTAyIGZyb20g6IyD5pix6L6wL29wZW5reWxpbi9uaWxl?= + +--- + data/kylin-os-manager-device-manager.desktop | 1 + + data/kylin-os-manager-service-support.desktop | 1 + + data/kylin-os-manager.desktop | 1 + + .../translations/fault-diagnosis_ar.ts | 230 +++++------ + .../translations/fault-diagnosis_vi.ts | 266 ++++++------- + plugins/junk_clean/translations/junk-clean_vi.ts | 428 +++++++++++++++++++++ + 6 files changed, 679 insertions(+), 248 deletions(-) + create mode 100644 plugins/junk_clean/translations/junk-clean_vi.ts + +diff --git a/data/kylin-os-manager-device-manager.desktop b/data/kylin-os-manager-device-manager.desktop +index a30c7ea..36d5683 100644 +--- a/data/kylin-os-manager-device-manager.desktop ++++ b/data/kylin-os-manager-device-manager.desktop +@@ -17,3 +17,4 @@ StartupNotify=true + Terminal=false + Type=Application + Categories=GNOME;GTK;System;Viewer; ++StartupWMClass=DeviceManager +diff --git a/data/kylin-os-manager-service-support.desktop b/data/kylin-os-manager-service-support.desktop +index 6167969..c3b574d 100644 +--- a/data/kylin-os-manager-service-support.desktop ++++ b/data/kylin-os-manager-service-support.desktop +@@ -36,3 +36,4 @@ Exec=/usr/bin/kylin-os-manager -jumpTab=ServiceSupport + Type=Application + Categories=System Settings Security + X-KDE-Wayland-Interfaces=org_kde_plasma_window_management,org_kde_plasma_activation_feedback,org_kde_kwin_keystate,org_kde_kwin_fake_input,zkde_screencast_unstable_v1 ++StartupWMClass=ServiceSupport +diff --git a/data/kylin-os-manager.desktop b/data/kylin-os-manager.desktop +index 333ad33..7412672 100644 +--- a/data/kylin-os-manager.desktop ++++ b/data/kylin-os-manager.desktop +@@ -16,3 +16,4 @@ StartupNotify=false + Terminal=false + Type=Application + Categories=System; ++StartupWMClass=KylinOsManager +diff --git a/plugins/fault_diagnosis/translations/fault-diagnosis_ar.ts b/plugins/fault_diagnosis/translations/fault-diagnosis_ar.ts +index 1b8d8d8..cdddac3 100644 +--- a/plugins/fault_diagnosis/translations/fault-diagnosis_ar.ts ++++ b/plugins/fault_diagnosis/translations/fault-diagnosis_ar.ts +@@ -11,25 +11,25 @@ + <message> + <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="264"/> + <source>SetInner</source> +- <translation type="unfinished"></translation> ++ <translation>مجموعة داخلية</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="429"/> + <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="201"/> + <source>Cancel</source> +- <translation type="unfinished"></translation> ++ <translation>إلغاء الأمر</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="464"/> + <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="202"/> + <source>Save</source> +- <translation type="unfinished"></translation> ++ <translation>أنقذ</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="163"/> + <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="176"/> + <source>IntraNetSet</source> +- <translation type="unfinished"></translation> ++ <translation>مجموعة الإنترانت</translation> + </message> + </context> + <context> +@@ -42,27 +42,27 @@ + <message> + <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.ui" line="93"/> + <source>Addr</source> +- <translation type="unfinished"></translation> ++ <translation>الأدر</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="55"/> + <source>IP</source> +- <translation type="unfinished"></translation> ++ <translation>الملكية الفكرية</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="57"/> + <source>Website</source> +- <translation type="unfinished"></translation> ++ <translation>الموقع الإلكتروني</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="101"/> + <source>Format error,IP is invalid</source> +- <translation type="unfinished"></translation> ++ <translation>خطأ في التنسيق ، IP غير صالح</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="114"/> + <source>Format error,web is invalid</source> +- <translation type="unfinished"></translation> ++ <translation>خطأ في التنسيق ، الويب غير صالح</translation> + </message> + </context> + <context> +@@ -78,17 +78,17 @@ + <message> + <location filename="../component/user_experience_dialog.cpp" line="11"/> + <source>Please confirm if your issue has been fixed?</source> +- <translation type="unfinished"></translation> ++ <translation>يرجى تأكيد ما إذا كان قد تم إصلاح مشكلتك؟</translation> + </message> + <message> + <location filename="../component/user_experience_dialog.cpp" line="15"/> + <source>Feedback</source> +- <translation type="unfinished"></translation> ++ <translation>ردود الفعل</translation> + </message> + <message> + <location filename="../component/user_experience_dialog.cpp" line="19"/> + <source>Fixed</source> +- <translation type="unfinished"></translation> ++ <translation>ثابت</translation> + </message> + </context> + <context> +@@ -97,48 +97,48 @@ + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="66"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="102"/> + <source>Help</source> +- <translation type="unfinished"></translation> ++ <translation>تعليمات</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="68"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="100"/> + <source>About</source> +- <translation type="unfinished"></translation> ++ <translation>عن</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="70"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="105"/> + <source>Configure</source> +- <translation type="unfinished"></translation> ++ <translation>تكوين</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="72"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="98"/> + <source>Quit</source> +- <translation type="unfinished"></translation> ++ <translation>انهاء</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="134"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="253"/> + <source>Version: </source> +- <translation type="unfinished"></translation> ++ <translation>الإصدار: </translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="135"/> + <source>Network-check-tool is a software that can quickly detect,diagnose,and optimize networks.</source> +- <translation type="unfinished"></translation> ++ <translation>أداة فحص الشبكة هي برنامج يمكنه اكتشاف الشبكات وتشخيصها وتحسينها بسرعة.</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="257"/> + <source>Network-check-tool is a software that can quickly detect, diagnose, and optimize networks. </source> +- <translation type="unfinished"></translation> ++ <translation>أداة فحص الشبكة هي برنامج يمكنه اكتشاف الشبكات وتشخيصها وتحسينها بسرعة. </translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="269"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="352"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="360"/> + <source>Service & Support: </source> +- <translation type="unfinished"></translation> ++ <translation>الخدمة والدعم الفنى: </translation> + </message> + </context> + <context> +@@ -146,7 +146,7 @@ + <message> + <location filename="../fault_diagnosis.cpp" line="79"/> + <source>FaultDiagnosis</source> +- <translation type="unfinished"></translation> ++ <translation>تشخيص الأخطاء</translation> + </message> + </context> + <context> +@@ -154,22 +154,22 @@ + <message> + <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="30"/> + <source>menu</source> +- <translation type="unfinished"></translation> ++ <translation>قائمة</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="38"/> + <source>minimize</source> +- <translation type="unfinished"></translation> ++ <translation>تصغير</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="51"/> + <source>full screen</source> +- <translation type="unfinished"></translation> ++ <translation>ملء الشاشة</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="64"/> + <source>close</source> +- <translation type="unfinished"></translation> ++ <translation>غلق</translation> + </message> + </context> + <context> +@@ -177,7 +177,7 @@ + <message> + <location filename="../diagnosis_core.cpp" line="157"/> + <source>Repair fail</source> +- <translation type="unfinished"></translation> ++ <translation>فشل الإصلاح</translation> + </message> + </context> + <context> +@@ -185,37 +185,37 @@ + <message> + <location filename="../diagnosis_entry_widget.cpp" line="37"/> + <source>Please contact technical service</source> +- <translation type="unfinished"></translation> ++ <translation>يرجى الاتصال بالخدمة الفنية</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="101"/> + <source>Normal</source> +- <translation type="unfinished"></translation> ++ <translation>عادي</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="106"/> + <source>Exception</source> +- <translation type="unfinished"></translation> ++ <translation>استثناء</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="111"/> + <source>Diagnosising...</source> +- <translation type="unfinished"></translation> ++ <translation>التشخيص...</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="116"/> + <source>Fixed</source> +- <translation type="unfinished"></translation> ++ <translation>ثابت</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="121"/> + <source>Repairing...</source> +- <translation type="unfinished"></translation> ++ <translation>اصلاح...</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="126"/> + <source>Repair failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل الإصلاح</translation> + </message> + </context> + <context> +@@ -223,7 +223,7 @@ + <message> + <location filename="../diagnosis_group_widget.cpp" line="61"/> + <source>Scanned %1 items</source> +- <translation type="unfinished"></translation> ++ <translation>مسحوحة ضوئية٪ 1 عناصر</translation> + </message> + </context> + <context> +@@ -231,37 +231,37 @@ + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="35"/> + <source>Please contact technical service</source> +- <translation type="unfinished"></translation> ++ <translation>يرجى الاتصال بالخدمة الفنية</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="72"/> + <source>Diagnosising...</source> +- <translation type="unfinished"></translation> ++ <translation>التشخيص...</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="77"/> + <source>Normal</source> +- <translation type="unfinished"></translation> ++ <translation>عادي</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="82"/> + <source>Exception</source> +- <translation type="unfinished"></translation> ++ <translation>استثناء</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="87"/> + <source>Repairing...</source> +- <translation type="unfinished"></translation> ++ <translation>اصلاح...</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="92"/> + <source>Fixed</source> +- <translation type="unfinished"></translation> ++ <translation>ثابت</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="97"/> + <source>Repair failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل الإصلاح</translation> + </message> + </context> + <context> +@@ -269,32 +269,32 @@ + <message> + <location filename="../error_entry_widget.cpp" line="32"/> + <source>Manual repair</source> +- <translation type="unfinished"></translation> ++ <translation>الإصلاح اليدوي</translation> + </message> + <message> + <location filename="../error_entry_widget.cpp" line="122"/> + <source>Exception</source> +- <translation type="unfinished"></translation> ++ <translation>استثناء</translation> + </message> + <message> + <location filename="../error_entry_widget.cpp" line="127"/> + <source>Repairing...</source> +- <translation type="unfinished"></translation> ++ <translation>اصلاح...</translation> + </message> + <message> + <location filename="../error_entry_widget.cpp" line="132"/> + <source>Fixed</source> +- <translation type="unfinished"></translation> ++ <translation>ثابت</translation> + </message> + <message> + <location filename="../error_entry_widget.cpp" line="199"/> + <source>We currently do not support fixing this issue. Stay tuned!</source> +- <translation type="unfinished"></translation> ++ <translation>لا نؤيد حاليا إصلاح هذه المشكلة. تنزعج!</translation> + </message> + <message> + <location filename="../error_entry_widget.cpp" line="207"/> + <source>Fail to create solution.</source> +- <translation type="unfinished"></translation> ++ <translation>فشل في إنشاء حل.</translation> + </message> + </context> + <context> +@@ -302,22 +302,22 @@ + <message> + <location filename="../fault_diagnosis.cpp" line="132"/> + <source>Fault Diagnosis</source> +- <translation type="unfinished"></translation> ++ <translation>تشخيص الأعطال</translation> + </message> + <message> + <location filename="../fault_diagnosis.cpp" line="132"/> + <source>Currently running, please try again after finishing.</source> +- <translation type="unfinished"></translation> ++ <translation>قيد التشغيل حاليا ، يرجى المحاولة مرة أخرى بعد الانتهاء.</translation> + </message> + <message> + <location filename="../fault_diagnosis.cpp" line="173"/> + <source>The module is not supported</source> +- <translation type="unfinished"></translation> ++ <translation>الوحدة غير مدعومة</translation> + </message> + <message> + <location filename="../fault_diagnosis.cpp" line="189"/> + <source>The diagnostic type is not supported</source> +- <translation type="unfinished"></translation> ++ <translation>نوع التشخيص غير مدعوم</translation> + </message> + </context> + <context> +@@ -325,58 +325,58 @@ + <message> + <location filename="../home_page_widget.cpp" line="73"/> + <source>One click troubleshooting of computer malfunctions</source> +- <translation type="unfinished"></translation> ++ <translation>استكشاف أخطاء أعطال الكمبيوتر وإصلاحها بنقرة واحدة</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="75"/> + <source>Quick detection and repair of fault issues, safeguarding the health of your computer</source> +- <translation type="unfinished"></translation> ++ <translation>الكشف السريع عن مشكلات الأعطال وإصلاحها ، وحماية صحة جهاز الكمبيوتر الخاص بك</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="116"/> + <source>Network detection</source> +- <translation type="unfinished"></translation> ++ <translation>كشف الشبكة</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="82"/> + <location filename="../home_page_widget.cpp" line="175"/> + <source>One click detection</source> +- <translation type="unfinished"></translation> ++ <translation>الكشف بنقرة واحدة</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="117"/> + <source>Troubleshooting issues with inablilty to access the internet</source> +- <translation type="unfinished"></translation> ++ <translation>استكشاف مشكلات عدم التمكن من الوصول إلى الإنترنت وإصلاحها</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="120"/> + <source>System performance and component detection</source> +- <translation type="unfinished"></translation> ++ <translation>أداء النظام واكتشاف المكونات</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="121"/> + <source>Hardware health and system performance issues</source> +- <translation type="unfinished"></translation> ++ <translation>مشكلات تتعلق بصحة الأجهزة وأداء النظام</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="124"/> + <source>Application detection</source> +- <translation type="unfinished"></translation> ++ <translation>كشف التطبيق</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="125"/> + <source>Application caching and permission settings</source> +- <translation type="unfinished"></translation> ++ <translation>التخزين المؤقت للتطبيق وإعدادات الأذونات</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="141"/> + <source>Internal network detection</source> +- <translation type="unfinished"></translation> ++ <translation>كشف الشبكة الداخلية</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="179"/> + <source>Preparing...</source> +- <translation type="unfinished"></translation> ++ <translation>اعداد...</translation> + </message> + </context> + <context> +@@ -384,64 +384,64 @@ + <message> + <location filename="../mainwindow.cpp" line="93"/> + <source>Cancel</source> +- <translation type="unfinished"></translation> ++ <translation>إلغاء الأمر</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="273"/> + <source>Detecting...</source> +- <translation type="unfinished"></translation> ++ <translation>الكشف عن...</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="316"/> + <source>No issues fount</source> +- <translation type="unfinished"></translation> ++ <translation>لا توجد مشاكل</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="305"/> + <location filename="../mainwindow.cpp" line="317"/> + <source>Rediagnosis</source> +- <translation type="unfinished"></translation> ++ <translation>إعادة التشخيص</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="226"/> + <source>Update detection</source> +- <translation type="unfinished"></translation> ++ <translation>اكتشاف التحديث</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="229"/> + <source>Application detection</source> +- <translation type="unfinished"></translation> ++ <translation>كشف التطبيق</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="285"/> + <location filename="../mainwindow.cpp" line="345"/> + <source>Canceling in progress...</source> +- <translation type="unfinished"></translation> ++ <translation>الإلغاء قيد التقدم...</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="297"/> + <source>Detection interruption, no issues found</source> +- <translation type="unfinished"></translation> ++ <translation>انقطاع الكشف، لم يتم العثور على مشكلات</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="300"/> + <source>Detected interruption and found %1 issues</source> +- <translation type="unfinished"></translation> ++ <translation>تم اكتشاف انقطاع والعثور على مشكلات ٪1</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="322"/> + <source>Found %1 issues</source> +- <translation type="unfinished"></translation> ++ <translation>تم العثور على ٪1 مشكلات</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="324"/> + <source>One click repair</source> +- <translation type="unfinished"></translation> ++ <translation>إصلاح بنقرة واحدة</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="334"/> + <source>Repairing...</source> +- <translation type="unfinished"></translation> ++ <translation>اصلاح...</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="357"/> +@@ -449,13 +449,13 @@ + <location filename="../mainwindow.cpp" line="767"/> + <location filename="../mainwindow.cpp" line="1416"/> + <source>Repair failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل الإصلاح</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="358"/> + <location filename="../mainwindow.cpp" line="379"/> + <source>Repair</source> +- <translation type="unfinished"></translation> ++ <translation>رم</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="362"/> +@@ -463,78 +463,78 @@ + <location filename="../mainwindow.cpp" line="763"/> + <location filename="../mainwindow.cpp" line="1411"/> + <source>Repair successful</source> +- <translation type="unfinished"></translation> ++ <translation>الإصلاح ناجح</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="394"/> + <source>%1 items have been tested, no issues found</source> +- <translation type="unfinished"></translation> ++ <translation>تم اختبار ٪1 من العناصر ، ولم يتم العثور على مشاكل</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="396"/> + <source>%1 items have been tested and %2 issues have been found</source> +- <translation type="unfinished"></translation> ++ <translation>تم اختبار ٪1 من العناصر وتم العثور على مشكلات ٪2</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="403"/> + <source>I suggest you conduct a complete inspection again</source> +- <translation type="unfinished"></translation> ++ <translation>أقترح عليك إجراء فحص كامل مرة أخرى</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="405"/> + <source>Please repair and retest</source> +- <translation type="unfinished"></translation> ++ <translation>يرجى الإصلاح وإعادة الاختبار</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="410"/> + <source>Please continue to maintain and regularly undergo physical examinations</source> +- <translation type="unfinished"></translation> ++ <translation>يرجى الاستمرار في الحفاظ على الفحوصات البدنية والخضوع لها بانتظام</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="412"/> + <source>The scan has been completed. if there are any issues, please handle them as soon as possible</source> +- <translation type="unfinished"></translation> ++ <translation>تم الانتهاء من الفحص. إذا كانت هناك أي مشكلات ، فيرجى التعامل معها في أقرب وقت ممكن</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="416"/> + <source>Please wait for the repair to complete</source> +- <translation type="unfinished"></translation> ++ <translation>يرجى الانتظار حتى يكتمل الإصلاح</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="424"/> + <source>There is still %1 issue that has not been successfully fixed. it is recommended to manually fix it</source> +- <translation type="unfinished"></translation> ++ <translation>لا تزال هناك مشكلة ٪1 لم يتم إصلاحها بنجاح. يوصى بإصلاحه يدويا</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="426"/> + <source>Regular physical examinations can effectively improve the user experience</source> +- <translation type="unfinished"></translation> ++ <translation>يمكن للفحوصات البدنية المنتظمة تحسين تجربة المستخدم بشكل فعال</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="887"/> + <location filename="../mainwindow.cpp" line="906"/> + <source>Backend detection exception</source> +- <translation type="unfinished"></translation> ++ <translation>استثناء الكشف عن الواجهة الخلفية</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="1158"/> + <source>Please select the item that needs to be repaired.</source> +- <translation type="unfinished"></translation> ++ <translation>يرجى تحديد العنصر الذي يحتاج إلى إصلاح.</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="1405"/> + <source>The issue has been successfully fixed, please try updating again</source> +- <translation type="unfinished"></translation> ++ <translation>تم إصلاح المشكلة بنجاح ، يرجى محاولة التحديث مرة أخرى</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="1408"/> + <source>The issue has been successfully fixed, please reinstall the software package again</source> +- <translation type="unfinished"></translation> ++ <translation>تم إصلاح المشكلة بنجاح ، يرجى إعادة تثبيت حزمة البرامج مرة أخرى</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="94"/> + <source>Return</source> +- <translation type="unfinished"></translation> ++ <translation>أعاد</translation> + </message> + </context> + <context> +@@ -542,127 +542,127 @@ + <message> + <location filename="../repair_specific_error_widget.cpp" line="67"/> + <source>Detecting and attempting to fix the issue</source> +- <translation type="unfinished"></translation> ++ <translation>اكتشاف المشكلة ومحاولة إصلاحها</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="76"/> + <source>Cancel</source> +- <translation type="unfinished"></translation> ++ <translation>إلغاء الأمر</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="184"/> + <source>Solution suggestions</source> +- <translation type="unfinished"></translation> ++ <translation>اقتراحات الحلول</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="199"/> + <source>To attempt to resolve the issue, you may need to report the issue to the system maintenance personnel</source> +- <translation type="unfinished"></translation> ++ <translation>لمحاولة حل المشكلة، قد تحتاج إلى الإبلاغ عن المشكلة إلى موظفي صيانة النظام</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="201"/> + <location filename="../repair_specific_error_widget.cpp" line="488"/> + <source>Report issues</source> +- <translation type="unfinished"></translation> ++ <translation>الإبلاغ عن المشاكل</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="220"/> + <source>The network is normal but the update cannot be completed, allow the system to run automated scripts to attempt to fix the problem</source> +- <translation type="unfinished"></translation> ++ <translation>الشبكة طبيعية ولكن لا يمكن إكمال التحديث ، اسمح للنظام بتشغيل البرامج النصية الآلية لمحاولة إصلاح المشكلة</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="222"/> + <location filename="../repair_specific_error_widget.cpp" line="353"/> + <source>Run</source> +- <translation type="unfinished"></translation> ++ <translation>ركض</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="224"/> + <location filename="../repair_specific_error_widget.cpp" line="355"/> + <source>Running...</source> +- <translation type="unfinished"></translation> ++ <translation>تشغيل...</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="252"/> + <source>Please check if the the network connection is normal and update again</source> +- <translation type="unfinished"></translation> ++ <translation>يرجى التحقق مما إذا كان اتصال الشبكة طبيعيا والتحديث مرة أخرى</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="259"/> + <source>Network normal</source> +- <translation type="unfinished"></translation> ++ <translation>الشبكة العادية</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="263"/> + <source>Network exception</source> +- <translation type="unfinished"></translation> ++ <translation>استثناء الشبكة</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="286"/> + <source>Access</source> +- <translation type="unfinished"></translation> ++ <translation>ولوج</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="288"/> + <source>KylinOS official website</source> +- <translation type="unfinished"></translation> ++ <translation>الموقع الرسمي KylinOS</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="293"/> + <source>view common problems and solutions. For more help, please scan the QR code below: </source> +- <translation type="unfinished"></translation> ++ <translation>عرض المشكلات والحلول الشائعة. لمزيد من المساعدة ، يرجى مسح رمز الاستجابة السريعة أدناه: </translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="330"/> + <source>The system will run automated scripts to try to solve the problem, which will uninstall some software packages or lower the version of some software packages (</source> +- <translation type="unfinished"></translation> ++ <translation>سيقوم النظام بتشغيل البرامج النصية الآلية لمحاولة حل المشكلة ، والتي ستؤدي إلى إلغاء تثبيت بعض حزم البرامج أو خفض إصدار بعض حزم البرامج (</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="333"/> + <source>click to view details</source> +- <translation type="unfinished"></translation> ++ <translation>انقر لعرض التفاصيل</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="335"/> + <source>).</source> +- <translation type="unfinished"></translation> ++ <translation>).</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="345"/> + <source>Is it running?</source> +- <translation type="unfinished"></translation> ++ <translation>هل يتم تشغيله؟</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="390"/> + <source>Return</source> +- <translation type="unfinished"></translation> ++ <translation>أعاد</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="431"/> + <location filename="../repair_specific_error_widget.cpp" line="448"/> + <source>Repair successful</source> +- <translation type="unfinished"></translation> ++ <translation>الإصلاح ناجح</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="434"/> + <location filename="../repair_specific_error_widget.cpp" line="451"/> + <source>Repair failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل الإصلاح</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="464"/> + <source>Reporting...</source> +- <translation type="unfinished"></translation> ++ <translation>تقريري...</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="492"/> + <source>Successfully reported</source> +- <translation type="unfinished"></translation> ++ <translation>تم الإبلاغ عنه بنجاح</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="494"/> + <source>Report failed</source> +- <translation type="unfinished"></translation> ++ <translation>فشل الإبلاغ</translation> + </message> + </context> + </TS> +diff --git a/plugins/fault_diagnosis/translations/fault-diagnosis_vi.ts b/plugins/fault_diagnosis/translations/fault-diagnosis_vi.ts +index a37aef8..0f27427 100644 +--- a/plugins/fault_diagnosis/translations/fault-diagnosis_vi.ts ++++ b/plugins/fault_diagnosis/translations/fault-diagnosis_vi.ts +@@ -11,25 +11,25 @@ + <message> + <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="264"/> + <source>SetInner</source> +- <translation type="unfinished"></translation> ++ <translation>BộBên trong</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="429"/> + <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="197"/> + <source>Cancel</source> +- <translation type="unfinished"></translation> ++ <translation>Hủy</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/config_win.ui" line="464"/> + <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="198"/> + <source>Save</source> +- <translation type="unfinished"></translation> ++ <translation>Cứu</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="159"/> + <location filename="../3rdparty/internal_network_diagnosis/config_win.cpp" line="172"/> + <source>IntraNetSet</source> +- <translation type="unfinished"></translation> ++ <translation>Bộ mạng nội bộ</translation> + </message> + </context> + <context> +@@ -42,27 +42,27 @@ + <message> + <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.ui" line="93"/> + <source>Addr</source> +- <translation type="unfinished"></translation> ++ <translation>Addr</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="55"/> + <source>IP</source> +- <translation type="unfinished"></translation> ++ <translation>IP</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="57"/> + <source>Website</source> +- <translation type="unfinished"></translation> ++ <translation>Trang web</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="101"/> + <source>Format error,IP is invalid</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi định dạng, IP không hợp lệ</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/ipweb_widget.cpp" line="114"/> + <source>Format error,web is invalid</source> +- <translation type="unfinished"></translation> ++ <translation>Lỗi định dạng, web không hợp lệ</translation> + </message> + </context> + <context> +@@ -78,22 +78,22 @@ + <message> + <location filename="../component/user_experience_dialog.cpp" line="38"/> + <source>Have all issues been fixed?</source> +- <translation type="unfinished"></translation> ++ <translation>Tất cả các vấn đề đã được khắc phục chưa?</translation> + </message> + <message> + <location filename="../component/user_experience_dialog.cpp" line="54"/> + <source>If there are any unresolved issues, you can click "Submit feedback" to let us know about the problem.</source> +- <translation type="unfinished"></translation> ++ <translation>Nếu có bất kỳ vấn đề nào chưa được giải quyết, bạn có thể nhấp vào "Gửi phản hồi" để cho chúng tôi biết về vấn đề.</translation> + </message> + <message> + <location filename="../component/user_experience_dialog.cpp" line="62"/> + <source>Submit feedback</source> +- <translation type="unfinished"></translation> ++ <translation>Gửi phản hồi</translation> + </message> + <message> + <location filename="../component/user_experience_dialog.cpp" line="66"/> + <source>Fixed</source> +- <translation type="unfinished"></translation> ++ <translation>Cố định</translation> + </message> + </context> + <context> +@@ -102,48 +102,48 @@ + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="66"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="102"/> + <source>Help</source> +- <translation type="unfinished"></translation> ++ <translation>Trợ giúp</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="68"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="100"/> + <source>About</source> +- <translation type="unfinished"></translation> ++ <translation>Về</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="70"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="105"/> + <source>Configure</source> +- <translation type="unfinished"></translation> ++ <translation>Cấu hình</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="72"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="98"/> + <source>Quit</source> +- <translation type="unfinished"></translation> ++ <translation>Bỏ</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="134"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="253"/> + <source>Version: </source> +- <translation type="unfinished"></translation> ++ <translation>Phiên bản: </translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="135"/> + <source>Network-check-tool is a software that can quickly detect,diagnose,and optimize networks.</source> +- <translation type="unfinished"></translation> ++ <translation>Network-check-tool là một phần mềm có thể nhanh chóng phát hiện, chẩn đoán và tối ưu hóa mạng.</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="257"/> + <source>Network-check-tool is a software that can quickly detect, diagnose, and optimize networks. </source> +- <translation type="unfinished"></translation> ++ <translation>Network-check-tool là một phần mềm có thể nhanh chóng phát hiện, chẩn đoán và tối ưu hóa mạng. </translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="269"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="352"/> + <location filename="../3rdparty/internal_network_diagnosis/menumodule.cpp" line="360"/> + <source>Service & Support: </source> +- <translation type="unfinished"></translation> ++ <translation>Dịch vụ & Hỗ trợ: </translation> + </message> + </context> + <context> +@@ -151,7 +151,7 @@ + <message> + <location filename="../fault_diagnosis.cpp" line="95"/> + <source>FaultDiagnosis</source> +- <translation type="unfinished"></translation> ++ <translation>Chẩn đoán lỗi</translation> + </message> + </context> + <context> +@@ -159,22 +159,22 @@ + <message> + <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="30"/> + <source>menu</source> +- <translation type="unfinished"></translation> ++ <translation>thực đơn</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="38"/> + <source>minimize</source> +- <translation type="unfinished"></translation> ++ <translation>Giảm thiểu</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="51"/> + <source>full screen</source> +- <translation type="unfinished"></translation> ++ <translation>Toàn màn hình</translation> + </message> + <message> + <location filename="../3rdparty/internal_network_diagnosis/quad_btns_title_bar.cpp" line="64"/> + <source>close</source> +- <translation type="unfinished"></translation> ++ <translation>đóng</translation> + </message> + </context> + <context> +@@ -182,7 +182,7 @@ + <message> + <location filename="../diagnosis_core.cpp" line="288"/> + <source>Repair fail</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa không thành công</translation> + </message> + </context> + <context> +@@ -190,42 +190,42 @@ + <message> + <location filename="../diagnosis_entry_widget.cpp" line="38"/> + <source>Please contact technical service</source> +- <translation type="unfinished"></translation> ++ <translation>Vui lòng liên hệ với dịch vụ kỹ thuật</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="41"/> + <source>Go clean up</source> +- <translation type="unfinished"></translation> ++ <translation>Đi dọn dẹp</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="106"/> + <source>Normal</source> +- <translation type="unfinished"></translation> ++ <translation>Bình thường</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="111"/> + <source>Exception</source> +- <translation type="unfinished"></translation> ++ <translation>Ngoại lệ</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="116"/> + <source>Diagnosising...</source> +- <translation type="unfinished"></translation> ++ <translation>Chẩn đoán...</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="121"/> + <source>Fixed</source> +- <translation type="unfinished"></translation> ++ <translation>Cố định</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="126"/> + <source>Repairing...</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa...</translation> + </message> + <message> + <location filename="../diagnosis_entry_widget.cpp" line="131"/> + <source>Repair failed</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa không thành công</translation> + </message> + </context> + <context> +@@ -233,7 +233,7 @@ + <message> + <location filename="../diagnosis_group_widget.cpp" line="61"/> + <source>Scanned %1 items</source> +- <translation type="unfinished"></translation> ++ <translation>Đã quét%1 mục</translation> + </message> + </context> + <context> +@@ -241,42 +241,42 @@ + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="36"/> + <source>Please contact technical service</source> +- <translation type="unfinished"></translation> ++ <translation>Vui lòng liên hệ với dịch vụ kỹ thuật</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="40"/> + <source>Go clean up</source> +- <translation type="unfinished"></translation> ++ <translation>Đi dọn dẹp</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="79"/> + <source>Diagnosising...</source> +- <translation type="unfinished"></translation> ++ <translation>Chẩn đoán...</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="84"/> + <source>Normal</source> +- <translation type="unfinished"></translation> ++ <translation>Bình thường</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="89"/> + <source>Exception</source> +- <translation type="unfinished"></translation> ++ <translation>Ngoại lệ</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="94"/> + <source>Repairing...</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa...</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="99"/> + <source>Fixed</source> +- <translation type="unfinished"></translation> ++ <translation>Cố định</translation> + </message> + <message> + <location filename="../diagnosis_subentry_widget.cpp" line="104"/> + <source>Repair failed</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa không thành công</translation> + </message> + </context> + <context> +@@ -284,32 +284,32 @@ + <message> + <location filename="../error_entry_widget.cpp" line="32"/> + <source>Manual repair</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa thủ công</translation> + </message> + <message> + <location filename="../error_entry_widget.cpp" line="122"/> + <source>Exception</source> +- <translation type="unfinished"></translation> ++ <translation>Ngoại lệ</translation> + </message> + <message> + <location filename="../error_entry_widget.cpp" line="127"/> + <source>Repairing...</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa...</translation> + </message> + <message> + <location filename="../error_entry_widget.cpp" line="132"/> + <source>Fixed</source> +- <translation type="unfinished"></translation> ++ <translation>Cố định</translation> + </message> + <message> + <location filename="../error_entry_widget.cpp" line="199"/> + <source>We currently do not support fixing this issue. Stay tuned!</source> +- <translation type="unfinished"></translation> ++ <translation>Chúng tôi hiện không hỗ trợ khắc phục sự cố này. Hãy theo dõi!</translation> + </message> + <message> + <location filename="../error_entry_widget.cpp" line="207"/> + <source>Fail to create solution.</source> +- <translation type="unfinished"></translation> ++ <translation>Không tạo ra giải pháp.</translation> + </message> + </context> + <context> +@@ -317,22 +317,22 @@ + <message> + <location filename="../fault_diagnosis.cpp" line="148"/> + <source>Fault Diagnosis</source> +- <translation type="unfinished"></translation> ++ <translation>Chẩn đoán lỗi</translation> + </message> + <message> + <location filename="../fault_diagnosis.cpp" line="148"/> + <source>Currently running, please try again after finishing.</source> +- <translation type="unfinished"></translation> ++ <translation>Hiện đang chạy, vui lòng thử lại sau khi hoàn tất.</translation> + </message> + <message> + <location filename="../fault_diagnosis.cpp" line="204"/> + <source>The module is not supported</source> +- <translation type="unfinished"></translation> ++ <translation>Mô-đun không được hỗ trợ</translation> + </message> + <message> + <location filename="../fault_diagnosis.cpp" line="220"/> + <source>The diagnostic type is not supported</source> +- <translation type="unfinished"></translation> ++ <translation>Loại chẩn đoán không được hỗ trợ</translation> + </message> + </context> + <context> +@@ -340,108 +340,108 @@ + <message> + <location filename="../home_page_widget.cpp" line="82"/> + <source>One click troubleshooting of computer malfunctions</source> +- <translation type="unfinished"></translation> ++ <translation>Khắc phục sự cố máy tính bằng một cú nhấp chuột</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="84"/> + <source>Quick detection and repair of fault issues, safeguarding the health of your computer</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện và sửa chữa nhanh các sự cố lỗi, bảo vệ sức khỏe máy tính của bạn</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="132"/> + <source>Network detection</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện mạng</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="91"/> + <location filename="../home_page_widget.cpp" line="245"/> + <source>One click detection</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện một cú nhấp chuột</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="133"/> + <source>Troubleshooting issues with inablilty to access the internet</source> +- <translation type="unfinished"></translation> ++ <translation>Khắc phục sự cố về truy cập internet không đầy đủ</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="144"/> + <source>Application detection</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện ứng dụng</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="145"/> + <source>Application caching and permission settings</source> +- <translation type="unfinished"></translation> ++ <translation>Cài đặt quyền và bộ nhớ đệm ứng dụng</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="138"/> + <source>System components and performance detection</source> +- <translation type="unfinished"></translation> ++ <translation>Các thành phần hệ thống và phát hiện hiệu suất</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="139"/> + <source>Resolve hardware health and system performance issues</source> +- <translation type="unfinished"></translation> ++ <translation>Giải quyết các vấn đề về tình trạng phần cứng và hiệu suất hệ thống</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="150"/> + <source>Online system update detection</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện cập nhật hệ thống trực tuyến</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="151"/> + <source>Resolve issues encountered during updates and upgrades</source> +- <translation type="unfinished"></translation> ++ <translation>Giải quyết các sự cố gặp phải trong quá trình cập nhật và nâng cấp</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="156"/> + <source>Software store detection</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện cửa hàng phần mềm</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="157"/> + <source>Resolve issues encountered in software stores</source> +- <translation type="unfinished"></translation> ++ <translation>Giải quyết các vấn đề gặp phải trong cửa hàng phần mềm</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="162"/> + <source>System disk availability detection</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện tính khả dụng của ổ đĩa hệ thống</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="163"/> + <source>Check the health status of the disk</source> +- <translation type="unfinished"></translation> ++ <translation>Kiểm tra trạng thái tình trạng của ổ đĩa</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="168"/> + <source>Wired network detection</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện mạng có dây</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="169"/> + <source>Troubleshooting the issue of not being able to access the internet</source> +- <translation type="unfinished"></translation> ++ <translation>Khắc phục sự cố không thể truy cập internet</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="174"/> + <source>Wireless network detection</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện mạng không dây</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="175"/> + <source>Troubleshooting wireless network anomalies</source> +- <translation type="unfinished"></translation> ++ <translation>Khắc phục sự cố bất thường mạng không dây</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="203"/> + <source>Internal network detection</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện mạng nội bộ</translation> + </message> + <message> + <location filename="../home_page_widget.cpp" line="249"/> + <source>Preparing...</source> +- <translation type="unfinished"></translation> ++ <translation>Chuẩn bị...</translation> + </message> + </context> + <context> +@@ -450,64 +450,64 @@ + <location filename="../mainwindow.cpp" line="98"/> + <location filename="../mainwindow.cpp" line="1826"/> + <source>Cancel</source> +- <translation type="unfinished"></translation> ++ <translation>Hủy</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="285"/> + <source>Detecting...</source> +- <translation type="unfinished"></translation> ++ <translation>Phát...</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="328"/> + <source>No issues fount</source> +- <translation type="unfinished"></translation> ++ <translation>Không có vấn đề gì</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="317"/> + <location filename="../mainwindow.cpp" line="329"/> + <source>Rediagnosis</source> +- <translation type="unfinished"></translation> ++ <translation>Chẩn đoán lại</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="238"/> + <source>Update detection</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện bản cập nhật</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="241"/> + <source>Application detection</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện ứng dụng</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="297"/> + <location filename="../mainwindow.cpp" line="361"/> + <source>Canceling in progress...</source> +- <translation type="unfinished"></translation> ++ <translation>Đang hủy bỏ...</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="309"/> + <source>Detection interruption, no issues found</source> +- <translation type="unfinished"></translation> ++ <translation>Gián đoạn phát hiện, không tìm thấy sự cố nào</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="312"/> + <source>Detected interruption and found %1 issues</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện gián đoạn và tìm thấy %1 sự cố</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="334"/> + <source>Found %1 issues</source> +- <translation type="unfinished"></translation> ++ <translation>Đã tìm thấy %1 vấn đề</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="336"/> + <source>One click repair</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa bằng một cú nhấp chuột</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="350"/> + <source>Repairing...</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa...</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="373"/> +@@ -515,12 +515,12 @@ + <location filename="../mainwindow.cpp" line="805"/> + <location filename="../mainwindow.cpp" line="1499"/> + <source>Repair failed</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa không thành công</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="374"/> + <source>Repair</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="378"/> +@@ -528,88 +528,88 @@ + <location filename="../mainwindow.cpp" line="801"/> + <location filename="../mainwindow.cpp" line="1494"/> + <source>Repair successful</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa thành công</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="425"/> + <source>%1 items have been tested, no issues found</source> +- <translation type="unfinished"></translation> ++ <translation>%1 mặt hàng đã được kiểm tra, không tìm thấy vấn đề gì</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="427"/> + <source>%1 items have been tested and %2 issues have been found</source> +- <translation type="unfinished"></translation> ++ <translation>%1 mục đã được thử nghiệm và %2 sự cố đã được tìm thấy</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="434"/> + <source>I suggest you conduct a complete inspection again</source> +- <translation type="unfinished"></translation> ++ <translation>Tôi đề nghị bạn tiến hành kiểm tra lại toàn bộ</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="436"/> + <source>Please repair and retest</source> +- <translation type="unfinished"></translation> ++ <translation>Vui lòng sửa chữa và kiểm tra lại</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="441"/> + <source>Please continue to maintain and regularly undergo physical examinations</source> +- <translation type="unfinished"></translation> ++ <translation>Vui lòng tiếp tục duy trì và thường xuyên khám sức khỏe</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="443"/> + <source>The scan has been completed. if there are any issues, please handle them as soon as possible</source> +- <translation type="unfinished"></translation> ++ <translation>Quá trình quét đã hoàn tất. Nếu có bất kỳ vấn đề nào, vui lòng xử lý chúng càng sớm càng tốt</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="447"/> + <source>Please wait for the repair to complete</source> +- <translation type="unfinished"></translation> ++ <translation>Vui lòng đợi quá trình sửa chữa hoàn tất</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="455"/> + <source>There is still %1 issue that has not been successfully fixed. it is recommended to manually fix it</source> +- <translation type="unfinished"></translation> ++ <translation>Vẫn còn sự cố %1 chưa được khắc phục thành công. Nên sửa chữa thủ công</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="457"/> + <source>Regular physical examinations can effectively improve the user experience</source> +- <translation type="unfinished"></translation> ++ <translation>Khám sức khỏe thường xuyên có thể cải thiện hiệu quả trải nghiệm người dùng</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="968"/> + <location filename="../mainwindow.cpp" line="987"/> + <source>Backend detection exception</source> +- <translation type="unfinished"></translation> ++ <translation>Ngoại lệ phát hiện phụ trợ</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="1243"/> + <source>Please select the item that needs to be repaired.</source> +- <translation type="unfinished"></translation> ++ <translation>Vui lòng chọn mặt hàng cần sửa chữa.</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="1488"/> + <source>The issue has been successfully fixed, please try updating again</source> +- <translation type="unfinished"></translation> ++ <translation>Sự cố đã được khắc phục thành công, vui lòng thử cập nhật lại</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="1491"/> + <source>The issue has been successfully fixed, please reinstall the software package again</source> +- <translation type="unfinished"></translation> ++ <translation>Sự cố đã được khắc phục thành công, vui lòng cài đặt lại gói phần mềm</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="1825"/> + <source>Fault diagnosis is running, are you sure you want to exit?</source> +- <translation type="unfinished"></translation> ++ <translation>Chẩn đoán lỗi đang chạy, bạn có chắc muốn thoát không?</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="1827"/> + <source>Ok</source> +- <translation type="unfinished"></translation> ++ <translation>Ok</translation> + </message> + <message> + <location filename="../mainwindow.cpp" line="99"/> + <source>Return</source> +- <translation type="unfinished"></translation> ++ <translation>Về</translation> + </message> + </context> + <context> +@@ -617,142 +617,142 @@ + <message> + <location filename="../repair_specific_error_widget.cpp" line="86"/> + <source>Detecting and attempting to fix the issue</source> +- <translation type="unfinished"></translation> ++ <translation>Phát hiện và cố gắng khắc phục sự cố</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="95"/> + <source>Cancel</source> +- <translation type="unfinished"></translation> ++ <translation>Hủy</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="219"/> + <source>Solution suggestions</source> +- <translation type="unfinished"></translation> ++ <translation>Đề xuất giải pháp</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="240"/> + <location filename="../repair_specific_error_widget.cpp" line="548"/> + <source>Report issues</source> +- <translation type="unfinished"></translation> ++ <translation>Báo cáo vấn đề</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="261"/> + <location filename="../repair_specific_error_widget.cpp" line="392"/> + <source>Run</source> +- <translation type="unfinished"></translation> ++ <translation>Chạy</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="263"/> + <location filename="../repair_specific_error_widget.cpp" line="394"/> + <source>Running...</source> +- <translation type="unfinished"></translation> ++ <translation>Chạy...</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="235"/> + <source>If the above suggestions still fail to solve the problem, you may need to report the issue to the system maintenance personnel.</source> +- <translation type="unfinished"></translation> ++ <translation>Nếu các đề xuất trên vẫn không giải quyết được sự cố, bạn có thể cần báo cáo sự cố cho nhân viên bảo trì hệ thống.</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="237"/> + <source>To attempt to resolve the issue, you may need to report the issue to the system maintenance personnel.</source> +- <translation type="unfinished"></translation> ++ <translation>Để cố gắng giải quyết sự cố, bạn có thể cần báo cáo sự cố cho nhân viên bảo trì hệ thống.</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="259"/> + <source>The network is normal but the update cannot be completed, allow the system to run automated scripts to attempt to fix the problem.</source> +- <translation type="unfinished"></translation> ++ <translation>Mạng bình thường nhưng không thể hoàn tất cập nhật, cho phép hệ thống chạy các tập lệnh tự động để cố gắng khắc phục sự cố.</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="291"/> + <source>Please check if the the network connection is normal and update again.</source> +- <translation type="unfinished"></translation> ++ <translation>Vui lòng kiểm tra xem kết nối mạng có bình thường không và cập nhật lại.</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="298"/> + <source>Network normal</source> +- <translation type="unfinished"></translation> ++ <translation>Mạng bình thường</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="302"/> + <source>Network exception</source> +- <translation type="unfinished"></translation> ++ <translation>Ngoại lệ mạng</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="325"/> + <source>Access</source> +- <translation type="unfinished"></translation> ++ <translation>Truy cập</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="327"/> + <source>KylinOS official website</source> +- <translation type="unfinished"></translation> ++ <translation>Trang web chính thức của KylinOS</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="332"/> + <source>view common problems and solutions. For more help, please scan the QR code below: </source> +- <translation type="unfinished"></translation> ++ <translation>Xem các vấn đề và giải pháp thường gặp. Để được trợ giúp thêm, vui lòng quét mã QR bên dưới: </translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="369"/> + <source>The system will run automated scripts to try to solve the problem, which will uninstall some software packages or lower the version of some software packages (</source> +- <translation type="unfinished"></translation> ++ <translation>Hệ thống sẽ chạy các tập lệnh tự động để cố gắng giải quyết vấn đề, điều này sẽ gỡ cài đặt một số gói phần mềm hoặc hạ thấp phiên bản của một số gói phần mềm (</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="372"/> + <source>click to view details</source> +- <translation type="unfinished"></translation> ++ <translation>Bấm để xem chi tiết</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="374"/> + <source>).</source> +- <translation type="unfinished"></translation> ++ <translation>).</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="384"/> + <source>Is it running?</source> +- <translation type="unfinished"></translation> ++ <translation>Nó có đang chạy không?</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="429"/> + <source>Your disk space is insufficient, please click the button on the right to clean it up.</source> +- <translation type="unfinished"></translation> ++ <translation>Dung lượng đĩa của bạn không đủ, vui lòng nhấp vào nút bên phải để dọn dẹp.</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="431"/> + <source>Clear</source> +- <translation type="unfinished"></translation> ++ <translation>Trong</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="450"/> + <source>Return</source> +- <translation type="unfinished"></translation> ++ <translation>Về</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="491"/> + <location filename="../repair_specific_error_widget.cpp" line="508"/> + <source>Repair successful</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa thành công</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="494"/> + <location filename="../repair_specific_error_widget.cpp" line="511"/> + <source>Repair failed</source> +- <translation type="unfinished"></translation> ++ <translation>Sửa chữa không thành công</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="524"/> + <source>Reporting...</source> +- <translation type="unfinished"></translation> ++ <translation>Báo cáo...</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="552"/> + <source>Successfully reported</source> +- <translation type="unfinished"></translation> ++ <translation>Báo cáo thành công</translation> + </message> + <message> + <location filename="../repair_specific_error_widget.cpp" line="554"/> + <source>Report failed</source> +- <translation type="unfinished"></translation> ++ <translation>Báo cáo không thành công</translation> + </message> + </context> + </TS> +diff --git a/plugins/junk_clean/translations/junk-clean_vi.ts b/plugins/junk_clean/translations/junk-clean_vi.ts +new file mode 100644 +index 0000000..b64c68a +--- /dev/null ++++ b/plugins/junk_clean/translations/junk-clean_vi.ts +@@ -0,0 +1,428 @@ ++<?xml version="1.0" encoding="utf-8"?> ++<!DOCTYPE TS> ++<TS version="2.1" language="vi"> ++<context> ++ <name>QObject</name> ++ <message> ++ <location filename="../junk_clean.cpp" line="52"/> ++ <source>JunkClean</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::BootPartitionCleaner</name> ++ <message> ++ <location filename="../cleaner/boot_partition_cleaner.cpp" line="50"/> ++ <source>boot partition</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/boot_partition_cleaner.cpp" line="54"/> ++ <source>Boot partition space cleaning</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::CleanUpEntryWidget</name> ++ <message> ++ <location filename="../clean_up_entry_widget.cpp" line="86"/> ++ <source>%1 in total, clean carefully</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_entry_widget.cpp" line="95"/> ++ <source>%1 entries in total, carefully clean up</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_entry_widget.cpp" line="98"/> ++ <source>%1 entries</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_entry_widget.cpp" line="111"/> ++ <source>Scanning...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_entry_widget.cpp" line="115"/> ++ <source>Very clean</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::CleanUpFinishWidget</name> ++ <message> ++ <location filename="../clean_up_finish_widget.cpp" line="66"/> ++ <source>Complete</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_finish_widget.cpp" line="76"/> ++ <source>Deep clean</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_finish_widget.cpp" line="107"/> ++ <source>Successfully cleaned up %1 of garbage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_finish_widget.cpp" line="111"/> ++ <source>Cleaning files: %1 entries</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_finish_widget.cpp" line="115"/> ++ <source>Cleaning time: %1 second</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::CleanUpGroupWidget</name> ++ <message> ++ <location filename="../clean_up_group_widget.cpp" line="61"/> ++ <source>%1 items of %2 in total, %3 selected</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_group_widget.cpp" line="67"/> ++ <source>%1 items with %2 traces, %3 selected</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_group_widget.cpp" line="91"/> ++ <source>System junk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_group_widget.cpp" line="93"/> ++ <source>Internet junk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_group_widget.cpp" line="95"/> ++ <source>Usage traces</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../clean_up_group_widget.cpp" line="97"/> ++ <source>Other</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::CommandLineTraceCleaner</name> ++ <message> ++ <location filename="../cleaner/command_line_trace_cleaner.cpp" line="40"/> ++ <source>Command line history</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/command_line_trace_cleaner.cpp" line="44"/> ++ <source>Historical traces generated by using the command line</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::EnterpriseWechatCleaner</name> ++ <message> ++ <location filename="../cleaner/enterprise_wechat_cleaner.cpp" line="28"/> ++ <source>Enterprise Wechat</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/enterprise_wechat_cleaner.cpp" line="32"/> ++ <source>Clean up files received on enterprise wechat</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::FileTraceCleaner</name> ++ <message> ++ <location filename="../cleaner/file_trace_cleaner.cpp" line="39"/> ++ <source>File recording</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/file_trace_cleaner.cpp" line="43"/> ++ <source>Recently opened file records</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::Homepage</name> ++ <message> ++ <location filename="../homepage.cpp" line="32"/> ++ <source>One click cleaning of computer junk</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="34"/> ++ <source>Regular cleaning makes your computer light, fast, and safe</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="52"/> ++ <source>System garbage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="54"/> ++ <source>Clean up the garbage generated during the daily use of the system</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="71"/> ++ <source>Interface garbage</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="73"/> ++ <source>Cleaning browser generated cache files and login information</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="90"/> ++ <source>Usage traces</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="92"/> ++ <source>Clean up computer usage traces and protect privacy and security</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../homepage.cpp" line="110"/> ++ <source>Start scan</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::InstallationPackageCleaner</name> ++ <message> ++ <location filename="../cleaner/installation_package_cleaner.cpp" line="55"/> ++ <source>Installation package cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/installation_package_cleaner.cpp" line="59"/> ++ <source>Garbage files generated during software installation</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::JunkEntryWidget</name> ++ <message> ++ <location filename="../junk_entry_widget.cpp" line="28"/> ++ <source>0 entries</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../junk_entry_widget.cpp" line="30"/> ++ <source>0 B</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../junk_entry_widget.cpp" line="75"/> ++ <source>%1 entries</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::LogCleaner</name> ++ <message> ++ <location filename="../cleaner/log_cleaner.cpp" line="68"/> ++ <source>Log file</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/log_cleaner.cpp" line="72"/> ++ <source>Logs generated by software operation</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::MainWindow</name> ++ <message> ++ <location filename="../mainwindow.cpp" line="66"/> ++ <source>Return</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="68"/> ++ <source>Clean</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="204"/> ++ <source>Scanning in progress...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="208"/> ++ <source>Cancel scan</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="214"/> ++ <location filename="../mainwindow.cpp" line="222"/> ++ <source>Canceling in progress</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="252"/> ++ <source>No cleanable files found</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="254"/> ++ <source>Found %1 of cleanable files in total</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="256"/> ++ <source>Selected %1 of garbage and %2 usage traces</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="277"/> ++ <source>%1 garbage cleaning in progress...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="279"/> ++ <source>Cleaning up %1 traces...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="287"/> ++ <source>Canecl cleanup</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="336"/> ++ <source>Scanning for garbage...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="375"/> ++ <source>Scanning: %1</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="788"/> ++ <source>Cleaning up garbage...</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../mainwindow.cpp" line="847"/> ++ <source>Cleaning up: %1</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::QQCleaner</name> ++ <message> ++ <location filename="../cleaner/qq_cleaner.cpp" line="75"/> ++ <source>QQ</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/qq_cleaner.cpp" line="79"/> ++ <source>Temporary data generated using QQ</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::QaxBrowserCleaner</name> ++ <message> ++ <location filename="../cleaner/qax_browser_cleaner.cpp" line="39"/> ++ <source>QaxBrowser</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/qax_browser_cleaner.cpp" line="43"/> ++ <source>Some web pages or resources cached by the browser when loading pages</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::QaxBrowserCookiesCleaner</name> ++ <message> ++ <location filename="../cleaner/qax_browser_cookies_cleaner.cpp" line="39"/> ++ <source>Cookies information</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/qax_browser_cookies_cleaner.cpp" line="43"/> ++ <source>Browser saved login information</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::ResidualCleaner</name> ++ <message> ++ <location filename="../cleaner/residual_cleaner.cpp" line="53"/> ++ <source>Uninstall residual</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/residual_cleaner.cpp" line="57"/> ++ <source>Residual configuration files and cache after software uninstallation</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::SystemMemoryCleaner</name> ++ <message> ++ <location filename="../cleaner/system_memory_cleaner.cpp" line="33"/> ++ <source>System cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/system_memory_cleaner.cpp" line="37"/> ++ <source>Release system memory</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::ThumbnailCleaner</name> ++ <message> ++ <location filename="../cleaner/thumbnail_cleaner.cpp" line="40"/> ++ <source>Thumbnail cache</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/thumbnail_cleaner.cpp" line="44"/> ++ <source>After cleaning, viewing thumbnails will slow dowm. Please clean as needed</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::TrashCleaner</name> ++ <message> ++ <location filename="../cleaner/trash_cleaner.cpp" line="26"/> ++ <source>Trash</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/trash_cleaner.cpp" line="30"/> ++ <source>Before cleaning, please confirm that all files in the recycle bin are removable</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++<context> ++ <name>junk_clean::WechatCleaner</name> ++ <message> ++ <location filename="../cleaner/wechat_cleaner.cpp" line="153"/> ++ <source>Wechat</source> ++ <translation type="unfinished"></translation> ++ </message> ++ <message> ++ <location filename="../cleaner/wechat_cleaner.cpp" line="157"/> ++ <source>Clean up files received on wechat</source> ++ <translation type="unfinished"></translation> ++ </message> ++</context> ++</TS> diff -Nru kylin-os-manager-2.0.0/debian/patches/series kylin-os-manager-2.0.0/debian/patches/series --- kylin-os-manager-2.0.0/debian/patches/series 2025-01-23 11:01:58.000000000 +0800 +++ kylin-os-manager-2.0.0/debian/patches/series 2025-02-26 16:59:14.000000000 +0800 @@ -115,3 +115,18 @@ 0115-98-fix.patch 0116-99.patch 0117-100-release-2.0.0-56.patch +0118-Added-translation-using-Weblate-Arabic.patch +0119-Added-translation-using-Weblate-Arabic.patch +0120-Added-translation-using-Weblate-Arabic.patch +0121-Added-translation-using-Weblate-Arabic.patch +0122-Added-translation-using-Weblate-Vietnamese.patch +0123-Added-translation-using-Weblate-Vietnamese.patch +0124-Added-translation-using-Weblate-Vietnamese.patch +0125-Added-translation-using-Weblate-Vietnamese.patch +0126-101-fix-2.0.0-58.patch +0127-Added-translation-using-Weblate-Arabic.patch +0128-Translated-using-Weblate-Vietnamese.patch +0129-Translated-using-Weblate-Vietnamese.patch +0130-Translated-using-Weblate-Vietnamese.patch +0131-Added-translation-using-Weblate-Arabic.patch +0132-102-fix.patch