“95046b927a54f461766f83a212c6a93bc5fd2e67”上不存在“drivers/net/git@gitcode.net:openeuler/kernel.git”
提交 d226b9a6 编写于 作者: 之一Yo's avatar 之一Yo

添加内置翻译文件

上级 c3d8f0c2
# coding:utf-8 # coding:utf-8
from enum import Enum from enum import Enum
from PyQt5.QtCore import QLocale
from qfluentwidgets import (qconfig, QConfig, ConfigItem, OptionsConfigItem, BoolValidator, from qfluentwidgets import (qconfig, QConfig, ConfigItem, OptionsConfigItem, BoolValidator,
OptionsValidator, RangeConfigItem, RangeValidator, OptionsValidator, RangeConfigItem, RangeValidator,
FolderListValidator, EnumSerializer, FolderValidator) FolderListValidator, EnumSerializer, FolderValidator, ConfigSerializer)
class Language(Enum): class Language(Enum):
""" Language enumeration """ """ Language enumeration """
CHINESE_SIMPLIFIED = "zh" CHINESE_SIMPLIFIED = QLocale(QLocale.Chinese, QLocale.China)
CHINESE_TRADITIONAL = "hk" CHINESE_TRADITIONAL = QLocale(QLocale.Chinese, QLocale.HongKong)
ENGLISH = "en" ENGLISH = QLocale(QLocale.English)
AUTO = "Auto" AUTO = QLocale()
class LanguageSerializer(ConfigSerializer):
""" Language serializer """
def serialize(self, language):
return language.value.name() if language != Language.AUTO else "Auto"
def deserialize(self, value: str):
return Language(QLocale(value)) if value != "Auto" else Language.AUTO
class Config(QConfig): class Config(QConfig):
...@@ -29,7 +39,7 @@ class Config(QConfig): ...@@ -29,7 +39,7 @@ class Config(QConfig):
dpiScale = OptionsConfigItem( dpiScale = OptionsConfigItem(
"MainWindow", "DpiScale", "Auto", OptionsValidator([1, 1.25, 1.5, 1.75, 2, "Auto"]), restart=True) "MainWindow", "DpiScale", "Auto", OptionsValidator([1, 1.25, 1.5, 1.75, 2, "Auto"]), restart=True)
language = OptionsConfigItem( language = OptionsConfigItem(
"MainWindow", "Language", Language.AUTO, OptionsValidator(Language), EnumSerializer(Language), restart=True) "MainWindow", "Language", Language.AUTO, OptionsValidator(Language), LanguageSerializer(), restart=True)
# Material # Material
blurRadius = RangeConfigItem("Material", "AcrylicBlurRadius", 15, RangeValidator(0, 40)) blurRadius = RangeConfigItem("Material", "AcrylicBlurRadius", 15, RangeValidator(0, 40))
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS> <!DOCTYPE TS>
<TS version="2.1" language="zh_CN" sourcelanguage="en_US"> <TS version="2.1" language="zh_HK" sourcelanguage="en_US">
<context> <context>
<name>BasicInputInterface</name> <name>BasicInputInterface</name>
<message> <message>
......
...@@ -133,10 +133,8 @@ ...@@ -133,10 +133,8 @@
<file>qss/light/setting_interface.qss</file> <file>qss/light/setting_interface.qss</file>
<file>qss/light/view_interface.qss</file> <file>qss/light/view_interface.qss</file>
<file>i18n/qfluentwidgets_hk.qm</file> <file>i18n/gallery.zh_CN.qm</file>
<file>i18n/qfluentwidgets_zh.qm</file> <file>i18n/gallery.zh_HK.qm</file>
<file>i18n/gallery_zh.qm</file>
<file>i18n/gallery_hk.qm</file>
</qresource> </qresource>
</RCC> </RCC>
\ No newline at end of file
...@@ -2,10 +2,11 @@ ...@@ -2,10 +2,11 @@
import os import os
import sys import sys
from PyQt5.QtCore import Qt, QLocale, QTranslator from PyQt5.QtCore import Qt, QTranslator
from PyQt5.QtWidgets import QApplication from PyQt5.QtWidgets import QApplication
from qfluentwidgets import FluentTranslator
from app.common.config import cfg, Language from app.common.config import cfg
from app.view.main_window import MainWindow from app.view.main_window import MainWindow
...@@ -25,16 +26,10 @@ app = QApplication(sys.argv) ...@@ -25,16 +26,10 @@ app = QApplication(sys.argv)
app.setAttribute(Qt.AA_DontCreateNativeWidgetSiblings) app.setAttribute(Qt.AA_DontCreateNativeWidgetSiblings)
# internationalization # internationalization
translator = QTranslator() locale = cfg.get(cfg.language).value
translator = FluentTranslator(locale)
galleryTranslator = QTranslator() galleryTranslator = QTranslator()
language = cfg.get(cfg.language) galleryTranslator.load(locale, "gallery", ".", ":/gallery/i18n")
if language == Language.AUTO:
translator.load(QLocale.system(), ":/gallery/i18n/qfluentwidgets_")
galleryTranslator.load(QLocale.system(), ":/gallery/i18n/gallery_")
elif language != Language.ENGLISH:
translator.load(f":/gallery/i18n/qfluentwidgets_{language.value}.qm")
galleryTranslator.load(f":/gallery/i18n/gallery_{language.value}.qm")
app.installTranslator(translator) app.installTranslator(translator)
app.installTranslator(galleryTranslator) app.installTranslator(galleryTranslator)
......
...@@ -4,7 +4,7 @@ from PyQt5.QtCore import Qt, QTranslator, QLocale ...@@ -4,7 +4,7 @@ from PyQt5.QtCore import Qt, QTranslator, QLocale
from PyQt5.QtGui import QIcon, QPixmap from PyQt5.QtGui import QIcon, QPixmap
from PyQt5.QtWidgets import QApplication from PyQt5.QtWidgets import QApplication
from qframelesswindow import FramelessWindow, StandardTitleBar, AcrylicWindow from qframelesswindow import FramelessWindow, StandardTitleBar, AcrylicWindow
from qfluentwidgets import setThemeColor from qfluentwidgets import setThemeColor, FluentTranslator
from Ui_LoginWindow import Ui_Form from Ui_LoginWindow import Ui_Form
...@@ -55,8 +55,7 @@ if __name__ == '__main__': ...@@ -55,8 +55,7 @@ if __name__ == '__main__':
app = QApplication(sys.argv) app = QApplication(sys.argv)
# Internationalization # Internationalization
translator = QTranslator() translator = FluentTranslator(QLocale())
translator.load(QLocale.system(), ":/i18n/qfluentwidgets_")
app.installTranslator(translator) app.installTranslator(translator)
w = LoginWindow() w = LoginWindow()
......
...@@ -3,8 +3,5 @@ ...@@ -3,8 +3,5 @@
<file>images/girl.jpg</file> <file>images/girl.jpg</file>
<file>images/background.jpg</file> <file>images/background.jpg</file>
<file>images/logo.png</file> <file>images/logo.png</file>
<file>i18n/qfluentwidgets_zh.qm</file>
<file>i18n/qfluentwidgets_hk.qm</file>
</qresource> </qresource>
</RCC> </RCC>
此差异已折叠。
# coding:utf-8 # coding:utf-8
from enum import Enum from enum import Enum
from PyQt5.QtCore import Qt from PyQt5.QtCore import Qt, QLocale
from PyQt5.QtGui import QGuiApplication, QFont from PyQt5.QtGui import QGuiApplication, QFont
from qfluentwidgets import (qconfig, QConfig, ConfigItem, OptionsConfigItem, BoolValidator, from qfluentwidgets import (qconfig, QConfig, ConfigItem, OptionsConfigItem, BoolValidator,
ColorConfigItem, OptionsValidator, RangeConfigItem, RangeValidator, ColorConfigItem, OptionsValidator, RangeConfigItem, RangeValidator,
FolderListValidator, EnumSerializer, FolderValidator) FolderListValidator, EnumSerializer, FolderValidator, ConfigSerializer)
class SongQuality(Enum): class SongQuality(Enum):
...@@ -29,10 +29,20 @@ class MvQuality(Enum): ...@@ -29,10 +29,20 @@ class MvQuality(Enum):
class Language(Enum): class Language(Enum):
""" Language enumeration """ """ Language enumeration """
CHINESE_SIMPLIFIED = "zh" CHINESE_SIMPLIFIED = QLocale(QLocale.Chinese, QLocale.China)
CHINESE_TRADITIONAL = "hk" CHINESE_TRADITIONAL = QLocale(QLocale.Chinese, QLocale.HongKong)
ENGLISH = "en" ENGLISH = QLocale(QLocale.English)
AUTO = "Auto" AUTO = QLocale()
class LanguageSerializer(ConfigSerializer):
""" Language serializer """
def serialize(self, language):
return language.value.name() if language != Language.AUTO else "Auto"
def deserialize(self, value: str):
return Language(QLocale(value)) if value != "Auto" else Language.AUTO
class Config(QConfig): class Config(QConfig):
...@@ -63,7 +73,7 @@ class Config(QConfig): ...@@ -63,7 +73,7 @@ class Config(QConfig):
dpiScale = OptionsConfigItem( dpiScale = OptionsConfigItem(
"MainWindow", "DpiScale", "Auto", OptionsValidator([1, 1.25, 1.5, 1.75, 2, "Auto"]), restart=True) "MainWindow", "DpiScale", "Auto", OptionsValidator([1, 1.25, 1.5, 1.75, 2, "Auto"]), restart=True)
language = OptionsConfigItem( language = OptionsConfigItem(
"MainWindow", "Language", Language.AUTO, OptionsValidator(Language), EnumSerializer(Language), restart=True) "MainWindow", "Language", Language.AUTO, OptionsValidator(Language), LanguageSerializer(), restart=True)
# desktop lyric # desktop lyric
deskLyricHighlightColor = ColorConfigItem( deskLyricHighlightColor = ColorConfigItem(
......
...@@ -7,7 +7,7 @@ from PyQt5.QtGui import QIcon ...@@ -7,7 +7,7 @@ from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QHBoxLayout from PyQt5.QtWidgets import QApplication, QHBoxLayout
from qframelesswindow import FramelessWindow, StandardTitleBar from qframelesswindow import FramelessWindow, StandardTitleBar
from qfluentwidgets import isDarkTheme from qfluentwidgets import isDarkTheme, FluentTranslator
from setting_interface import SettingInterface from setting_interface import SettingInterface
from config import cfg, Language from config import cfg, Language
...@@ -60,15 +60,13 @@ if __name__ == '__main__': ...@@ -60,15 +60,13 @@ if __name__ == '__main__':
app.setAttribute(Qt.AA_DontCreateNativeWidgetSiblings) app.setAttribute(Qt.AA_DontCreateNativeWidgetSiblings)
# internationalization # internationalization
translator = QTranslator() locale = cfg.get(cfg.language).value
language = cfg.get(cfg.language) fluentTranslator = FluentTranslator(locale)
settingTranslator = QTranslator()
settingTranslator.load(locale, "settings", ".", "resource/i18n")
if language == Language.AUTO: app.installTranslator(fluentTranslator)
translator.load(QLocale.system(), "resource/i18n/qfluentwidgets_") app.installTranslator(settingTranslator)
elif language != Language.ENGLISH:
translator.load(f"resource/i18n/qfluentwidgets_{language.value}.qm")
app.installTranslator(translator)
# create main window # create main window
w = Window() w = Window()
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS> <!DOCTYPE TS>
<TS version="2.1" language="zh_CN"> <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>
<message>
<source>Opacity</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>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>
<!-- Put the translation of your interface below -->
<context> <context>
<name>SettingInterface</name> <name>SettingInterface</name>
<message> <message>
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS> <!DOCTYPE TS>
<TS version="2.1" language="zh_CN"> <TS version="2.1" language="zh_HK">
<!-- 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>
<message>
<source>Opacity</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>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>
<!-- Put the translation of your interface below -->
<context> <context>
<name>SettingInterface</name> <name>SettingInterface</name>
<message> <message>
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS> <!DOCTYPE TS>
<TS version="2.1" language="zh_CN"> <TS version="2.1" language="en_US">
<!-- The translation of components in PyQt-Fluent-Widgets --> <!-- The translation of components in PyQt-Fluent-Widgets -->
<context> <context>
<name>ColorDialog</name> <name>ColorDialog</name>
<message> <message>
<source>OK</source> <source>OK</source>
<translation>确认</translation> <translation>OK</translation>
</message> </message>
<message> <message>
<source>Cancel</source> <source>Cancel</source>
<translation>取消</translation> <translation>Cancel</translation>
</message> </message>
<message> <message>
<source>Edit Color</source> <source>Edit Color</source>
<translation>编辑颜色</translation> <translation>Edit Color</translation>
</message> </message>
<message> <message>
<source>Red</source> <source>Red</source>
<translation>红色</translation> <translation>Red</translation>
</message> </message>
<message> <message>
<source>Blue</source> <source>Blue</source>
<translation>蓝色</translation> <translation>Blue</translation>
</message> </message>
<message> <message>
<source>Green</source> <source>Green</source>
<translation>绿色</translation> <translation>Green</translation>
</message> </message>
<message> <message>
<source>Opacity</source> <source>Opacity</source>
<translation>透明度</translation> <translation>Opacity</translation>
</message> </message>
</context> </context>
<context> <context>
<name>MessageDialog</name> <name>MessageDialog</name>
<message> <message>
<source>OK</source> <source>OK</source>
<translation>确认</translation> <translation>OK</translation>
</message> </message>
<message> <message>
<source>Cancel</source> <source>Cancel</source>
<translation>取消</translation> <translation>Cancel</translation>
</message> </message>
</context> </context>
<context> <context>
<name>MessageBox</name> <name>MessageBox</name>
<message> <message>
<source>OK</source> <source>OK</source>
<translation>确认</translation> <translation>OK</translation>
</message> </message>
<message> <message>
<source>Cancel</source> <source>Cancel</source>
<translation>取消</translation> <translation>Cancel</translation>
</message> </message>
</context> </context>
<context> <context>
<name>Dialog</name> <name>Dialog</name>
<message> <message>
<source>OK</source> <source>OK</source>
<translation>确认</translation> <translation>OK</translation>
</message> </message>
<message> <message>
<source>Cancel</source> <source>Cancel</source>
<translation>取消</translation> <translation>Cancel</translation>
</message> </message>
</context> </context>
<context> <context>
<name>FolderListDialog</name> <name>FolderListDialog</name>
<message> <message>
<source>Done</source> <source>Done</source>
<translation>完成</translation> <translation>Done</translation>
</message> </message>
<message> <message>
<source>Choose folder</source> <source>Choose folder</source>
<translation>选择文件夹</translation> <translation>Choose folder</translation>
</message> </message>
<message> <message>
<source>Are you sure you want to delete the folder?</source> <source>Are you sure you want to delete the folder?</source>
<translation>是否确认删除此文件夹</translation> <translation>Are you sure you want to delete the folder?</translation>
</message> </message>
<message> <message>
<source>If you delete the </source> <source>If you delete the </source>
<translation>如果将 </translation> <translation>If you delete the </translation>
</message> </message>
<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> <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> <translation> folder and remove it from the list, the folder will no longer appear in the list, but will not be deleted.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>SwitchSettingCard</name> <name>SwitchSettingCard</name>
<message> <message>
<source>Off</source> <source>Off</source>
<translation></translation> <translation>Off</translation>
</message> </message>
<message> <message>
<source>On</source> <source>On</source>
<translation></translation> <translation>On</translation>
</message> </message>
</context> </context>
<context> <context>
<name>CustomColorSettingCard</name> <name>CustomColorSettingCard</name>
<message> <message>
<source>Custom color</source> <source>Custom color</source>
<translation>自定义颜色</translation> <translation>Custom color</translation>
</message> </message>
<message> <message>
<source>Default color</source> <source>Default color</source>
<translation>默认颜色</translation> <translation>Default color</translation>
</message> </message>
<message> <message>
<source>Choose color</source> <source>Choose color</source>
<translation>选择颜色</translation> <translation>Choose color</translation>
</message> </message>
</context> </context>
<context> <context>
<name>ColorPickerButton</name> <name>ColorPickerButton</name>
<message> <message>
<source>Choose </source> <source>Choose </source>
<translation>选择</translation> <translation>Choose </translation>
</message> </message>
</context> </context>
<context> <context>
<name>FolderListSettingCard</name> <name>FolderListSettingCard</name>
<message> <message>
<source>Add folder</source> <source>Add folder</source>
<translation>添加文件夹</translation> <translation>Add folder</translation>
</message> </message>
<message> <message>
<source>Choose folder</source> <source>Choose folder</source>
<translation>选择文件夹</translation> <translation>Choose folder</translation>
</message> </message>
<message> <message>
<source>Are you sure you want to delete the folder?</source> <source>Are you sure you want to delete the folder?</source>
<translation>是否确认删除此文件夹</translation> <translation>Are you sure you want to delete the folder?</translation>
</message> </message>
<message> <message>
<source>If you delete the </source> <source>If you delete the </source>
<translation>如果将 </translation> <translation>If you delete the </translation>
</message> </message>
<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> <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> <translation> folder and remove it from the list, the folder will no longer appear in the list, but will not be deleted.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>LineEditMenu</name> <name>LineEditMenu</name>
<message> <message>
<source>Cut</source> <source>Cut</source>
<translation>剪切</translation> <translation>Cut</translation>
</message> </message>
<message> <message>
<source>Copy</source> <source>Copy</source>
<translation>复制</translation> <translation>Copy</translation>
</message> </message>
<message> <message>
<source>Paste</source> <source>Paste</source>
<translation>粘贴</translation> <translation>Paste</translation>
</message> </message>
<message> <message>
<source>Cancel</source> <source>Cancel</source>
<translation>撤回</translation> <translation>Cancel</translation>
</message> </message>
<message> <message>
<source>Select all</source> <source>Select all</source>
<translation>全选</translation> <translation>Select all</translation>
</message> </message>
</context> </context>
<context> <context>
<name>TextEditMenu</name> <name>TextEditMenu</name>
<message> <message>
<source>Cut</source> <source>Cut</source>
<translation>剪切</translation> <translation>Cut</translation>
</message> </message>
<message> <message>
<source>Copy</source> <source>Copy</source>
<translation>复制</translation> <translation>Copy</translation>
</message> </message>
<message> <message>
<source>Paste</source> <source>Paste</source>
<translation>粘贴</translation> <translation>Paste</translation>
</message> </message>
<message> <message>
<source>Cancel</source> <source>Cancel</source>
<translation>撤回</translation> <translation>Cancel</translation>
</message> </message>
<message> <message>
<source>Select all</source> <source>Select all</source>
<translation>全选</translation> <translation>Select all</translation>
</message> </message>
</context> </context>
<context> <context>
<name>TimePicker</name> <name>TimePicker</name>
<message> <message>
<source>hour</source> <source>hour</source>
<translation></translation> <translation>hour</translation>
</message> </message>
<message> <message>
<source>minute</source> <source>minute</source>
<translation></translation> <translation>minute</translation>
</message> </message>
<message> <message>
<source>second</source> <source>second</source>
<translation></translation> <translation>second</translation>
</message> </message>
</context>
<context>
<name>AMPMFormatter</name>
<message> <message>
<source>AM</source> <source>AM</source>
<translation>AM</translation> <translation>AM</translation>
...@@ -218,15 +221,23 @@ ...@@ -218,15 +221,23 @@
<name>AMTimePicker</name> <name>AMTimePicker</name>
<message> <message>
<source>hour</source> <source>hour</source>
<translation></translation> <translation>hour</translation>
</message> </message>
<message> <message>
<source>minute</source> <source>minute</source>
<translation></translation> <translation>minute</translation>
</message> </message>
<message> <message>
<source>second</source> <source>second</source>
<translation></translation> <translation>second</translation>
</message>
<message>
<source>AM</source>
<translation>AM</translation>
</message>
<message>
<source>PM</source>
<translation>PM</translation>
</message> </message>
</context> </context>
</TS> </TS>
\ No newline at end of file
...@@ -205,13 +205,16 @@ ...@@ -205,13 +205,16 @@
<source>second</source> <source>second</source>
<translation></translation> <translation></translation>
</message> </message>
</context>
<context>
<name>AMPMFormatter</name>
<message> <message>
<source>AM</source> <source>AM</source>
<translation>AM</translation> <translation>上午</translation>
</message> </message>
<message> <message>
<source>PM</source> <source>PM</source>
<translation>PM</translation> <translation>下午</translation>
</message> </message>
</context> </context>
<context> <context>
...@@ -228,5 +231,13 @@ ...@@ -228,5 +231,13 @@
<source>second</source> <source>second</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>AM</source>
<translation>上午</translation>
</message>
<message>
<source>PM</source>
<translation>下午</translation>
</message>
</context> </context>
</TS> </TS>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS> <!DOCTYPE TS>
<TS version="2.1" language="zh_CN"> <TS version="2.1" language="zh_HK">
<!-- The translation of components in PyQt-Fluent-Widgets --> <!-- The translation of components in PyQt-Fluent-Widgets -->
<context> <context>
<name>ColorDialog</name> <name>ColorDialog</name>
...@@ -66,69 +66,6 @@ ...@@ -66,69 +66,6 @@
<translation>取消</translation> <translation>取消</translation>
</message> </message>
</context> </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> <context>
<name>FolderListDialog</name> <name>FolderListDialog</name>
<message> <message>
...@@ -268,13 +205,16 @@ ...@@ -268,13 +205,16 @@
<source>second</source> <source>second</source>
<translation></translation> <translation></translation>
</message> </message>
</context>
<context>
<name>AMPMFormatter</name>
<message> <message>
<source>AM</source> <source>AM</source>
<translation>AM</translation> <translation>上午</translation>
</message> </message>
<message> <message>
<source>PM</source> <source>PM</source>
<translation>PM</translation> <translation>下午</translation>
</message> </message>
</context> </context>
<context> <context>
...@@ -291,5 +231,13 @@ ...@@ -291,5 +231,13 @@
<source>second</source> <source>second</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>AM</source>
<translation>上午</translation>
</message>
<message>
<source>PM</source>
<translation>下午</translation>
</message>
</context> </context>
</TS> </TS>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS> <!DOCTYPE TS>
<TS version="2.1" language="zh_CN"> <TS version="2.1" language="zh_TW">
<!-- The translation of components in PyQt-Fluent-Widgets --> <!-- The translation of components in PyQt-Fluent-Widgets -->
<context> <context>
<name>ColorDialog</name> <name>ColorDialog</name>
...@@ -66,69 +66,6 @@ ...@@ -66,69 +66,6 @@
<translation>取消</translation> <translation>取消</translation>
</message> </message>
</context> </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> <context>
<name>FolderListDialog</name> <name>FolderListDialog</name>
<message> <message>
...@@ -268,13 +205,16 @@ ...@@ -268,13 +205,16 @@
<source>second</source> <source>second</source>
<translation></translation> <translation></translation>
</message> </message>
</context>
<context>
<name>AMPMFormatter</name>
<message> <message>
<source>AM</source> <source>AM</source>
<translation>AM</translation> <translation>上午</translation>
</message> </message>
<message> <message>
<source>PM</source> <source>PM</source>
<translation>PM</translation> <translation>下午</translation>
</message> </message>
</context> </context>
<context> <context>
...@@ -291,5 +231,13 @@ ...@@ -291,5 +231,13 @@
<source>second</source> <source>second</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>AM</source>
<translation>上午</translation>
</message>
<message>
<source>PM</source>
<translation>下午</translation>
</message>
</context> </context>
</TS> </TS>
\ No newline at end of file
此差异已折叠。
...@@ -236,5 +236,10 @@ ...@@ -236,5 +236,10 @@
<file>qss/light/spin_box.qss</file> <file>qss/light/spin_box.qss</file>
<file>qss/light/tree_view.qss</file> <file>qss/light/tree_view.qss</file>
<file>qss/light/time_picker.qss</file> <file>qss/light/time_picker.qss</file>
<file>i18n/qfluentwidgets.zh_CN.qm</file>
<file>i18n/qfluentwidgets.zh_HK.qm</file>
<file>i18n/qfluentwidgets.zh_TW.qm</file>
<file>i18n/qfluentwidgets.en_US.qm</file>
</qresource> </qresource>
</RCC> </RCC>
\ No newline at end of file
...@@ -3,4 +3,5 @@ from .auto_wrap import TextWrap ...@@ -3,4 +3,5 @@ from .auto_wrap import TextWrap
from .icon import Icon, getIconColor, drawSvgIcon, FluentIcon, drawIcon, FluentIconBase, writeSvg from .icon import Icon, getIconColor, drawSvgIcon, FluentIcon, drawIcon, FluentIconBase, writeSvg
from .style_sheet import (setStyleSheet, getStyleSheet, setTheme, ThemeColor, themeColor, from .style_sheet import (setStyleSheet, getStyleSheet, setTheme, ThemeColor, themeColor,
setThemeColor, applyThemeColor, FluentStyleSheet, StyleSheetBase) setThemeColor, applyThemeColor, FluentStyleSheet, StyleSheetBase)
from .smooth_scroll import SmoothScroll, SmoothMode from .smooth_scroll import SmoothScroll, SmoothMode
\ No newline at end of file from .translator import FluentTranslator
\ No newline at end of file
# coding: utf-8
from PyQt5.QtCore import QTranslator, QLocale
class FluentTranslator(QTranslator):
""" Translator of fluent widgets """
def __init__(self, locale: QLocale, parent=None):
super().__init__(parent=parent)
self.load(locale)
def load(self, locale: QLocale):
""" load translation file """
super().load(f":/qfluentwidgets/i18n/qfluentwidgets.{locale.name()}.qm")
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册