chengxr 1 year ago
parent
commit
c97f4dbad6

+ 2 - 0
QFD/QFD.pro

@@ -70,6 +70,7 @@ SOURCES += \
     view/MainWindow.cpp \
     view/ProjectView.cpp \
     view/SettingView.cpp \
+    view/UserView.cpp \
     widgets/AppInfoWidget.cpp \
     widgets/CreateProjWidget.cpp \
     widgets/CustomTitleBar.cpp \
@@ -93,6 +94,7 @@ HEADERS += \
     view/MainWindow.h \
     view/ProjectView.h \
     view/SettingView.h \
+    view/UserView.h \
     widgets/AppInfoWidget.h \
     widgets/CreateProjWidget.h \
     widgets/CustomTitleBar.h \

+ 11 - 0
QFD/main.cpp

@@ -3,6 +3,10 @@
 
 #include <QApplication>
 
+#include <QTranslator>
+
+#include <QDebug>
+
 int main(int argc, char *argv[])
 {
     QApplication a(argc, argv);
@@ -13,6 +17,13 @@ int main(int argc, char *argv[])
     //    LoginView l;
     //    l.show();
 
+    QTranslator *translator = new QTranslator();
+    translator->load(":/resource/i18n/qfluentwidgets_zh.qm");
+    QCoreApplication::installTranslator(translator);
+
+    QString ok = QString(QObject::tr("OK"));
+    qDebug() << __FUNCTION__ << __LINE__ << ok;
+
     MainWindow m;
     m.show();
 

+ 8 - 0
QFD/resource.qrc

@@ -364,5 +364,13 @@
         <file>resource/svg/User_white.svg</file>
         <file>resource/svg/Detail_black.svg</file>
         <file>resource/svg/Detail_white.svg</file>
+        <file>resource/i18n/gallery_hk.qm</file>
+        <file>resource/i18n/gallery_hk.ts</file>
+        <file>resource/i18n/gallery_zh.qm</file>
+        <file>resource/i18n/gallery_zh.ts</file>
+        <file>resource/i18n/qfluentwidgets_hk.qm</file>
+        <file>resource/i18n/qfluentwidgets_hk.ts</file>
+        <file>resource/i18n/qfluentwidgets_zh.qm</file>
+        <file>resource/i18n/qfluentwidgets_zh.ts</file>
     </qresource>
 </RCC>

BIN
QFD/resource/i18n/gallery_hk.qm


+ 1016 - 0
QFD/resource/i18n/gallery_hk.ts

@@ -0,0 +1,1016 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="zh_CN" sourcelanguage="en_US">
+<context>
+    <name>BasicInputInterface</name>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="23"/>
+        <source>A simple button with text content</source>
+        <translation>帶有文本的簡單按鈕</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="33"/>
+        <source>A button with graphical content</source>
+        <translation>帶有圖標的按鈕</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="40"/>
+        <source>Accent style applied to button</source>
+        <translation>使用主題色的按鈕</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="47"/>
+        <source>A hyperlink button that navigates to a URI</source>
+        <translation>導航到一個超鏈接的按鈕</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="54"/>
+        <source>A 2-state CheckBox</source>
+        <translation>雙態複選框</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="63"/>
+        <source>A 3-state CheckBox</source>
+        <translation>三態複選框</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="74"/>
+        <source>A ComboBox with items</source>
+        <translation>下拉框</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="112"/>
+        <source>A group of RadioButton controls in a button group</source>
+        <translation>單選按鈕</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="123"/>
+        <source>A simple horizontal slider</source>
+        <translation>水平滑動條</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="132"/>
+        <source>A simple switch button</source>
+        <translation>開關按鈕</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="142"/>
+        <source>Off</source>
+        <translation>關</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="140"/>
+        <source>On</source>
+        <translation>開</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="23"/>
+        <source>Standard push button</source>
+        <translation>標準按鈕</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="40"/>
+        <source>Accent style button</source>
+        <translation>主題色按鈕</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="54"/>
+        <source>Two-state CheckBox</source>
+        <translation>雙態複選框</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="61"/>
+        <source>Three-state CheckBox</source>
+        <translation>三態複選框</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="47"/>
+        <source>GitHub home page</source>
+        <translation>GItHub 主頁</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="101"/>
+        <source>Star Platinum</source>
+        <translation>白金之星</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="102"/>
+        <source>Crazy Diamond</source>
+        <translation>瘋狂鑽石</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="103"/>
+        <source>Soft and Wet</source>
+        <translation>軟又溼</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="82"/>
+        <source>Gold Experience</source>
+        <translation>黃金體驗</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="82"/>
+        <source>Sticky Fingers</source>
+        <translation>鋼鏈手指</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="88"/>
+        <source>Choose your stand</source>
+        <translation>選擇你的替身</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="90"/>
+        <source>An editable ComboBox</source>
+        <translation>可編輯的下拉框</translation>
+    </message>
+</context>
+<context>
+    <name>DateTimeInterface</name>
+    <message>
+        <location filename="../../view/date_time_interface.py" line="21"/>
+        <source>A simple DatePicker</source>
+        <translation>日期選擇器</translation>
+    </message>
+    <message>
+        <location filename="../../view/date_time_interface.py" line="27"/>
+        <source>A DatePicker in another format</source>
+        <translation>另一種格式的日期選擇器</translation>
+    </message>
+    <message>
+        <location filename="../../view/date_time_interface.py" line="34"/>
+        <source>A simple TimePicker</source>
+        <translation>時間選擇器</translation>
+    </message>
+    <message>
+        <location filename="../../view/date_time_interface.py" line="41"/>
+        <source>A TimePicker using a 24-hour clock</source>
+        <translation>24 小時製的時間選擇器</translation>
+    </message>
+    <message>
+        <location filename="../../view/date_time_interface.py" line="48"/>
+        <source>A TimePicker with seconds column</source>
+        <translation>顯示秒的時間選擇器</translation>
+    </message>
+</context>
+<context>
+    <name>DialogInterface</name>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="36"/>
+        <source>Show dialog</source>
+        <translation>顯示對話框</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="22"/>
+        <source>A frameless message box</source>
+        <translation>無邊框對話框</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="30"/>
+        <source>A message box with mask</source>
+        <translation>帶遮罩的對話框</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="38"/>
+        <source>A color dialog</source>
+        <translation>顏色對話框</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="45"/>
+        <source>This is a frameless message dialog</source>
+        <translation>這是一個無邊框對話框</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="56"/>
+        <source>If the content of the message box is veeeeeeeeeeeeeeeeeeeeeeeeeery long, it will automatically wrap like this.</source>
+        <translation>一生消えない傷でいいな,絆創膏の様にいつも包んでよ。貴方のそばでわがまま言いたいな,一分一秒刻み貴方を知り,あたしをあげる~</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="65"/>
+        <source>Choose color</source>
+        <translation>選擇顏色</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="55"/>
+        <source>This is a message dialog with mask</source>
+        <translation>這是一個帶遮罩的對話框</translation>
+    </message>
+</context>
+<context>
+    <name>ExampleCard</name>
+    <message>
+        <location filename="../../view/gallery_interface.py" line="87"/>
+        <source>Source code</source>
+        <translation>源代碼</translation>
+    </message>
+</context>
+<context>
+    <name>IconCardView</name>
+    <message>
+        <location filename="../../view/icon_interface.py" line="123"/>
+        <source>Fluent Icons Library</source>
+        <translation>流暢圖標庫</translation>
+    </message>
+</context>
+<context>
+    <name>IconInfoPanel</name>
+    <message>
+        <location filename="../../view/icon_interface.py" line="81"/>
+        <source>Icon name</source>
+        <translation>圖標名字</translation>
+    </message>
+    <message>
+        <location filename="../../view/icon_interface.py" line="83"/>
+        <source>Enum member</source>
+        <translation>枚舉成員</translation>
+    </message>
+</context>
+<context>
+    <name>LayoutInterface</name>
+    <message>
+        <location filename="../../view/layout_interface.py" line="20"/>
+        <source>Flow layout without animation</source>
+        <translation>不帶動畫效果的流式佈局</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="27"/>
+        <source>Flow layout with animation</source>
+        <translation>帶有動畫效果的流式佈局</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="36"/>
+        <source>Star Platinum</source>
+        <translation>白金之星</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="36"/>
+        <source>Hierophant Green</source>
+        <translation>法皇之綠</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="37"/>
+        <source>Silver Chariot</source>
+        <translation>銀色戰車</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="37"/>
+        <source>Crazy diamond</source>
+        <translation>瘋狂鑽石</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="38"/>
+        <source>Heaven&apos;s Door</source>
+        <translation>黑蚊子多</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="38"/>
+        <source>Killer Queen</source>
+        <translation>殺手皇後💀</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="39"/>
+        <source>Gold Experience</source>
+        <translation>黃金體驗</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="39"/>
+        <source>Sticky Fingers</source>
+        <translation>鋼鏈手指</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="40"/>
+        <source>Sex Pistols</source>
+        <translation>性感手槍</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="40"/>
+        <source>Dirty Deeds Done Dirt Cheap</source>
+        <translation>D4C</translation>
+    </message>
+</context>
+<context>
+    <name>LineEdit</name>
+    <message>
+        <location filename="../../view/icon_interface.py" line="21"/>
+        <source>Search icons</source>
+        <translation>蒐索圖標</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="../../view/main_window.py" line="118"/>
+        <source>Home</source>
+        <translation>主頁</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="124"/>
+        <source>Basic input</source>
+        <translation>基本輸入</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="128"/>
+        <source>Dialogs</source>
+        <translation>對話框</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="130"/>
+        <source>Layout</source>
+        <translation>佈局</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="134"/>
+        <source>Menus</source>
+        <translation>菜單</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="132"/>
+        <source>Material</source>
+        <translation>材料</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="136"/>
+        <source>Scrolling</source>
+        <translation>滾動</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="138"/>
+        <source>Status &amp; info</source>
+        <translation>狀態和信息</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="198"/>
+        <source>This is a help message</source>
+        <translation>一條友善的提示</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="198"/>
+        <source>You clicked a customized navigation widget. You can add more custom widgets by calling `NavigationInterface.addWidget()` 😉</source>
+        <translation>你點擊了一個自定義的導航項。你可以通過 `NavigationInterface.addWidget()` 添加更多的自定義導航項。</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="140"/>
+        <source>Text</source>
+        <translation>文本</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="120"/>
+        <source>Icons</source>
+        <translation>圖標</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="142"/>
+        <source>View</source>
+        <translation>視圖</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="152"/>
+        <source>Settings</source>
+        <translation>設置</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="126"/>
+        <source>Date &amp; time</source>
+        <translation>日期和時間</translation>
+    </message>
+</context>
+<context>
+    <name>MaterialInterface</name>
+    <message>
+        <location filename="../../view/material_interface.py" line="29"/>
+        <source>Acrylic label</source>
+        <translation>亞克力標籤</translation>
+    </message>
+</context>
+<context>
+    <name>MenuInterface</name>
+    <message>
+        <location filename="../../view/menu_interface.py" line="26"/>
+        <source>Rounded corners menu</source>
+        <translation>圓角菜單</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="22"/>
+        <source>Show menu</source>
+        <translation>顯示菜單</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="36"/>
+        <source>Copy</source>
+        <translation>複製</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="37"/>
+        <source>Cut</source>
+        <translation>剪切</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="42"/>
+        <source>Video</source>
+        <translation>視頻</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="42"/>
+        <source>Music</source>
+        <translation>音樂</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="49"/>
+        <source>Paste</source>
+        <translation>粘貼</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="49"/>
+        <source>Undo</source>
+        <translation>撤回</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="56"/>
+        <source>Select all</source>
+        <translation>全選</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="59"/>
+        <source>Settings</source>
+        <translation>設置</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="61"/>
+        <source>Help</source>
+        <translation>幫助</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="61"/>
+        <source>Feedback</source>
+        <translation>反饋</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="40"/>
+        <source>Add to</source>
+        <translation>添加到</translation>
+    </message>
+</context>
+<context>
+    <name>ScrollInterface</name>
+    <message>
+        <location filename="../../view/scroll_interface.py" line="33"/>
+        <source>Smooth scroll area</source>
+        <translation>平滑滾動區域</translation>
+    </message>
+    <message>
+        <location filename="../../view/scroll_interface.py" line="39"/>
+        <source>Chitanda Eru is too hot 🥵</source>
+        <translation>回眸一笑百媚生,六宮粉黛無顏色 🥵</translation>
+    </message>
+    <message>
+        <location filename="../../view/scroll_interface.py" line="50"/>
+        <source>Smooth scroll area implemented by animation</source>
+        <translation>使用動畫實現的平滑滾動區域</translation>
+    </message>
+    <message>
+        <location filename="../../view/scroll_interface.py" line="56"/>
+        <source>Chitanda Eru is so hot 🥵🥵</source>
+        <translation>春寒賜浴華清池,溫泉水滑洗凝脂 🥵🥵</translation>
+    </message>
+</context>
+<context>
+    <name>SettingInterface</name>
+    <message>
+        <location filename="../../view/setting_interface.py" line="33"/>
+        <source>Settings</source>
+        <translation>設置</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="36"/>
+        <source>Music on this PC</source>
+        <translation>此PC上的音樂</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="38"/>
+        <source>Local music library</source>
+        <translation>本地音樂庫</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="201"/>
+        <source>Choose folder</source>
+        <translation>選擇文件夾</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="45"/>
+        <source>Download directory</source>
+        <translation>下載目錄</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="54"/>
+        <source>Personalization</source>
+        <translation>個性化</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="56"/>
+        <source>Application theme</source>
+        <translation>應用主題</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="56"/>
+        <source>Change the appearance of your application</source>
+        <translation>調整你的應用的外觀</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="56"/>
+        <source>Light</source>
+        <translation>淺色</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="56"/>
+        <source>Dark</source>
+        <translation>深色</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="85"/>
+        <source>Use system setting</source>
+        <translation>跟隨繫統設置</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="67"/>
+        <source>Theme color</source>
+        <translation>主題色</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="67"/>
+        <source>Change the theme color of you application</source>
+        <translation>調整你的應用的主題色</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="74"/>
+        <source>Interface zoom</source>
+        <translation>界麵縮放</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="74"/>
+        <source>Change the size of widgets and fonts</source>
+        <translation>調整小部件和字體的大小</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="85"/>
+        <source>Language</source>
+        <translation>語言</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="85"/>
+        <source>Set your preferred language for UI</source>
+        <translation>選擇界麵所使用的語言</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="95"/>
+        <source>Material</source>
+        <translation>材料</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="97"/>
+        <source>Acrylic blur radius</source>
+        <translation>亞克力磨砂半徑</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="97"/>
+        <source>The greater the radius, the more blurred the image</source>
+        <translation>磨砂半徑越大,圖像越模糊</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="106"/>
+        <source>Software update</source>
+        <translation>軟件更新</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="108"/>
+        <source>Check for updates when the application starts</source>
+        <translation>在應用程序啟動時檢查更新</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="108"/>
+        <source>The new version will be more stable and have more features</source>
+        <translation>新版本將更加穩定並擁有更多功能(建議啟用此選項)</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="134"/>
+        <source>About</source>
+        <translation>關於</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="118"/>
+        <source>Open help page</source>
+        <translation>打開幫助頁麵</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="118"/>
+        <source>Help</source>
+        <translation>幫助</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="118"/>
+        <source>Discover new features and learn useful tips about PyQt-Fluent-Widgets</source>
+        <translation>髮現新功能並了解有關 PyQt-Fluent-Widgets 的使用技巧</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="127"/>
+        <source>Provide feedback</source>
+        <translation>提供反饋</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="127"/>
+        <source>Help us improve PyQt-Fluent-Widgets by providing feedback</source>
+        <translation>通過提供反饋幫助我們改進 PyQt-Fluent-Widgets</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="134"/>
+        <source>Check update</source>
+        <translation>檢查更新</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="134"/>
+        <source>Copyright</source>
+        <translation>版權所有</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="134"/>
+        <source>Version</source>
+        <translation>當前版本</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="192"/>
+        <source>Configuration takes effect after restart</source>
+        <translation>配置在重啟軟件後生效</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="192"/>
+        <source>Updated successfully</source>
+        <translation>更新成功</translation>
+    </message>
+</context>
+<context>
+    <name>StatusInfoInterface</name>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="37"/>
+        <source>State tool tip</source>
+        <translation>進度提示條</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="47"/>
+        <source>Label with a ToolTip</source>
+        <translation>多看一眼就會爆炸</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="50"/>
+        <source>A label with a ToolTip</source>
+        <translation>帶有工具提示的標籤</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="145"/>
+        <source>Show StateToolTip</source>
+        <translation>顯示進度提示條</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="34"/>
+        <source>Button with a simple ToolTip</source>
+        <translation>帶有工具提示的按鈕</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="36"/>
+        <source>Simple ToolTip</source>
+        <translation>簡單工具提示</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="143"/>
+        <source>The model training is complete!</source>
+        <translation>模型訓練完成啦!</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="149"/>
+        <source>Training model</source>
+        <translation>正在訓練模型</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="149"/>
+        <source>Please wait patiently</source>
+        <translation>心急吃不了熱荳腐,請耐心等待哦~</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="151"/>
+        <source>Hide StateToolTip</source>
+        <translation>隱藏進度提示條</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="57"/>
+        <source>Success</source>
+        <translation>成功</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="67"/>
+        <source>A closable InfoBar</source>
+        <translation>可關閉的消息條</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="75"/>
+        <source>Warning</source>
+        <translation>警告</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="85"/>
+        <source>A closable InfoBar with long message</source>
+        <translation>可關閉的長消息條</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="92"/>
+        <source>GitHub</source>
+        <translation>GitHub</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="92"/>
+        <source>When you look long into an abyss, the abyss looks into you.</source>
+        <translation>當你長時間凝視深淵時,深淵也在凝視你。</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="104"/>
+        <source>An InfoBar with custom icon, background color and widget.</source>
+        <translation>自定義圖標、背景和小部件的消息條</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="135"/>
+        <source>InfoBar with different pop-up locations</source>
+        <translation>不同彈出位置的消息條</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="190"/>
+        <source>No Internet</source>
+        <translation>無網絡連接</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="168"/>
+        <source>Lesson 4</source>
+        <translation>Lesson 4</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="179"/>
+        <source>Lesson 5</source>
+        <translation>Lesson 5</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="74"/>
+        <source>My name is kira yoshikake, 33 years old. Living in the villa area northeast of duwangting, unmarried. I work in Guiyou chain store. Every day I have to work overtime until 8 p.m. to go home. I don&apos;t smoke. The wine is only for a taste. Sleep at 11 p.m. for 8 hours a day. Before I go to bed, I must drink a cup of warm milk, then do 20 minutes of soft exercise, get on the bed, and immediately fall asleep. Never leave fatigue and stress until the next day. Doctors say I&apos;m normal.</source>
+        <translation>我的名字叫吉良吉影,33歲。住在杜王町東北部的別墅區一帶,未婚。我在龜友連鎖店服務。每天都要加班到晚上8點才能回家。我不抽菸,酒僅止於淺嚐。晚上11點睡,每天要睡足8個小時。睡前,我一定喝一盃溫牛奶,然後做20分鐘的柔軟操,上了床,馬上熟睡。一覺到天亮,決不把疲勞和壓力留到第二天。醫生都説我很正常。</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="156"/>
+        <source>Lesson 3</source>
+        <translation>Lesson 3</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="156"/>
+        <source>Believe in the spin, just keep believing!</source>
+        <translation>相信回旋吧,隻管相信就是了!</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="168"/>
+        <source>With respect, let&apos;s advance towards a new stage of the spin.</source>
+        <translation>表達敬意吧,表達出敬意,然後邁向回旋的另一個全新階段!</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="179"/>
+        <source>迂回路を行けば最短ルート。</source>
+        <translation>最短的捷徑就是繞遠路,繞遠路才是我的最短捷徑。</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="190"/>
+        <source>An error message which won&apos;t disappear automatically.</source>
+        <translation>一條不會自動消失的消息。</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="57"/>
+        <source>The Anthem of man is the Anthem of courage.</source>
+        <translation>人類的讚歌就是勇氣的讚歌!</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="102"/>
+        <source>Action</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="113"/>
+        <source>Top right</source>
+        <translation>右上角</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="114"/>
+        <source>Top</source>
+        <translation>頂部居中</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="115"/>
+        <source>Top left</source>
+        <translation>左上角</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="116"/>
+        <source>Bottom right</source>
+        <translation>右下角</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="117"/>
+        <source>Bottom</source>
+        <translation>底部居中</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="118"/>
+        <source>Bottom left</source>
+        <translation>左下角</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="201"/>
+        <source>Lesson 1</source>
+        <translation>Lesson 1</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="201"/>
+        <source>Don&apos;t have any strange expectations of me.</source>
+        <translation>別對我抱有什麼奇怪的期待</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="212"/>
+        <source>Lesson 2</source>
+        <translation>Lesson 2</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="212"/>
+        <source>Don&apos;t let your muscles notice.</source>
+        <translation>不要讓肌肉察覺</translation>
+    </message>
+</context>
+<context>
+    <name>TextInterface</name>
+    <message>
+        <location filename="../../view/text_interface.py" line="21"/>
+        <source>ko no dio da!</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="23"/>
+        <source>A LineEdit with a clear button</source>
+        <translation>帶清空按鈕的 LineEdit</translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="37"/>
+        <source>A DoubleSpinBox with a spin button</source>
+        <translation>帶調節按鈕的 DoubleSpinBox</translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="44"/>
+        <source>A DateEdit with a spin button</source>
+        <translation>帶調節按鈕的 DateEdit</translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="51"/>
+        <source>A TimeEdit with a spin button</source>
+        <translation>帶調節按鈕的 TimeEdit</translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="58"/>
+        <source>A DateTimeEdit with a spin button</source>
+        <translation>帶調節按鈕的 DateTimeEdit</translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="30"/>
+        <source>A SpinBox with a spin button</source>
+        <translation>帶調節按鈕的 SpinBox</translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="69"/>
+        <source>A simple TextEdit</source>
+        <translation>富文本框</translation>
+    </message>
+</context>
+<context>
+    <name>ToolBar</name>
+    <message>
+        <location filename="../../view/gallery_interface.py" line="21"/>
+        <source>Documentation</source>
+        <translation>在線文檔</translation>
+    </message>
+    <message>
+        <location filename="../../view/gallery_interface.py" line="23"/>
+        <source>Source</source>
+        <translation>源代碼</translation>
+    </message>
+    <message>
+        <location filename="../../view/gallery_interface.py" line="55"/>
+        <source>Toggle theme</source>
+        <translation>切換主題</translation>
+    </message>
+    <message>
+        <location filename="../../view/gallery_interface.py" line="56"/>
+        <source>Send feedback</source>
+        <translation>提供反饋</translation>
+    </message>
+</context>
+<context>
+    <name>Translator</name>
+    <message>
+        <location filename="../../common/translator.py" line="18"/>
+        <source>Basic input</source>
+        <translation>基本輸入</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="11"/>
+        <source>Menus</source>
+        <translation>菜單</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="14"/>
+        <source>Dialogs</source>
+        <translation>對話框</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="16"/>
+        <source>Material</source>
+        <translation>材料</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="19"/>
+        <source>Status &amp; info</source>
+        <translation>狀態和信息</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="15"/>
+        <source>Scrolling</source>
+        <translation>滾動</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="13"/>
+        <source>Layout</source>
+        <translation>佈局</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="9"/>
+        <source>Text</source>
+        <translation>文本</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="12"/>
+        <source>Icons</source>
+        <translation>圖標</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="10"/>
+        <source>View</source>
+        <translation>視圖</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="17"/>
+        <source>Date &amp; time</source>
+        <translation>日期和時間</translation>
+    </message>
+</context>
+<context>
+    <name>TreeFrame</name>
+    <message>
+        <location filename="../../view/view_interface.py" line="59"/>
+        <source>JoJo 1 - Phantom Blood</source>
+        <translation>JoJo 1 - 幻影之血</translation>
+    </message>
+    <message>
+        <location filename="../../view/view_interface.py" line="60"/>
+        <source>Jonathan Joestar</source>
+        <translation>喬納森·喬斯達</translation>
+    </message>
+    <message>
+        <location filename="../../view/view_interface.py" line="60"/>
+        <source>Dio Brando</source>
+        <translation>迪奧·佈蘭度</translation>
+    </message>
+    <message>
+        <location filename="../../view/view_interface.py" line="60"/>
+        <source>Will A. Zeppeli</source>
+        <translation>威廉·A·齊貝林</translation>
+    </message>
+    <message>
+        <location filename="../../view/view_interface.py" line="67"/>
+        <source>JoJo 3 - Stardust Crusaders</source>
+        <translation>JoJo3 - 星塵鬥士</translation>
+    </message>
+    <message>
+        <location filename="../../view/view_interface.py" line="68"/>
+        <source>Jotaro Kujo</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>ViewInterface</name>
+    <message>
+        <location filename="../../view/view_interface.py" line="23"/>
+        <source>A simple TreeView</source>
+        <translation>簡單的樹狀組件</translation>
+    </message>
+    <message>
+        <location filename="../../view/view_interface.py" line="30"/>
+        <source>A TreeView with Multi-selection enabled</source>
+        <translation>啟用複選框的樹狀組件</translation>
+    </message>
+</context>
+</TS>

BIN
QFD/resource/i18n/gallery_zh.qm


+ 1016 - 0
QFD/resource/i18n/gallery_zh.ts

@@ -0,0 +1,1016 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="zh_CN" sourcelanguage="en_US">
+<context>
+    <name>BasicInputInterface</name>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="23"/>
+        <source>A simple button with text content</source>
+        <translation>带有文本的简单按钮</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="33"/>
+        <source>A button with graphical content</source>
+        <translation>带有图标的按钮</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="40"/>
+        <source>Accent style applied to button</source>
+        <translation>使用主题色的按钮</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="47"/>
+        <source>A hyperlink button that navigates to a URI</source>
+        <translation>导航到一个超链接的按钮</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="54"/>
+        <source>A 2-state CheckBox</source>
+        <translation>双态复选框</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="63"/>
+        <source>A 3-state CheckBox</source>
+        <translation>三态复选框</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="74"/>
+        <source>A ComboBox with items</source>
+        <translation>下拉框</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="112"/>
+        <source>A group of RadioButton controls in a button group</source>
+        <translation>单选按钮</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="123"/>
+        <source>A simple horizontal slider</source>
+        <translation>水平滑动条</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="132"/>
+        <source>A simple switch button</source>
+        <translation>开关按钮</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="142"/>
+        <source>Off</source>
+        <translation>关</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="140"/>
+        <source>On</source>
+        <translation>开</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="23"/>
+        <source>Standard push button</source>
+        <translation>标准按钮</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="40"/>
+        <source>Accent style button</source>
+        <translation>主题色按钮</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="54"/>
+        <source>Two-state CheckBox</source>
+        <translation>双态复选框</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="61"/>
+        <source>Three-state CheckBox</source>
+        <translation>三态复选框</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="47"/>
+        <source>GitHub home page</source>
+        <translation>GItHub 主页</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="101"/>
+        <source>Star Platinum</source>
+        <translation>白金之星</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="102"/>
+        <source>Crazy Diamond</source>
+        <translation>疯狂钻石</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="103"/>
+        <source>Soft and Wet</source>
+        <translation>软又湿</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="82"/>
+        <source>Gold Experience</source>
+        <translation>黄金体验</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="82"/>
+        <source>Sticky Fingers</source>
+        <translation>钢链手指</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="88"/>
+        <source>Choose your stand</source>
+        <translation>选择你的替身</translation>
+    </message>
+    <message>
+        <location filename="../../view/basic_input_interface.py" line="90"/>
+        <source>An editable ComboBox</source>
+        <translation>可编辑的下拉框</translation>
+    </message>
+</context>
+<context>
+    <name>DateTimeInterface</name>
+    <message>
+        <location filename="../../view/date_time_interface.py" line="21"/>
+        <source>A simple DatePicker</source>
+        <translation>日期选择器</translation>
+    </message>
+    <message>
+        <location filename="../../view/date_time_interface.py" line="27"/>
+        <source>A DatePicker in another format</source>
+        <translation>另一种格式的日期选择器</translation>
+    </message>
+    <message>
+        <location filename="../../view/date_time_interface.py" line="34"/>
+        <source>A simple TimePicker</source>
+        <translation>时间选择器</translation>
+    </message>
+    <message>
+        <location filename="../../view/date_time_interface.py" line="41"/>
+        <source>A TimePicker using a 24-hour clock</source>
+        <translation>24 小时制的时间选择器</translation>
+    </message>
+    <message>
+        <location filename="../../view/date_time_interface.py" line="48"/>
+        <source>A TimePicker with seconds column</source>
+        <translation>显示秒的时间选择器</translation>
+    </message>
+</context>
+<context>
+    <name>DialogInterface</name>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="36"/>
+        <source>Show dialog</source>
+        <translation>显示对话框</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="22"/>
+        <source>A frameless message box</source>
+        <translation>无边框对话框</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="30"/>
+        <source>A message box with mask</source>
+        <translation>带遮罩的对话框</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="38"/>
+        <source>A color dialog</source>
+        <translation>颜色对话框</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="45"/>
+        <source>This is a frameless message dialog</source>
+        <translation>这是一个无边框对话框</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="56"/>
+        <source>If the content of the message box is veeeeeeeeeeeeeeeeeeeeeeeeeery long, it will automatically wrap like this.</source>
+        <translation>一生消えない傷でいいな,絆創膏の様にいつも包んでよ。貴方のそばでわがまま言いたいな,一分一秒刻み貴方を知り,あたしをあげる~</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="65"/>
+        <source>Choose color</source>
+        <translation>选择颜色</translation>
+    </message>
+    <message>
+        <location filename="../../view/dialog_interface.py" line="55"/>
+        <source>This is a message dialog with mask</source>
+        <translation>这是一个带遮罩的对话框</translation>
+    </message>
+</context>
+<context>
+    <name>ExampleCard</name>
+    <message>
+        <location filename="../../view/gallery_interface.py" line="87"/>
+        <source>Source code</source>
+        <translation>源代码</translation>
+    </message>
+</context>
+<context>
+    <name>IconCardView</name>
+    <message>
+        <location filename="../../view/icon_interface.py" line="123"/>
+        <source>Fluent Icons Library</source>
+        <translation>流畅图标库</translation>
+    </message>
+</context>
+<context>
+    <name>IconInfoPanel</name>
+    <message>
+        <location filename="../../view/icon_interface.py" line="81"/>
+        <source>Icon name</source>
+        <translation>图标名字</translation>
+    </message>
+    <message>
+        <location filename="../../view/icon_interface.py" line="83"/>
+        <source>Enum member</source>
+        <translation>枚举成员</translation>
+    </message>
+</context>
+<context>
+    <name>LayoutInterface</name>
+    <message>
+        <location filename="../../view/layout_interface.py" line="20"/>
+        <source>Flow layout without animation</source>
+        <translation>不带动画效果的流式布局</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="27"/>
+        <source>Flow layout with animation</source>
+        <translation>带有动画效果的流式布局</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="36"/>
+        <source>Star Platinum</source>
+        <translation>白金之星</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="36"/>
+        <source>Hierophant Green</source>
+        <translation>法皇之绿</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="37"/>
+        <source>Silver Chariot</source>
+        <translation>银色战车</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="37"/>
+        <source>Crazy diamond</source>
+        <translation>疯狂钻石</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="38"/>
+        <source>Heaven&apos;s Door</source>
+        <translation>黑蚊子多</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="38"/>
+        <source>Killer Queen</source>
+        <translation>杀手皇后💀</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="39"/>
+        <source>Gold Experience</source>
+        <translation>黄金体验</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="39"/>
+        <source>Sticky Fingers</source>
+        <translation>钢链手指</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="40"/>
+        <source>Sex Pistols</source>
+        <translation>性感手枪</translation>
+    </message>
+    <message>
+        <location filename="../../view/layout_interface.py" line="40"/>
+        <source>Dirty Deeds Done Dirt Cheap</source>
+        <translation>D4C</translation>
+    </message>
+</context>
+<context>
+    <name>LineEdit</name>
+    <message>
+        <location filename="../../view/icon_interface.py" line="21"/>
+        <source>Search icons</source>
+        <translation>搜索图标</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="../../view/main_window.py" line="118"/>
+        <source>Home</source>
+        <translation>主页</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="124"/>
+        <source>Basic input</source>
+        <translation>基本输入</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="128"/>
+        <source>Dialogs</source>
+        <translation>对话框</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="130"/>
+        <source>Layout</source>
+        <translation>布局</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="134"/>
+        <source>Menus</source>
+        <translation>菜单</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="132"/>
+        <source>Material</source>
+        <translation>材料</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="136"/>
+        <source>Scrolling</source>
+        <translation>滚动</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="138"/>
+        <source>Status &amp; info</source>
+        <translation>状态和信息</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="198"/>
+        <source>This is a help message</source>
+        <translation>一条友善的提示</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="198"/>
+        <source>You clicked a customized navigation widget. You can add more custom widgets by calling `NavigationInterface.addWidget()` 😉</source>
+        <translation>你点击了一个自定义的导航项。你可以通过 `NavigationInterface.addWidget()` 添加更多的自定义导航项。</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="140"/>
+        <source>Text</source>
+        <translation>文本</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="120"/>
+        <source>Icons</source>
+        <translation>图标</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="142"/>
+        <source>View</source>
+        <translation>视图</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="152"/>
+        <source>Settings</source>
+        <translation>设置</translation>
+    </message>
+    <message>
+        <location filename="../../view/main_window.py" line="126"/>
+        <source>Date &amp; time</source>
+        <translation>日期和时间</translation>
+    </message>
+</context>
+<context>
+    <name>MaterialInterface</name>
+    <message>
+        <location filename="../../view/material_interface.py" line="29"/>
+        <source>Acrylic label</source>
+        <translation>亚克力标签</translation>
+    </message>
+</context>
+<context>
+    <name>MenuInterface</name>
+    <message>
+        <location filename="../../view/menu_interface.py" line="26"/>
+        <source>Rounded corners menu</source>
+        <translation>圆角菜单</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="22"/>
+        <source>Show menu</source>
+        <translation>显示菜单</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="36"/>
+        <source>Copy</source>
+        <translation>复制</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="37"/>
+        <source>Cut</source>
+        <translation>剪切</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="42"/>
+        <source>Video</source>
+        <translation>视频</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="42"/>
+        <source>Music</source>
+        <translation>音乐</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="49"/>
+        <source>Paste</source>
+        <translation>粘贴</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="49"/>
+        <source>Undo</source>
+        <translation>撤回</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="56"/>
+        <source>Select all</source>
+        <translation>全选</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="59"/>
+        <source>Settings</source>
+        <translation>设置</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="61"/>
+        <source>Help</source>
+        <translation>帮助</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="61"/>
+        <source>Feedback</source>
+        <translation>反馈</translation>
+    </message>
+    <message>
+        <location filename="../../view/menu_interface.py" line="40"/>
+        <source>Add to</source>
+        <translation>添加到</translation>
+    </message>
+</context>
+<context>
+    <name>ScrollInterface</name>
+    <message>
+        <location filename="../../view/scroll_interface.py" line="33"/>
+        <source>Smooth scroll area</source>
+        <translation>平滑滚动区域</translation>
+    </message>
+    <message>
+        <location filename="../../view/scroll_interface.py" line="39"/>
+        <source>Chitanda Eru is too hot 🥵</source>
+        <translation>回眸一笑百媚生,六宫粉黛无颜色 🥵</translation>
+    </message>
+    <message>
+        <location filename="../../view/scroll_interface.py" line="50"/>
+        <source>Smooth scroll area implemented by animation</source>
+        <translation>使用动画实现的平滑滚动区域</translation>
+    </message>
+    <message>
+        <location filename="../../view/scroll_interface.py" line="56"/>
+        <source>Chitanda Eru is so hot 🥵🥵</source>
+        <translation>春寒赐浴华清池,温泉水滑洗凝脂 🥵🥵</translation>
+    </message>
+</context>
+<context>
+    <name>SettingInterface</name>
+    <message>
+        <location filename="../../view/setting_interface.py" line="33"/>
+        <source>Settings</source>
+        <translation>设置</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="36"/>
+        <source>Music on this PC</source>
+        <translation>此PC上的音乐</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="38"/>
+        <source>Local music library</source>
+        <translation>本地音乐库</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="201"/>
+        <source>Choose folder</source>
+        <translation>选择文件夹</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="45"/>
+        <source>Download directory</source>
+        <translation>下载目录</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="54"/>
+        <source>Personalization</source>
+        <translation>个性化</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="56"/>
+        <source>Application theme</source>
+        <translation>应用主题</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="56"/>
+        <source>Change the appearance of your application</source>
+        <translation>调整你的应用的外观</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="56"/>
+        <source>Light</source>
+        <translation>浅色</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="56"/>
+        <source>Dark</source>
+        <translation>深色</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="85"/>
+        <source>Use system setting</source>
+        <translation>跟随系统设置</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="67"/>
+        <source>Theme color</source>
+        <translation>主题色</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="67"/>
+        <source>Change the theme color of you application</source>
+        <translation>调整你的应用的主题色</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="74"/>
+        <source>Interface zoom</source>
+        <translation>界面缩放</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="74"/>
+        <source>Change the size of widgets and fonts</source>
+        <translation>调整小部件和字体的大小</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="85"/>
+        <source>Language</source>
+        <translation>语言</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="85"/>
+        <source>Set your preferred language for UI</source>
+        <translation>选择界面所使用的语言</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="95"/>
+        <source>Material</source>
+        <translation>材料</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="97"/>
+        <source>Acrylic blur radius</source>
+        <translation>亚克力磨砂半径</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="97"/>
+        <source>The greater the radius, the more blurred the image</source>
+        <translation>磨砂半径越大,图像越模糊</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="106"/>
+        <source>Software update</source>
+        <translation>软件更新</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="108"/>
+        <source>Check for updates when the application starts</source>
+        <translation>在应用程序启动时检查更新</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="108"/>
+        <source>The new version will be more stable and have more features</source>
+        <translation>新版本将更加稳定并拥有更多功能(建议启用此选项)</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="134"/>
+        <source>About</source>
+        <translation>关于</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="118"/>
+        <source>Open help page</source>
+        <translation>打开帮助页面</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="118"/>
+        <source>Help</source>
+        <translation>帮助</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="118"/>
+        <source>Discover new features and learn useful tips about PyQt-Fluent-Widgets</source>
+        <translation>发现新功能并了解有关 PyQt-Fluent-Widgets 的使用技巧</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="127"/>
+        <source>Provide feedback</source>
+        <translation>提供反馈</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="127"/>
+        <source>Help us improve PyQt-Fluent-Widgets by providing feedback</source>
+        <translation>通过提供反馈帮助我们改进 PyQt-Fluent-Widgets</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="134"/>
+        <source>Check update</source>
+        <translation>检查更新</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="134"/>
+        <source>Copyright</source>
+        <translation>版权所有</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="134"/>
+        <source>Version</source>
+        <translation>当前版本</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="192"/>
+        <source>Configuration takes effect after restart</source>
+        <translation>配置在重启软件后生效</translation>
+    </message>
+    <message>
+        <location filename="../../view/setting_interface.py" line="192"/>
+        <source>Updated successfully</source>
+        <translation>更新成功</translation>
+    </message>
+</context>
+<context>
+    <name>StatusInfoInterface</name>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="37"/>
+        <source>State tool tip</source>
+        <translation>进度提示条</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="47"/>
+        <source>Label with a ToolTip</source>
+        <translation>多看一眼就会爆炸</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="50"/>
+        <source>A label with a ToolTip</source>
+        <translation>带有工具提示的标签</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="145"/>
+        <source>Show StateToolTip</source>
+        <translation>显示进度提示条</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="34"/>
+        <source>Button with a simple ToolTip</source>
+        <translation>带有工具提示的按钮</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="36"/>
+        <source>Simple ToolTip</source>
+        <translation>简单工具提示</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="143"/>
+        <source>The model training is complete!</source>
+        <translation>模型训练完成啦!</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="149"/>
+        <source>Training model</source>
+        <translation>正在训练模型</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="149"/>
+        <source>Please wait patiently</source>
+        <translation>心急吃不了热豆腐,请耐心等待哦~</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="151"/>
+        <source>Hide StateToolTip</source>
+        <translation>隐藏进度提示条</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="57"/>
+        <source>Success</source>
+        <translation>成功</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="67"/>
+        <source>A closable InfoBar</source>
+        <translation>可关闭的消息条</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="75"/>
+        <source>Warning</source>
+        <translation>警告</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="85"/>
+        <source>A closable InfoBar with long message</source>
+        <translation>可关闭的长消息条</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="92"/>
+        <source>GitHub</source>
+        <translation>GitHub</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="92"/>
+        <source>When you look long into an abyss, the abyss looks into you.</source>
+        <translation>当你长时间凝视深渊时,深渊也在凝视你。</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="104"/>
+        <source>An InfoBar with custom icon, background color and widget.</source>
+        <translation>自定义图标、背景和小部件的消息条</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="135"/>
+        <source>InfoBar with different pop-up locations</source>
+        <translation>不同弹出位置的消息条</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="190"/>
+        <source>No Internet</source>
+        <translation>无网络连接</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="168"/>
+        <source>Lesson 4</source>
+        <translation>Lesson 4</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="179"/>
+        <source>Lesson 5</source>
+        <translation>Lesson 5</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="74"/>
+        <source>My name is kira yoshikake, 33 years old. Living in the villa area northeast of duwangting, unmarried. I work in Guiyou chain store. Every day I have to work overtime until 8 p.m. to go home. I don&apos;t smoke. The wine is only for a taste. Sleep at 11 p.m. for 8 hours a day. Before I go to bed, I must drink a cup of warm milk, then do 20 minutes of soft exercise, get on the bed, and immediately fall asleep. Never leave fatigue and stress until the next day. Doctors say I&apos;m normal.</source>
+        <translation>我的名字叫吉良吉影,33岁。住在杜王町东北部的别墅区一带,未婚。我在龟友连锁店服务。每天都要加班到晚上8点才能回家。我不抽烟,酒仅止于浅尝。晚上11点睡,每天要睡足8个小时。睡前,我一定喝一杯温牛奶,然后做20分钟的柔软操,上了床,马上熟睡。一觉到天亮,决不把疲劳和压力留到第二天。医生都说我很正常。</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="156"/>
+        <source>Lesson 3</source>
+        <translation>Lesson 3</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="156"/>
+        <source>Believe in the spin, just keep believing!</source>
+        <translation>相信回旋吧,只管相信就是了!</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="168"/>
+        <source>With respect, let&apos;s advance towards a new stage of the spin.</source>
+        <translation>表达敬意吧,表达出敬意,然后迈向回旋的另一个全新阶段!</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="179"/>
+        <source>迂回路を行けば最短ルート。</source>
+        <translation>最短的捷径就是绕远路,绕远路才是我的最短捷径。</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="190"/>
+        <source>An error message which won&apos;t disappear automatically.</source>
+        <translation>一条不会自动消失的消息。</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="57"/>
+        <source>The Anthem of man is the Anthem of courage.</source>
+        <translation>人类的赞歌就是勇气的赞歌!</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="102"/>
+        <source>Action</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="113"/>
+        <source>Top right</source>
+        <translation>右上角</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="114"/>
+        <source>Top</source>
+        <translation>顶部居中</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="115"/>
+        <source>Top left</source>
+        <translation>左上角</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="116"/>
+        <source>Bottom right</source>
+        <translation>右下角</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="117"/>
+        <source>Bottom</source>
+        <translation>底部居中</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="118"/>
+        <source>Bottom left</source>
+        <translation>左下角</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="201"/>
+        <source>Lesson 1</source>
+        <translation>Lesson 1</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="201"/>
+        <source>Don&apos;t have any strange expectations of me.</source>
+        <translation>别对我抱有什么奇怪的期待</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="212"/>
+        <source>Lesson 2</source>
+        <translation>Lesson 2</translation>
+    </message>
+    <message>
+        <location filename="../../view/status_info_interface.py" line="212"/>
+        <source>Don&apos;t let your muscles notice.</source>
+        <translation>不要让肌肉察觉</translation>
+    </message>
+</context>
+<context>
+    <name>TextInterface</name>
+    <message>
+        <location filename="../../view/text_interface.py" line="21"/>
+        <source>ko no dio da!</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="23"/>
+        <source>A LineEdit with a clear button</source>
+        <translation>带清空按钮的 LineEdit</translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="37"/>
+        <source>A DoubleSpinBox with a spin button</source>
+        <translation>带调节按钮的 DoubleSpinBox</translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="44"/>
+        <source>A DateEdit with a spin button</source>
+        <translation>带调节按钮的 DateEdit</translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="51"/>
+        <source>A TimeEdit with a spin button</source>
+        <translation>带调节按钮的 TimeEdit</translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="58"/>
+        <source>A DateTimeEdit with a spin button</source>
+        <translation>带调节按钮的 DateTimeEdit</translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="30"/>
+        <source>A SpinBox with a spin button</source>
+        <translation>带调节按钮的 SpinBox</translation>
+    </message>
+    <message>
+        <location filename="../../view/text_interface.py" line="69"/>
+        <source>A simple TextEdit</source>
+        <translation>富文本框</translation>
+    </message>
+</context>
+<context>
+    <name>ToolBar</name>
+    <message>
+        <location filename="../../view/gallery_interface.py" line="21"/>
+        <source>Documentation</source>
+        <translation>在线文档</translation>
+    </message>
+    <message>
+        <location filename="../../view/gallery_interface.py" line="23"/>
+        <source>Source</source>
+        <translation>源代码</translation>
+    </message>
+    <message>
+        <location filename="../../view/gallery_interface.py" line="55"/>
+        <source>Toggle theme</source>
+        <translation>切换主题</translation>
+    </message>
+    <message>
+        <location filename="../../view/gallery_interface.py" line="56"/>
+        <source>Send feedback</source>
+        <translation>提供反馈</translation>
+    </message>
+</context>
+<context>
+    <name>Translator</name>
+    <message>
+        <location filename="../../common/translator.py" line="18"/>
+        <source>Basic input</source>
+        <translation>基本输入</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="11"/>
+        <source>Menus</source>
+        <translation>菜单</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="14"/>
+        <source>Dialogs</source>
+        <translation>对话框</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="16"/>
+        <source>Material</source>
+        <translation>材料</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="19"/>
+        <source>Status &amp; info</source>
+        <translation>状态和信息</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="15"/>
+        <source>Scrolling</source>
+        <translation>滚动</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="13"/>
+        <source>Layout</source>
+        <translation>布局</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="9"/>
+        <source>Text</source>
+        <translation>文本</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="12"/>
+        <source>Icons</source>
+        <translation>图标</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="10"/>
+        <source>View</source>
+        <translation>视图</translation>
+    </message>
+    <message>
+        <location filename="../../common/translator.py" line="17"/>
+        <source>Date &amp; time</source>
+        <translation>日期和时间</translation>
+    </message>
+</context>
+<context>
+    <name>TreeFrame</name>
+    <message>
+        <location filename="../../view/view_interface.py" line="59"/>
+        <source>JoJo 1 - Phantom Blood</source>
+        <translation>JoJo 1 - 幻影之血</translation>
+    </message>
+    <message>
+        <location filename="../../view/view_interface.py" line="60"/>
+        <source>Jonathan Joestar</source>
+        <translation>乔纳森·乔斯达</translation>
+    </message>
+    <message>
+        <location filename="../../view/view_interface.py" line="60"/>
+        <source>Dio Brando</source>
+        <translation>迪奥·布兰度</translation>
+    </message>
+    <message>
+        <location filename="../../view/view_interface.py" line="60"/>
+        <source>Will A. Zeppeli</source>
+        <translation>威廉·A·齐贝林</translation>
+    </message>
+    <message>
+        <location filename="../../view/view_interface.py" line="67"/>
+        <source>JoJo 3 - Stardust Crusaders</source>
+        <translation>JoJo3 - 星尘斗士</translation>
+    </message>
+    <message>
+        <location filename="../../view/view_interface.py" line="68"/>
+        <source>Jotaro Kujo</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>ViewInterface</name>
+    <message>
+        <location filename="../../view/view_interface.py" line="23"/>
+        <source>A simple TreeView</source>
+        <translation>简单的树状组件</translation>
+    </message>
+    <message>
+        <location filename="../../view/view_interface.py" line="30"/>
+        <source>A TreeView with Multi-selection enabled</source>
+        <translation>启用复选框的树状组件</translation>
+    </message>
+</context>
+</TS>

BIN
QFD/resource/i18n/qfluentwidgets_hk.qm


+ 291 - 0
QFD/resource/i18n/qfluentwidgets_hk.ts

@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="zh_CN">
+<!-- The translation of components in PyQt-Fluent-Widgets -->
+<context>
+    <name>ColorDialog</name>
+    <message>
+        <source>OK</source>
+        <translation>確認</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>取消</translation>
+    </message>
+    <message>
+        <source>Edit Color</source>
+        <translation>編輯顏色</translation>
+    </message>
+    <message>
+        <source>Red</source>
+        <translation>紅色</translation>
+    </message>
+    <message>
+        <source>Blue</source>
+        <translation>藍色</translation>
+    </message>
+    <message>
+        <source>Green</source>
+        <translation>綠色</translation>
+    </message>
+</context>
+<context>
+    <name>MessageDialog</name>
+    <message>
+        <source>OK</source>
+        <translation>確認</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>取消</translation>
+    </message>
+</context>
+<context>
+    <name>MessageBox</name>
+    <message>
+        <source>OK</source>
+        <translation>確認</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>取消</translation>
+    </message>
+</context>
+<context>
+    <name>Dialog</name>
+    <message>
+        <source>OK</source>
+        <translation>確認</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>取消</translation>
+    </message>
+</context>
+<context>
+    <name>DatePicker</name>
+    <message>
+        <source>month</source>
+        <translation>月</translation>
+    </message>
+    <message>
+        <source>day</source>
+        <translation>日</translation>
+    </message>
+    <message>
+        <source>year</source>
+        <translation>年</translation>
+    </message>
+    <message>
+        <source>January</source>
+        <translation>一月</translation>
+    </message>
+    <message>
+        <source>February</source>
+        <translation>二月</translation>
+    </message>
+    <message>
+        <source>March</source>
+        <translation>三月</translation>
+    </message>
+    <message>
+        <source>April</source>
+        <translation>四月</translation>
+    </message>
+    <message>
+        <source>May</source>
+        <translation>五月</translation>
+    </message>
+    <message>
+        <source>June</source>
+        <translation>六月</translation>
+    </message>
+    <message>
+        <source>July</source>
+        <translation>七月</translation>
+    </message>
+    <message>
+        <source>August</source>
+        <translation>八月</translation>
+    </message>
+    <message>
+        <source>September</source>
+        <translation>九月</translation>
+    </message>
+    <message>
+        <source>October</source>
+        <translation>十月</translation>
+    </message>
+    <message>
+        <source>November</source>
+        <translation>十一月</translation>
+    </message>
+    <message>
+        <source>December</source>
+        <translation>十二月</translation>
+    </message>
+</context>
+<context>
+    <name>FolderListDialog</name>
+    <message>
+        <source>Done</source>
+        <translation>完成</translation>
+    </message>
+    <message>
+        <source>Choose folder</source>
+        <translation>選擇文件夾</translation>
+    </message>
+    <message>
+        <source>Are you sure you want to delete the folder?</source>
+        <translation>是否確認刪除此文件夾?</translation>
+    </message>
+    <message>
+        <source>If you delete the </source>
+        <translation>如果將 </translation>
+    </message>
+    <message>
+        <source> folder and remove it from the list, the folder will no longer appear in the list, but will not be deleted.</source>
+        <translation> 文件夾從列表中移除,則該文件夾不會再出現在列表中,但不會被刪除。</translation>
+    </message>
+</context>
+<context>
+    <name>SwitchSettingCard</name>
+    <message>
+        <source>Off</source>
+        <translation>關</translation>
+    </message>
+    <message>
+        <source>On</source>
+        <translation>開</translation>
+    </message>
+</context>
+<context>
+    <name>CustomColorSettingCard</name>
+    <message>
+        <source>Custom color</source>
+        <translation>自定義顏色</translation>
+    </message>
+    <message>
+        <source>Default color</source>
+        <translation>默認顏色</translation>
+    </message>
+    <message>
+        <source>Choose color</source>
+        <translation>選擇顏色</translation>
+    </message>
+</context>
+<context>
+    <name>ColorPickerButton</name>
+    <message>
+        <source>Choose </source>
+        <translation>選擇</translation>
+    </message>
+</context>
+<context>
+    <name>FolderListSettingCard</name>
+    <message>
+        <source>Add folder</source>
+        <translation>添加文件夾</translation>
+    </message>
+    <message>
+        <source>Choose folder</source>
+        <translation>選擇文件夾</translation>
+    </message>
+    <message>
+        <source>Are you sure you want to delete the folder?</source>
+        <translation>是否確認刪除此文件夾?</translation>
+    </message>
+    <message>
+        <source>If you delete the </source>
+        <translation>如果將 </translation>
+    </message>
+    <message>
+        <source> folder and remove it from the list, the folder will no longer appear in the list, but will not be deleted.</source>
+        <translation> 文件夾從列表中移除,則該文件夾不會再出現在列表中,但不會被刪除。</translation>
+    </message>
+</context>
+<context>
+    <name>LineEditMenu</name>
+    <message>
+        <source>Cut</source>
+        <translation>剪切</translation>
+    </message>
+    <message>
+        <source>Copy</source>
+        <translation>複製</translation>
+    </message>
+    <message>
+        <source>Paste</source>
+        <translation>粘貼</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>撤回</translation>
+    </message>
+    <message>
+        <source>Select all</source>
+        <translation>全選</translation>
+    </message>
+</context>
+<context>
+    <name>TextEditMenu</name>
+    <message>
+        <source>Cut</source>
+        <translation>剪切</translation>
+    </message>
+    <message>
+        <source>Copy</source>
+        <translation>複製</translation>
+    </message>
+    <message>
+        <source>Paste</source>
+        <translation>粘貼</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>撤回</translation>
+    </message>
+    <message>
+        <source>Select all</source>
+        <translation>全選</translation>
+    </message>
+</context>
+<context>
+    <name>TimePicker</name>
+    <message>
+        <source>hour</source>
+        <translation>時</translation>
+    </message>
+    <message>
+        <source>minute</source>
+        <translation>分</translation>
+    </message>
+    <message>
+        <source>second</source>
+        <translation>秒</translation>
+    </message>
+    <message>
+        <source>AM</source>
+        <translation>AM</translation>
+    </message>
+    <message>
+        <source>PM</source>
+        <translation>PM</translation>
+    </message>
+</context>
+<context>
+    <name>AMTimePicker</name>
+    <message>
+        <source>hour</source>
+        <translation>時</translation>
+    </message>
+    <message>
+        <source>minute</source>
+        <translation>分</translation>
+    </message>
+    <message>
+        <source>second</source>
+        <translation>秒</translation>
+    </message>
+</context>
+</TS>

BIN
QFD/resource/i18n/qfluentwidgets_zh.qm


+ 228 - 0
QFD/resource/i18n/qfluentwidgets_zh.ts

@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="zh_CN">
+<!-- The translation of components in PyQt-Fluent-Widgets -->
+<context>
+    <name>ColorDialog</name>
+    <message>
+        <source>OK</source>
+        <translation>确认</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>取消</translation>
+    </message>
+    <message>
+        <source>Edit Color</source>
+        <translation>编辑颜色</translation>
+    </message>
+    <message>
+        <source>Red</source>
+        <translation>红色</translation>
+    </message>
+    <message>
+        <source>Blue</source>
+        <translation>蓝色</translation>
+    </message>
+    <message>
+        <source>Green</source>
+        <translation>绿色</translation>
+    </message>
+</context>
+<context>
+    <name>MessageDialog</name>
+    <message>
+        <source>OK</source>
+        <translation>确认</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>取消</translation>
+    </message>
+</context>
+<context>
+    <name>MessageBox</name>
+    <message>
+        <source>OK</source>
+        <translation>确认</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>取消</translation>
+    </message>
+</context>
+<context>
+    <name>Dialog</name>
+    <message>
+        <source>OK</source>
+        <translation>确认</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>取消</translation>
+    </message>
+</context>
+<context>
+    <name>FolderListDialog</name>
+    <message>
+        <source>Done</source>
+        <translation>完成</translation>
+    </message>
+    <message>
+        <source>Choose folder</source>
+        <translation>选择文件夹</translation>
+    </message>
+    <message>
+        <source>Are you sure you want to delete the folder?</source>
+        <translation>是否确认删除此文件夹?</translation>
+    </message>
+    <message>
+        <source>If you delete the </source>
+        <translation>如果将 </translation>
+    </message>
+    <message>
+        <source> folder and remove it from the list, the folder will no longer appear in the list, but will not be deleted.</source>
+        <translation> 文件夹从列表中移除,则该文件夹不会再出现在列表中,但不会被删除。</translation>
+    </message>
+</context>
+<context>
+    <name>SwitchSettingCard</name>
+    <message>
+        <source>Off</source>
+        <translation>关</translation>
+    </message>
+    <message>
+        <source>On</source>
+        <translation>开</translation>
+    </message>
+</context>
+<context>
+    <name>CustomColorSettingCard</name>
+    <message>
+        <source>Custom color</source>
+        <translation>自定义颜色</translation>
+    </message>
+    <message>
+        <source>Default color</source>
+        <translation>默认颜色</translation>
+    </message>
+    <message>
+        <source>Choose color</source>
+        <translation>选择颜色</translation>
+    </message>
+</context>
+<context>
+    <name>ColorPickerButton</name>
+    <message>
+        <source>Choose </source>
+        <translation>选择</translation>
+    </message>
+</context>
+<context>
+    <name>FolderListSettingCard</name>
+    <message>
+        <source>Add folder</source>
+        <translation>添加文件夹</translation>
+    </message>
+    <message>
+        <source>Choose folder</source>
+        <translation>选择文件夹</translation>
+    </message>
+    <message>
+        <source>Are you sure you want to delete the folder?</source>
+        <translation>是否确认删除此文件夹?</translation>
+    </message>
+    <message>
+        <source>If you delete the </source>
+        <translation>如果将 </translation>
+    </message>
+    <message>
+        <source> folder and remove it from the list, the folder will no longer appear in the list, but will not be deleted.</source>
+        <translation> 文件夹从列表中移除,则该文件夹不会再出现在列表中,但不会被删除。</translation>
+    </message>
+</context>
+<context>
+    <name>LineEditMenu</name>
+    <message>
+        <source>Cut</source>
+        <translation>剪切</translation>
+    </message>
+    <message>
+        <source>Copy</source>
+        <translation>复制</translation>
+    </message>
+    <message>
+        <source>Paste</source>
+        <translation>粘贴</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>撤回</translation>
+    </message>
+    <message>
+        <source>Select all</source>
+        <translation>全选</translation>
+    </message>
+</context>
+<context>
+    <name>TextEditMenu</name>
+    <message>
+        <source>Cut</source>
+        <translation>剪切</translation>
+    </message>
+    <message>
+        <source>Copy</source>
+        <translation>复制</translation>
+    </message>
+    <message>
+        <source>Paste</source>
+        <translation>粘贴</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation>撤回</translation>
+    </message>
+    <message>
+        <source>Select all</source>
+        <translation>全选</translation>
+    </message>
+</context>
+<context>
+    <name>TimePicker</name>
+    <message>
+        <source>hour</source>
+        <translation>时</translation>
+    </message>
+    <message>
+        <source>minute</source>
+        <translation>分</translation>
+    </message>
+    <message>
+        <source>second</source>
+        <translation>秒</translation>
+    </message>
+    <message>
+        <source>AM</source>
+        <translation>AM</translation>
+    </message>
+    <message>
+        <source>PM</source>
+        <translation>PM</translation>
+    </message>
+</context>
+<context>
+    <name>AMTimePicker</name>
+    <message>
+        <source>hour</source>
+        <translation>时</translation>
+    </message>
+    <message>
+        <source>minute</source>
+        <translation>分</translation>
+    </message>
+    <message>
+        <source>second</source>
+        <translation>秒</translation>
+    </message>
+</context>
+</TS>

+ 12 - 0
QFD/view/MainWindow.cpp

@@ -8,6 +8,7 @@
 #include "LoginView.h"
 #include "AboutView.h"
 #include "SettingView.h"
+#include "UserView.h"
 
 #include "common/QFDIcon.h"
 
@@ -91,6 +92,7 @@ void MainWindow::initialize()
     m_expertManageView = new ExpertManageView(this);
     m_aboutView        = new AboutView(this);
     m_settingView      = new SettingView(this);
+    m_userView         = new UserView(this);
 }
 
 void MainWindow::initWindow()
