!39 add translations

Merge pull request !39 from likehomedream/my-devel
This commit is contained in:
KevinDuan 2023-11-02 09:55:59 +00:00 committed by Gitee
commit fd9c99390a
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
17 changed files with 763 additions and 58 deletions

View File

@ -80,4 +80,9 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
RESOURCES += \ RESOURCES += \
resource.qrc resource.qrc
DISTFILES += DISTFILES += \
translation/themebuilder_en_US.qm \
translation/themebuilder_zh_CN.qm
TRANSLATIONS += translation/themebuilder_zh_CN.ts \
translation/themebuilder_en_US.ts \

View File

@ -10,8 +10,8 @@ ConfigFileManager::ConfigFileManager(bool ishistory, const QString& time, QObjec
createJson(); createJson();
}else{ }else{
m_time = time; m_time = time;
jsonFilePath = QDir::homePath() + "/.cache/theme-build/" + m_time + "/scr/config/"+ "default.json"; jsonFilePath = QDir::homePath() + "/.cache/theme-build/" + m_time + "/src/config/"+ "default.json";
confFilePath = QDir::homePath() + "/.cache/theme-build/" + m_time + "/scr/config/"+ "theme.conf"; confFilePath = QDir::homePath() + "/.cache/theme-build/" + m_time + "/src/config/"+ "theme.conf";
qDebug()<<"have"; qDebug()<<"have";
} }
@ -67,7 +67,7 @@ bool ConfigFileManager::modifyRadiusJson(int radius)
QFile configFile(confFilePath); QFile configFile(confFilePath);
if (!configFile.open(QIODevice::ReadWrite | QIODevice::Text)) if (!configFile.open(QIODevice::ReadWrite | QIODevice::Text))
{ {
qDebug() << "Failed to open config file"; qDebug() << "Failed to open config file"<<configFile.AbortError<<confFilePath;
return false; return false;
} }

View File

@ -28,22 +28,22 @@ bool FileCheck::isLegalWallPaperFile(const QString& filePath, const QString& typ
if (type == "wallpaper") { if (type == "wallpaper") {
if (imageSize.width() != 3840 || imageSize.height() != 2160){ if (imageSize.width() != 3840 || imageSize.height() != 2160){
QMessageBox::information(nullptr, tr("错误"), tr("壁纸尺寸必须为3840x2160")); QMessageBox::information(nullptr, tr("error"), tr("The wallpaper size must be 3840x2160"));
return false; return false;
} }
qint64 maxSize = 10 * 1024 * 1024; // 10 MB qint64 maxSize = 10 * 1024 * 1024; // 10 MB
if (fileSize > maxSize){ if (fileSize > maxSize){
QMessageBox::information(nullptr, tr("错误"), tr("文件大小不能超过10MB")); QMessageBox::information(nullptr, tr("error"), tr("The file size cannot exceed 10MB"));
return false; return false;
} }
} else if (type == "cover") { } else if (type == "cover") {
if (imageSize.width() != 1640 || imageSize.height() != 1080){ if (imageSize.width() != 1640 || imageSize.height() != 1080){
QMessageBox::information(nullptr, tr("错误"), tr("封面尺寸必须为1640x1080")); QMessageBox::information(nullptr, tr("error"), tr("Cover size must be 1640x1080"));
return false; return false;
} }
qint64 maxSize = 5 * 1024 * 1024; // 5 MB qint64 maxSize = 5 * 1024 * 1024; // 5 MB
if (fileSize > maxSize){ if (fileSize > maxSize){
QMessageBox::information(nullptr, tr("错误"), tr("文件大小不能超过5MB")); QMessageBox::information(nullptr, tr("error"), tr("The file size cannot exceed 5MB"));
return false; return false;
} }
} }

View File

@ -1,8 +1,13 @@
#include "mainwindow.h" #include "mainwindow.h"
#include <QTranslator>
#include <QDir>
#include <QDebug>
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
QApplication a(argc, argv); QApplication a(argc, argv);
QTranslator translator;
translator.load("../kylin-theme-builder/translation/themebuilder_zh_CN.qm");
qApp->installTranslator(&translator);
MainWindow w; MainWindow w;
w.show(); w.show();
return a.exec(); return a.exec();

View File

@ -122,12 +122,18 @@ void MainInterface::initLeftBar()
QButtonGroup *bootbuttonGroup = new QButtonGroup(m_navigationwidget); QButtonGroup *bootbuttonGroup = new QButtonGroup(m_navigationwidget);
m_globalbtn = new TypeButton(m_navigationwidget); m_globalbtn = new TypeButton(m_navigationwidget);
m_globalbtn->setText(tr("GlobalTheme"));
m_iconbtn = new TypeButton(m_navigationwidget); m_iconbtn = new TypeButton(m_navigationwidget);
m_iconbtn->setText(tr("IconTheme"));
m_cursorbtn = new TypeButton(m_navigationwidget); m_cursorbtn = new TypeButton(m_navigationwidget);
m_cursorbtn->setText(tr("CursorTheme"));
m_plymouthbtn = new TypeButton(m_navigationwidget); m_plymouthbtn = new TypeButton(m_navigationwidget);
m_plymouthbtn->setText(tr("PlymouthTheme"));
m_grubbtn = new TypeButton(m_navigationwidget); m_grubbtn = new TypeButton(m_navigationwidget);
m_grubbtn->setText(tr("GrubTheme"));
m_buildbtn = new QPushButton(m_navigationwidget); m_buildbtn = new QPushButton(m_navigationwidget);
m_buildbtn->setText(tr("Start Building"));
buttonGroup->addButton(m_globalbtn); buttonGroup->addButton(m_globalbtn);
buttonGroup->addButton(m_iconbtn); buttonGroup->addButton(m_iconbtn);

View File

@ -68,10 +68,10 @@ void MainWindow::initUI()
QHBoxLayout *labellayout = new QHBoxLayout(); QHBoxLayout *labellayout = new QHBoxLayout();
QLabel *Label = new QLabel(m_guideWidget); QLabel *Label = new QLabel(m_guideWidget);
Label->setText("主题打包上传工具 "); Label->setText(tr("kylin-theme-builder"));
// QPushButton *guideLabel = new QPushButton(m_guideWidget); // QPushButton *guideLabel = new QPushButton(m_guideWidget);
QLabel *guideLabel = new QLabel(m_guideWidget); QLabel *guideLabel = new QLabel(m_guideWidget);
QString str = "<a href=\"https://gitee.com/openkylin/community/tree/master/sig/UKUITheme\">" + tr("使用指南") + "</a>"; QString str = "<a href=\"https://gitee.com/openkylin/community/tree/master/sig/UKUITheme\">" + tr("User guide") + "</a>";
guideLabel->setText(str); guideLabel->setText(str);
guideLabel->setTextFormat(Qt::RichText); guideLabel->setTextFormat(Qt::RichText);
guideLabel->setCursor(Qt::PointingHandCursor); guideLabel->setCursor(Qt::PointingHandCursor);
@ -102,13 +102,13 @@ void MainWindow::initUI()
} }
QIcon icon = QIcon(QPixmap(":/resource/background/homepage-global.png")); QIcon icon = QIcon(QPixmap(":/resource/background/homepage-global.png"));
m_globalbtn->setEntry(icon,"全局主题"); m_globalbtn->setEntry(icon,tr("Global Theme"));
QIcon icon1 = QIcon(QPixmap(":/resource/background/homepage-icons.png")); QIcon icon1 = QIcon(QPixmap(":/resource/background/homepage-icons.png"));
m_iconbtn->setEntry(icon1,"图标主题"); m_iconbtn->setEntry(icon1,tr("Icon Theme"));
QIcon icon2 = QIcon(QPixmap(":/resource/background/homepage-cursor.png")); QIcon icon2 = QIcon(QPixmap(":/resource/background/homepage-cursor.png"));
m_cursorbtn->setEntry(icon2,"光标主题"); m_cursorbtn->setEntry(icon2,tr("Cursor Theme"));
QIcon icon3 = QIcon(QPixmap(":/resource/background/homepage-boot.png")); QIcon icon3 = QIcon(QPixmap(":/resource/background/homepage-boot.png"));
m_bootbtn->setEntry(icon3,"启动个性化"); m_bootbtn->setEntry(icon3,tr("Boot Theme"));
m_entrywidget->setLayout(alllayout); m_entrywidget->setLayout(alllayout);
QScrollArea* scrollArea = new QScrollArea; QScrollArea* scrollArea = new QScrollArea;