@@ -150,6 +152,11 @@ void MainWindow::initNavigation()
 
     m_naviInterface->addSeparator();
 
+    m_userView->setObjectName("userView");
+    m_stackWidget->addWidget(m_userView);
+    m_naviInterface->addItem(m_userView->objectName(), NEWFLICON(QFDIcon, User), "用户", this, SLOT(userViewClicked()),
+                             true, NavigationItemPosition::BOTTOM);
+
     m_settingView->setObjectName("settingView");
     m_stackWidget->addWidget(m_settingView);
     m_naviInterface->addItem(m_settingView->objectName(), NEWFLICON(FluentIcon, SETTING), "设置", this,
@@ -240,3 +247,8 @@ void MainWindow::settingViewClicked()
 {
     switchTo(m_settingView);
 }
+
+void MainWindow::userViewClicked()
+{
+    switchTo(m_userView);
+}

+ 3 - 0
QFD/view/MainWindow.h

@@ -14,6 +14,7 @@ class ProjectView;
 class ExpertManageView;
 class EvaluateView;
 class LoginView;
+class UserView;
 class AboutView;
 class SettingView;
 
@@ -74,6 +75,7 @@ private slots:
     void aboutViewClicked();
     void dataViewClicked();
     void settingViewClicked();
+    void userViewClicked();
 
 private:
     CustomTitleBar *m_titleBar;
@@ -90,5 +92,6 @@ private:
     LoginView *m_loginView;
     AboutView *m_aboutView;
     SettingView *m_settingView;
+    UserView *m_userView;
 };
 #endif  // MAINWINDOW_H