View File

@ -116,7 +116,7 @@ void CursorThemeWidget::initRightWidget()
if (clickedButton) { if (clickedButton) {
CursorEditWidget* clickedWidget = qobject_cast<CursorEditWidget*>(clickedButton->parentWidget()); CursorEditWidget* clickedWidget = qobject_cast<CursorEditWidget*>(clickedButton->parentWidget());
if (clickedWidget) { if (clickedWidget) {
QString newFilePath = QFileDialog::getOpenFileName(this, tr("选择SVG文件"), "", tr("SVG 文件 (*.svg)")); QString newFilePath = QFileDialog::getOpenFileName(this, tr("Select SVG file"), "", tr("SVG file (*.svg)"));
if (!newFilePath.isEmpty()) { if (!newFilePath.isEmpty()) {
if (m_iconpathmap->contains(widgetName)) { if (m_iconpathmap->contains(widgetName)) {

View File

@ -61,7 +61,10 @@ void GlobalThemeWidget::initRightWidget()
initWallPaperWidget(); initWallPaperWidget();
initExteriorWidget(); initExteriorWidget();
initFilletWidget(); initFilletWidget();
AccentColorWidget(); initAccentColorWidget();
initTransparencyWidget();
initWindowFilletWidget();
mainLayout->addWidget(m_coverwidget); mainLayout->addWidget(m_coverwidget);
mainLayout->addStretch(1); mainLayout->addStretch(1);
mainLayout->addWidget(m_wallpaperwidget); mainLayout->addWidget(m_wallpaperwidget);
@ -72,6 +75,10 @@ void GlobalThemeWidget::initRightWidget()
mainLayout->addStretch(1); mainLayout->addStretch(1);
mainLayout->addWidget(m_accentcolorwidget); mainLayout->addWidget(m_accentcolorwidget);
mainLayout->addStretch(1); mainLayout->addStretch(1);
mainLayout->addWidget(m_transparencywidget);
mainLayout->addStretch(1);
mainLayout->addWidget(m_windowfilletwidget);
mainLayout->addStretch(1);
m_viewportwidget->setLayout(mainLayout); m_viewportwidget->setLayout(mainLayout);
@ -89,7 +96,7 @@ void GlobalThemeWidget::initCoverWidget()
if(m_info.isEdit){ if(m_info.isEdit){
title->setText("111111111111111111111111"); title->setText("111111111111111111111111");
}else{ }else{
title->setText("全局主题效果图"); title->setText(tr("Overall theme rendering"));
} }
QVBoxLayout *layout = new QVBoxLayout(); QVBoxLayout *layout = new QVBoxLayout();
@ -112,7 +119,7 @@ void GlobalThemeWidget::initCoverWidget()
cover->setLayout(coverlayout); cover->setLayout(coverlayout);
connect(m_coverbtn, &QPushButton::clicked, this, [=]() { connect(m_coverbtn, &QPushButton::clicked, this, [=]() {
QString newFilePath = QFileDialog::getOpenFileName(this, tr("选择图片文件"), "", tr("图片文件 (*.png *.jpg)")); QString newFilePath = QFileDialog::getOpenFileName(this, tr("Select picture file"), "", tr("Picture file (*.png *.jpg)"));
bool legalFile = FileCheck::isLegalWallPaperFile(newFilePath,"cover"); bool legalFile = FileCheck::isLegalWallPaperFile(newFilePath,"cover");
if (newFilePath.isEmpty() || !legalFile) { if (newFilePath.isEmpty() || !legalFile) {
@ -138,7 +145,7 @@ void GlobalThemeWidget::initWallPaperWidget()
m_wallpaperwidget = new QWidget(m_viewportwidget); m_wallpaperwidget = new QWidget(m_viewportwidget);
m_wallpaperwidget->setFixedHeight(182); m_wallpaperwidget->setFixedHeight(182);
QLabel *title = new QLabel(m_wallpaperwidget); QLabel *title = new QLabel(m_wallpaperwidget);
title->setText("全局主题效果图"); title->setText(tr("Desktop wallpaper"));
QVBoxLayout *layout = new QVBoxLayout(); QVBoxLayout *layout = new QVBoxLayout();
QWidget *cover = new QWidget(m_wallpaperwidget); QWidget *cover = new QWidget(m_wallpaperwidget);
@ -158,7 +165,7 @@ void GlobalThemeWidget::initWallPaperWidget()
wallpaperbtn->setIconSize(wallpaperbtn->size()); wallpaperbtn->setIconSize(wallpaperbtn->size());
connect(wallpaperbtn, &QPushButton::clicked, this, [=]() { connect(wallpaperbtn, &QPushButton::clicked, this, [=]() {
QString newFilePath = QFileDialog::getOpenFileName(this, tr("选择图片文件"), "", tr("图片文件 (*.png *.jpg)")); QString newFilePath = QFileDialog::getOpenFileName(this, tr("Select picture file"), "", tr("Picture file (*.png *.jpg)"));
if (!newFilePath.isEmpty() && FileCheck::isLegalWallPaperFile(newFilePath,"wallpaper")) { if (!newFilePath.isEmpty() && FileCheck::isLegalWallPaperFile(newFilePath,"wallpaper")) {
updateWallpaperFilePath(newFilePath); updateWallpaperFilePath(newFilePath);
@ -186,12 +193,12 @@ void GlobalThemeWidget::initExteriorWidget()
m_exteriorwidget->setFixedHeight(65); m_exteriorwidget->setFixedHeight(65);
QLabel *title = new QLabel(m_exteriorwidget); QLabel *title = new QLabel(m_exteriorwidget);
title->setFixedWidth(m_exteriorwidget->width()); title->setFixedWidth(m_exteriorwidget->width());
title->setText("窗口外观"); title->setText(tr("Window appearance"));
QHBoxLayout *layout = new QHBoxLayout(); QHBoxLayout *layout = new QHBoxLayout();
QComboBox *combobox = new QComboBox(m_exteriorwidget); QComboBox *combobox = new QComboBox(m_exteriorwidget);
combobox->addItem("浅色",QColor(255, 255, 255)); combobox->addItem(tr("light"),QColor(255, 255, 255));
combobox->addItem("深色", QColor(29, 29, 29)); combobox->addItem(tr("dark"), QColor(29, 29, 29));
connect(combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [=](int index){ connect(combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [=](int index){
QColor selectedColor = combobox->itemData(index).value<QColor>(); QColor selectedColor = combobox->itemData(index).value<QColor>();
QString overlayImage; QString overlayImage;
@ -221,7 +228,7 @@ void GlobalThemeWidget::initFilletWidget()
m_filletwidget->setFixedHeight(65); m_filletwidget->setFixedHeight(65);
QLabel *title = new QLabel(m_filletwidget); QLabel *title = new QLabel(m_filletwidget);
title->setFixedWidth(m_filletwidget->width()); title->setFixedWidth(m_filletwidget->width());
title->setText("控件圆角"); title->setText(tr("Control fillet"));
QHBoxLayout *layout = new QHBoxLayout(); QHBoxLayout *layout = new QHBoxLayout();
m_filletslider = new QSlider(m_filletwidget); m_filletslider = new QSlider(m_filletwidget);
@ -255,23 +262,22 @@ void GlobalThemeWidget::initFilletWidget()
m_filletwidget->setLayout(layout); m_filletwidget->setLayout(layout);
} }
void GlobalThemeWidget::AccentColorWidget() void GlobalThemeWidget::initAccentColorWidget()
{ {
m_accentcolorwidget = new QWidget(m_viewportwidget);
m_accentcolorwidget = new QWidget(m_viewportwidget); m_accentcolorwidget = new QWidget(m_viewportwidget);
m_accentcolorwidget->setFixedHeight(65); m_accentcolorwidget->setFixedHeight(65);
QLabel *title = new QLabel(m_accentcolorwidget); QLabel *title = new QLabel(m_accentcolorwidget);
title->setFixedWidth(m_accentcolorwidget->width()); title->setFixedWidth(m_accentcolorwidget->width());
title->setText("强调色"); title->setText(tr("Accent colour"));
QHBoxLayout *layout = new QHBoxLayout(); QHBoxLayout *layout = new QHBoxLayout();
m_combobox = new QComboBox(m_accentcolorwidget); m_combobox = new QComboBox(m_accentcolorwidget);
m_combobox->addItem("daybreakBlue",QColor(55, 144, 250)); m_combobox->addItem(tr("daybreakBlue"),QColor(55, 144, 250));
m_combobox->addItem("jamPurple", QColor(120, 115, 245)); m_combobox->addItem(tr("jamPurple"), QColor(120, 115, 245));
m_combobox->addItem("magenta", QColor(235, 48, 150)); m_combobox->addItem(tr("magenta"), QColor(235, 48, 150));
m_combobox->addItem("sunRed", QColor(243, 34, 45)); m_combobox->addItem(tr("sunRed"), QColor(243, 34, 45));
m_combobox->addItem("sunsetOrange", QColor(246, 140, 39)); m_combobox->addItem(tr("sunsetOrange"), QColor(246, 140, 39));
m_combobox->addItem("dustGold", QColor(249, 197, 61)); m_combobox->addItem(tr("dustGold"), QColor(249, 197, 61));
m_combobox->addItem("polarGreen", QColor(82, 196, 41)); m_combobox->addItem(tr("polarGreen"), QColor(82, 196, 41));
connect(m_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [=](int index){ connect(m_combobox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [=](int index){
@ -291,6 +297,55 @@ void GlobalThemeWidget::AccentColorWidget()
m_accentcolorwidget->setLayout(layout); m_accentcolorwidget->setLayout(layout);
} }
void GlobalThemeWidget::initTransparencyWidget()
{
m_transparencywidget = new QWidget(m_viewportwidget);
m_transparencywidget->setFixedHeight(65);
QHBoxLayout *layout = new QHBoxLayout();
QLabel *title = new QLabel(tr("Window transparency"));
m_transparencyslider = new QSlider(m_filletwidget);
m_transparencyslider->setOrientation(Qt::Horizontal);
m_transparencyslider->setFixedWidth(210);
m_transparencyslider->setRange(0,100);
m_transparencyslider->setSingleStep(1);
m_transparencyslider->setTickInterval(1);
m_transparencyslider->setFixedWidth(120);
m_transparencyslider->setValue(65);
QPushButton *showButton = new QPushButton(m_filletwidget);
showButton->setDisabled(true);
showButton->setFixedSize(60,36);
int value = 0;
value = m_transparencyslider->value();
showButton->setText(QString::number(m_transparencyslider->value())+"%");
QObject::connect(m_transparencyslider, &QSlider::valueChanged, [=](int value) {
showButton->setText(QString::number(value)+"%");
});
layout->addWidget(title);
layout->addWidget(m_transparencyslider);
layout->addWidget(showButton);
m_transparencywidget->setLayout(layout);
}
void GlobalThemeWidget::initWindowFilletWidget()
{
m_windowfilletwidget = new QWidget(m_viewportwidget);
m_transparencywidget->setFixedHeight(65);
QHBoxLayout *layout = new QHBoxLayout();
QLabel *title = new QLabel(tr("Window fillet"));
m_filletcombobox = new QComboBox(m_windowfilletwidget);
m_filletcombobox->addItem(tr("Large"),QColor(55, 144, 250));
m_filletcombobox->addItem(tr("Medium"), QColor(120, 115, 245));
m_filletcombobox->addItem(tr("Small"), QColor(120, 115, 245));
layout->addWidget(title);
layout->addWidget(m_filletcombobox);
m_windowfilletwidget->setLayout(layout);
}
void GlobalThemeWidget::updateWallpaperFilePath(const QString& coverFilePath) { void GlobalThemeWidget::updateWallpaperFilePath(const QString& coverFilePath) {
m_wallpaperpath = coverFilePath; m_wallpaperpath = coverFilePath;

View File

@ -38,7 +38,9 @@ private:
void initWallPaperWidget(); void initWallPaperWidget();
void initExteriorWidget(); void initExteriorWidget();
void initFilletWidget(); void initFilletWidget();
void AccentColorWidget(); void initAccentColorWidget();
void initTransparencyWidget();
void initWindowFilletWidget();
void updateWallpaperFilePath(const QString& coverFilePath); void updateWallpaperFilePath(const QString& coverFilePath);
void addspaceritem(); void addspaceritem();
@ -52,16 +54,20 @@ private:
QWidget *m_exteriorwidget; QWidget *m_exteriorwidget;
QWidget *m_filletwidget; QWidget *m_filletwidget;
QWidget *m_accentcolorwidget; QWidget *m_accentcolorwidget;
QWidget *m_transparencywidget;
QWidget *m_windowfilletwidget;
QVBoxLayout *m_previewlayout; QVBoxLayout *m_previewlayout;
QString m_wallpaperpath = ":/resource/background/background-light.png"; QString m_wallpaperpath = ":/resource/background/background-light.png";
QString m_coverpath = ":/resource/background/background-glazing.png"; QString m_coverpath = ":/resource/background/background-glazing.png";
QWidget *m_viewportwidget; QWidget *m_viewportwidget;
QScrollArea *m_scrollArea; QScrollArea *m_scrollArea;
QSlider *m_filletslider; QSlider *m_filletslider;
QSlider *m_transparencyslider;
QHBoxLayout *m_globalthemelayout; QHBoxLayout *m_globalthemelayout;
QWidget *m_rightwidget; QWidget *m_rightwidget;
HistoryInfo m_info; HistoryInfo m_info;
QComboBox *m_combobox; QComboBox *m_combobox;
QComboBox *m_filletcombobox;
QPushButton *m_coverbtn; QPushButton *m_coverbtn;
QPushButton *wallpaperbtn; QPushButton *wallpaperbtn;
QWidget *m_previewwidget; QWidget *m_previewwidget;

View File

@ -9,9 +9,9 @@ HistoryWidget::HistoryWidget(QWidget *parent) : QWidget(parent)
QWidget *textWidget = new QWidget(); QWidget *textWidget = new QWidget();
QHBoxLayout *textlayout = new QHBoxLayout(); QHBoxLayout *textlayout = new QHBoxLayout();
QLabel *historyLabel = new QLabel(textWidget); QLabel *historyLabel = new QLabel(textWidget);
historyLabel->setText("历史记录"); historyLabel->setText(tr("Historical record"));
QLabel *tipsLabel = new QLabel(textWidget); QLabel *tipsLabel = new QLabel(textWidget);
tipsLabel->setText("仅保留30天内的记录"); tipsLabel->setText(tr("Records are kept for 30 days only"));
textlayout->addWidget(historyLabel); textlayout->addWidget(historyLabel);
textlayout->addStretch(1); textlayout->addStretch(1);

View File

@ -78,7 +78,7 @@ void IconThemeWidget::initEditWidget()
clickedWidget = qobject_cast<IconEditWidget*>(widget); clickedWidget = qobject_cast<IconEditWidget*>(widget);
if (clickedWidget) { if (clickedWidget) {
QString newFilePath = QFileDialog::getOpenFileName(this, tr("选择SVG文件"), "", tr("SVG 文件 (*.svg)")); QString newFilePath = QFileDialog::getOpenFileName(this, tr("Select SVG file"), "", tr("SVG file (*.svg)"));
if (!newFilePath.isEmpty()) { if (!newFilePath.isEmpty()) {
m_customiconpathmap->insert(widgetName, newFilePath); m_customiconpathmap->insert(widgetName, newFilePath);
@ -161,7 +161,7 @@ void IconThemeWidget::initSystemEditWidget()
clickedWidget = qobject_cast<IconEditWidget*>(widget); clickedWidget = qobject_cast<IconEditWidget*>(widget);
if (clickedWidget) { if (clickedWidget) {
QString newFilePath = QFileDialog::getOpenFileName(this, tr("选择SVG文件"), "", tr("SVG 文件 (*.svg)")); QString newFilePath = QFileDialog::getOpenFileName(this, tr("Select SVG file"), "", tr("SVG file (*.svg)"));
if (!newFilePath.isEmpty()) { if (!newFilePath.isEmpty()) {
//check //check
if(FileCheck::isLegalIconFile(newFilePath)){ if(FileCheck::isLegalIconFile(newFilePath)){
@ -255,7 +255,9 @@ void IconThemeWidget::initRightWidget()
QButtonGroup *group = new QButtonGroup(m_changebuttonwidget); QButtonGroup *group = new QButtonGroup(m_changebuttonwidget);
m_appiconbtn = new QPushButton(); m_appiconbtn = new QPushButton();
m_appiconbtn->setText(tr("APP"));
m_systemiconbtn = new QPushButton(); m_systemiconbtn = new QPushButton();
m_systemiconbtn->setText(tr("System setting"));
group->setExclusive(true); group->setExclusive(true);
group->addButton(m_appiconbtn); group->addButton(m_appiconbtn);
group->addButton(m_systemiconbtn); group->addButton(m_systemiconbtn);

View File

@ -40,7 +40,7 @@ void InfoCreateWidget::InitThemeName(){
m_themeNameCNLayout = new QHBoxLayout(); m_themeNameCNLayout = new QHBoxLayout();
m_themeNameCNLabel = new QLabel(); m_themeNameCNLabel = new QLabel();
m_themeNameCNLineEdit = new QLineEdit(); m_themeNameCNLineEdit = new QLineEdit();
m_themeNameCNLabel->setText("ThemeName-CN"); m_themeNameCNLabel->setText(tr("ThemeName-CN"));
m_themeNameCNLineEdit->setEchoMode(QLineEdit::Normal); m_themeNameCNLineEdit->setEchoMode(QLineEdit::Normal);
m_themeNameCNLayout->addWidget(m_themeNameCNLabel); m_themeNameCNLayout->addWidget(m_themeNameCNLabel);
@ -49,7 +49,7 @@ void InfoCreateWidget::InitThemeName(){
m_themeNameENLayout = new QHBoxLayout(); m_themeNameENLayout = new QHBoxLayout();
m_themeNameENLabel = new QLabel(); m_themeNameENLabel = new QLabel();
m_themeNameENLineEdit = new QLineEdit(); m_themeNameENLineEdit = new QLineEdit();
m_themeNameENLabel->setText("ThemeName-EN"); m_themeNameENLabel->setText(tr("ThemeName-EN"));
m_themeNameENLineEdit->setEchoMode(QLineEdit::Normal); m_themeNameENLineEdit->setEchoMode(QLineEdit::Normal);
m_themeNameENLayout->addWidget(m_themeNameENLabel); m_themeNameENLayout->addWidget(m_themeNameENLabel);
@ -63,7 +63,7 @@ void InfoCreateWidget::InitBuilderInfo(){
m_builderNameLayout = new QHBoxLayout(); m_builderNameLayout = new QHBoxLayout();
m_builderNameLabel = new QLabel(); m_builderNameLabel = new QLabel();
m_builderNameLineEdit = new QLineEdit(); m_builderNameLineEdit = new QLineEdit();
m_builderNameLabel->setText("Builder Name"); m_builderNameLabel->setText(tr("Builder Name"));
m_builderNameLineEdit->setEchoMode(QLineEdit::Normal); m_builderNameLineEdit->setEchoMode(QLineEdit::Normal);
m_builderNameLayout->addWidget(m_builderNameLabel); m_builderNameLayout->addWidget(m_builderNameLabel);
@ -72,7 +72,7 @@ void InfoCreateWidget::InitBuilderInfo(){
m_builderMailLayout = new QHBoxLayout(); m_builderMailLayout = new QHBoxLayout();
m_builderMailLabel = new QLabel(); m_builderMailLabel = new QLabel();
m_builderMailLineEdit = new QLineEdit(); m_builderMailLineEdit = new QLineEdit();
m_builderMailLabel->setText("Builder Mail"); m_builderMailLabel->setText(tr("Builder Mail"));
m_builderMailLineEdit->setEchoMode(QLineEdit::Normal); m_builderMailLineEdit->setEchoMode(QLineEdit::Normal);
m_builderMailLayout->addWidget(m_builderMailLabel); m_builderMailLayout->addWidget(m_builderMailLabel);
@ -85,9 +85,9 @@ void InfoCreateWidget::InitInfoBtn(const QString &m_state){
m_exitBtn = new QPushButton(); m_exitBtn = new QPushButton();
m_recogniseBtn = new QPushButton(); m_recogniseBtn = new QPushButton();
m_createDebBtn = new QPushButton(); m_createDebBtn = new QPushButton();
m_exitBtn->setText("Back"); m_exitBtn->setText(tr("Back"));
m_recogniseBtn->setText("OK"); m_recogniseBtn->setText(tr("OK"));
m_createDebBtn->setText("Create"); m_createDebBtn->setText(tr("Create"));
m_infoBtnLayout->addWidget(m_exitBtn); m_infoBtnLayout->addWidget(m_exitBtn);
m_infoBtnLayout->addWidget(m_recogniseBtn); m_infoBtnLayout->addWidget(m_recogniseBtn);
@ -141,7 +141,7 @@ void InfoCreateWidget::InfoProcess(const QString &m_date){
QPalette m_fontqpe; QPalette m_fontqpe;
m_fontqpe.setColor(QPalette::WindowText,Qt::red); m_fontqpe.setColor(QPalette::WindowText,Qt::red);
m_warningMessage2->setPalette(m_fontqpe); m_warningMessage2->setPalette(m_fontqpe);
m_warningMessage2->setText("输入格式错误!"); m_warningMessage2->setText(tr("Input format error!"));
m_themeENNameState = false; m_themeENNameState = false;
m_recogniseBtn->setEnabled(false); m_recogniseBtn->setEnabled(false);
m_createDebBtn->setEnabled(false); m_createDebBtn->setEnabled(false);
@ -150,7 +150,7 @@ void InfoCreateWidget::InfoProcess(const QString &m_date){
QPalette m_fontqpe; QPalette m_fontqpe;
m_fontqpe.setColor(QPalette::WindowText,Qt::red); m_fontqpe.setColor(QPalette::WindowText,Qt::red);
m_warningMessage2->setPalette(m_fontqpe); m_warningMessage2->setPalette(m_fontqpe);
m_warningMessage2->setText("输入为空!"); m_warningMessage2->setText(tr("Input is empty!"));
m_themeENNameState = false; m_themeENNameState = false;
m_recogniseBtn->setEnabled(false); m_recogniseBtn->setEnabled(false);
m_createDebBtn->setEnabled(false); m_createDebBtn->setEnabled(false);
@ -163,7 +163,7 @@ void InfoCreateWidget::InfoProcess(const QString &m_date){
QRegExp englishRegexp("[A-Za-z0-9]+$"); QRegExp englishRegexp("[A-Za-z0-9]+$");
if(m_themeNameENLineEdit != nullptr){ if(m_themeNameENLineEdit != nullptr){
if (englishRegexp.exactMatch(m_builderName)){ if (englishRegexp.exactMatch(m_builderName)){
m_warningMessage3->setText(""); m_warningMessage3->setText("Input is empty!");
m_builderNameState = true; m_builderNameState = true;
if (m_themeENNameState && m_builderMailState && m_builderNameState){ if (m_themeENNameState && m_builderMailState && m_builderNameState){
m_recogniseBtn->setEnabled(true); m_recogniseBtn->setEnabled(true);
@ -176,7 +176,7 @@ void InfoCreateWidget::InfoProcess(const QString &m_date){
QPalette m_fontqpe; QPalette m_fontqpe;
m_fontqpe.setColor(QPalette::WindowText,Qt::red); m_fontqpe.setColor(QPalette::WindowText,Qt::red);
m_warningMessage3->setPalette(m_fontqpe); m_warningMessage3->setPalette(m_fontqpe);
m_warningMessage3->setText("输入格式错误!"); m_warningMessage3->setText("Input format error!");
m_builderNameState = false; m_builderNameState = false;
m_recogniseBtn->setEnabled(false); m_recogniseBtn->setEnabled(false);
m_createDebBtn->setEnabled(false); m_createDebBtn->setEnabled(false);
@ -185,7 +185,7 @@ void InfoCreateWidget::InfoProcess(const QString &m_date){
QPalette m_fontqpe; QPalette m_fontqpe;
m_fontqpe.setColor(QPalette::WindowText,Qt::red); m_fontqpe.setColor(QPalette::WindowText,Qt::red);
m_warningMessage3->setPalette(m_fontqpe); m_warningMessage3->setPalette(m_fontqpe);
m_warningMessage3->setText("输入为空!"); m_warningMessage3->setText("Input is empty!");
m_builderNameState = false; m_builderNameState = false;
m_recogniseBtn->setEnabled(false); m_recogniseBtn->setEnabled(false);
m_createDebBtn->setEnabled(false); m_createDebBtn->setEnabled(false);
@ -211,7 +211,7 @@ void InfoCreateWidget::InfoProcess(const QString &m_date){
QPalette m_fontqpe; QPalette m_fontqpe;
m_fontqpe.setColor(QPalette::WindowText,Qt::red); m_fontqpe.setColor(QPalette::WindowText,Qt::red);
m_warningMessage4->setPalette(m_fontqpe); m_warningMessage4->setPalette(m_fontqpe);
m_warningMessage4->setText("输入格式错误!"); m_warningMessage4->setText("Input format error!");
m_builderMailState = false; m_builderMailState = false;
m_recogniseBtn->setEnabled(false); m_recogniseBtn->setEnabled(false);
m_createDebBtn->setEnabled(false); m_createDebBtn->setEnabled(false);
@ -220,7 +220,7 @@ void InfoCreateWidget::InfoProcess(const QString &m_date){
QPalette m_fontqpe; QPalette m_fontqpe;
m_fontqpe.setColor(QPalette::WindowText,Qt::red); m_fontqpe.setColor(QPalette::WindowText,Qt::red);
m_warningMessage4->setPalette(m_fontqpe); m_warningMessage4->setPalette(m_fontqpe);
m_warningMessage4->setText("输入为空!"); m_warningMessage4->setText("Input is empty!");
m_builderMailState = false; m_builderMailState = false;
m_recogniseBtn->setEnabled(false); m_recogniseBtn->setEnabled(false);
m_createDebBtn->setEnabled(false); m_createDebBtn->setEnabled(false);

View File

@ -32,13 +32,13 @@ TitleBar::TitleBar(QWidget *parent) : QWidget(parent)
QMenu* menu = new QMenu(m_optionbtn); QMenu* menu = new QMenu(m_optionbtn);
QAction* saveAction = new QAction(tr("保存路径"), menu); QAction* saveAction = new QAction(tr("Save path"), menu);
menu->addAction(saveAction); menu->addAction(saveAction);
QAction* aboutAction = new QAction(tr("关于"), menu); QAction* aboutAction = new QAction(tr("about"), menu);
menu->addAction(aboutAction); menu->addAction(aboutAction);
QAction* helpAction = new QAction(tr("帮助"), menu); QAction* helpAction = new QAction(tr("help"), menu);
menu->addAction(helpAction); menu->addAction(helpAction);
QAction* exitAction = new QAction(tr("退出"), menu); QAction* exitAction = new QAction(tr("exit"), menu);
menu->addAction(exitAction); menu->addAction(exitAction);
m_optionbtn->setMenu(menu); m_optionbtn->setMenu(menu);

Binary file not shown.

View File

@ -0,0 +1,313 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>CursorThemeWidget</name>
<message>
<location filename="../src/module/cursorthemewidget.cpp" line="119"/>
<source>Select SVG file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/cursorthemewidget.cpp" line="119"/>
<source>SVG file (*.svg)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FileCheck</name>
<message>
<location filename="../src/fileProcess/filecheck.cpp" line="31"/>
<location filename="../src/fileProcess/filecheck.cpp" line="36"/>
<location filename="../src/fileProcess/filecheck.cpp" line="41"/>
<location filename="../src/fileProcess/filecheck.cpp" line="46"/>
<source>error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/fileProcess/filecheck.cpp" line="31"/>
<source>The wallpaper size must be 3840x2160</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/fileProcess/filecheck.cpp" line="36"/>
<source>The file size cannot exceed 10MB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/fileProcess/filecheck.cpp" line="41"/>
<source>Cover size must be 1640x1080</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/fileProcess/filecheck.cpp" line="46"/>
<source>The file size cannot exceed 5MB</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GlobalThemeWidget</name>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="92"/>
<source>Overall theme rendering</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="115"/>
<location filename="../src/module/globalthemewidget.cpp" line="161"/>
<source>Select picture file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="115"/>
<location filename="../src/module/globalthemewidget.cpp" line="161"/>
<source>Picture file (*.png *.jpg)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="141"/>
<source>Desktop wallpaper</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="189"/>
<source>Window appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="193"/>
<source>light</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="194"/>
<source>dark</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="224"/>
<source>Control fillet</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="265"/>
<source>Accent colour</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="268"/>
<source>daybreakBlue</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="269"/>
<source>jamPurple</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="270"/>
<source>magenta</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="271"/>
<source>sunRed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="272"/>
<source>sunsetOrange</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="273"/>
<source>dustGold</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="274"/>
<source>polarGreen</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HistoryWidget</name>
<message>
<location filename="../src/module/historywidget.cpp" line="12"/>
<source>Historical record</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/historywidget.cpp" line="14"/>
<source>Records are kept for 30 days only</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IconThemeWidget</name>
<message>
<location filename="../src/module/iconthemewidget.cpp" line="81"/>
<location filename="../src/module/iconthemewidget.cpp" line="164"/>
<source>Select SVG file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/iconthemewidget.cpp" line="81"/>
<location filename="../src/module/iconthemewidget.cpp" line="164"/>
<source>SVG file (*.svg)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/iconthemewidget.cpp" line="258"/>
<source>APP</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/iconthemewidget.cpp" line="260"/>
<source>System setting</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>InfoCreateWidget</name>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="43"/>
<source>ThemeName-CN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="52"/>
<source>ThemeName-EN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="66"/>
<source>Builder Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="75"/>
<source>Builder Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="88"/>
<source>Back</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="89"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="90"/>
<source>Create</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="144"/>
<source>Input format error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="153"/>
<source>Input is empty!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainInterface</name>
<message>
<location filename="../src/maininterface.cpp" line="125"/>
<source>GlobalTheme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/maininterface.cpp" line="127"/>
<source>IconTheme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/maininterface.cpp" line="129"/>
<source>CursorTheme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/maininterface.cpp" line="131"/>
<source>PlymouthTheme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/maininterface.cpp" line="133"/>
<source>GrubTheme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/maininterface.cpp" line="136"/>
<source>Start Building</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../src/mainwindow.cpp" line="71"/>
<source>kylin-theme-builder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="74"/>
<source>User guide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="105"/>
<source>Global Theme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="107"/>
<source>Icon Theme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="109"/>
<source>Cursor Theme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="111"/>
<source>Boot Theme</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TitleBar</name>
<message>
<location filename="../src/titlebar.cpp" line="27"/>
<source>Menu</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/titlebar.cpp" line="35"/>
<source>Save path</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/titlebar.cpp" line="37"/>
<source>about</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/titlebar.cpp" line="39"/>
<source>help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/titlebar.cpp" line="41"/>
<source>exit</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

Binary file not shown.

View File

@ -0,0 +1,313 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>CursorThemeWidget</name>
<message>
<location filename="../src/module/cursorthemewidget.cpp" line="119"/>
<source>Select SVG file</source>
<translation>SVG文件</translation>
</message>
<message>
<location filename="../src/module/cursorthemewidget.cpp" line="119"/>
<source>SVG file (*.svg)</source>
<translation>SVG (*.svg)</translation>
</message>
</context>
<context>
<name>FileCheck</name>
<message>
<location filename="../src/fileProcess/filecheck.cpp" line="31"/>
<location filename="../src/fileProcess/filecheck.cpp" line="36"/>
<location filename="../src/fileProcess/filecheck.cpp" line="41"/>
<location filename="../src/fileProcess/filecheck.cpp" line="46"/>
<source>error</source>
<translation></translation>
</message>
<message>
<location filename="../src/fileProcess/filecheck.cpp" line="31"/>
<source>The wallpaper size must be 3840x2160</source>
<translation>3840x2160</translation>
</message>
<message>
<location filename="../src/fileProcess/filecheck.cpp" line="36"/>
<source>The file size cannot exceed 10MB</source>
<translation>10MB</translation>
</message>
<message>
<location filename="../src/fileProcess/filecheck.cpp" line="41"/>
<source>Cover size must be 1640x1080</source>
<translation>1640x1080</translation>
</message>
<message>
<location filename="../src/fileProcess/filecheck.cpp" line="46"/>
<source>The file size cannot exceed 5MB</source>
<translation>5MB</translation>
</message>
</context>
<context>
<name>GlobalThemeWidget</name>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="92"/>
<source>Overall theme rendering</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="115"/>
<location filename="../src/module/globalthemewidget.cpp" line="161"/>
<source>Select picture file</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="115"/>
<location filename="../src/module/globalthemewidget.cpp" line="161"/>
<source>Picture file (*.png *.jpg)</source>
<translation> (*.png *.jpg)</translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="141"/>
<source>Desktop wallpaper</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="189"/>
<source>Window appearance</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="193"/>
<source>light</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="194"/>
<source>dark</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="224"/>
<source>Control fillet</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="265"/>
<source>Accent colour</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="268"/>
<source>daybreakBlue</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="269"/>
<source>jamPurple</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="270"/>
<source>magenta</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="271"/>
<source>sunRed</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="272"/>
<source>sunsetOrange</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="273"/>
<source>dustGold</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/globalthemewidget.cpp" line="274"/>
<source>polarGreen</source>
<translation>绿</translation>
</message>
</context>
<context>
<name>HistoryWidget</name>
<message>
<location filename="../src/module/historywidget.cpp" line="12"/>
<source>Historical record</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/historywidget.cpp" line="14"/>
<source>Records are kept for 30 days only</source>
<translation>30</translation>
</message>
</context>
<context>
<name>IconThemeWidget</name>
<message>
<location filename="../src/module/iconthemewidget.cpp" line="81"/>
<location filename="../src/module/iconthemewidget.cpp" line="164"/>
<source>Select SVG file</source>
<translation>SVG文件</translation>
</message>
<message>
<location filename="../src/module/iconthemewidget.cpp" line="81"/>
<location filename="../src/module/iconthemewidget.cpp" line="164"/>
<source>SVG file (*.svg)</source>
<translation>SVG (*.svg)</translation>
</message>
<message>
<location filename="../src/module/iconthemewidget.cpp" line="258"/>
<source>APP</source>
<translation>APP</translation>
</message>
<message>
<location filename="../src/module/iconthemewidget.cpp" line="260"/>
<source>System setting</source>
<translation></translation>
</message>
</context>
<context>
<name>InfoCreateWidget</name>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="43"/>
<source>ThemeName-CN</source>
<translation>-</translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="52"/>
<source>ThemeName-EN</source>
<translation>-</translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="66"/>
<source>Builder Name</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="75"/>
<source>Builder Mail</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="88"/>
<source>Back</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="89"/>
<source>OK</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="90"/>
<source>Create</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="144"/>
<source>Input format error!</source>
<translation></translation>
</message>
<message>
<location filename="../src/module/infocreatewidget.cpp" line="153"/>
<source>Input is empty!</source>
<translation></translation>
</message>
</context>
<context>
<name>MainInterface</name>
<message>
<location filename="../src/maininterface.cpp" line="125"/>
<source>GlobalTheme</source>
<translation></translation>
</message>
<message>
<location filename="../src/maininterface.cpp" line="127"/>
<source>IconTheme</source>
<translation></translation>
</message>
<message>
<location filename="../src/maininterface.cpp" line="129"/>
<source>CursorTheme</source>
<translation></translation>
</message>
<message>
<location filename="../src/maininterface.cpp" line="131"/>
<source>PlymouthTheme</source>
<translation></translation>
</message>
<message>
<location filename="../src/maininterface.cpp" line="133"/>
<source>GrubTheme</source>
<translation></translation>
</message>
<message>
<location filename="../src/maininterface.cpp" line="136"/>
<source>Start Building</source>
<translation></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../src/mainwindow.cpp" line="71"/>
<source>kylin-theme-builder</source>
<translation></translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="74"/>
<source>User guide</source>
<translation>使</translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="105"/>
<source>Global Theme</source>
<translation></translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="107"/>
<source>Icon Theme</source>
<translation></translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="109"/>
<source>Cursor Theme</source>
<translation></translation>
</message>
<message>
<location filename="../src/mainwindow.cpp" line="111"/>
<source>Boot Theme</source>
<translation></translation>
</message>
</context>
<context>
<name>TitleBar</name>
<message>
<location filename="../src/titlebar.cpp" line="27"/>
<source>Menu</source>
<translation></translation>
</message>
<message>
<location filename="../src/titlebar.cpp" line="35"/>
<source>Save path</source>
<translation></translation>
</message>
<message>
<location filename="../src/titlebar.cpp" line="37"/>
<source>about</source>
<translation></translation>
</message>
<message>
<location filename="../src/titlebar.cpp" line="39"/>
<source>help</source>
<translation></translation>
</message>
<message>
<location filename="../src/titlebar.cpp" line="41"/>
<source>exit</source>
<translation>退</translation>
</message>
</context>
</TS>