+ 17 - 0
QFD/view/ProjectView.h

@@ -3,6 +3,15 @@
 
 #include <QWidget>
 
+class ProjectListWidget;
+
+class PushButton;
+class SearchLineEdit;
+
+class QVBoxLayout;
+class QHBoxLayout;
+class QLabel;
+
 /// 工程视图
 /// 可以查看和编辑指标体系、配置专家
 class ProjectView : public QWidget
@@ -12,6 +21,14 @@ public:
     explicit ProjectView(QWidget *parent = nullptr);
 
 signals:
+
+private:
+    QHBoxLayout *m_hBoxLayout = nullptr;
+
+    ProjectListWidget *m_projListWidget = nullptr;
+    QVBoxLayout *m_prioVBoxLayout       = nullptr;
+    QWidget *m_projContentWidget        = nullptr;
+    QLabel *m_projNameLabel             = nullptr;
 };
 
 #endif  // PROJECTVIEW_H

+ 14 - 0
QFD/view/UserView.cpp

@@ -0,0 +1,14 @@
+#include "UserView.h"
+
+#include <QPainter>
+
+UserView::UserView(QWidget *parent) : QWidget(parent) { }
+
+void UserView::paintEvent(QPaintEvent *event)
+{
+    QWidget::paintEvent(event);
+    QPainter painter(this);
+    QPixmap pixmap(":/resource/background/1.jpg");
+    painter.drawPixmap(0, 0,
+                       pixmap.scaled(width(), height(), Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation));
+}

+ 17 - 0
QFD/view/UserView.h

@@ -0,0 +1,17 @@
+#ifndef USERVIEW_H
+#define USERVIEW_H
+
+#include <QWidget>
+
+class UserView : public QWidget
+{
+    Q_OBJECT
+public:
+    explicit UserView(QWidget *parent = nullptr);
+
+    void paintEvent(QPaintEvent *event) override;
+
+signals:
+};
+
+#endif  // USERVIEW_H