Skip to content

Commit

Permalink
工作平台增加翻译
Browse files Browse the repository at this point in the history
  • Loading branch information
Joy1024 committed Aug 4, 2024
1 parent 2ff512b commit 5d6d6fc
Show file tree
Hide file tree
Showing 6 changed files with 120 additions and 5 deletions.
31 changes: 28 additions & 3 deletions src/modules/platform/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,23 +1,47 @@
project(Platform)
add_definitions(-DOK_${PROJECT_NAME}_MODULE="${PROJECT_NAME}")

file(GLOB_RECURSE ${PROJECT_NAME}_SOURCES src/*.h src/*.cpp)
file(GLOB_RECURSE ${PROJECT_NAME}_RESOURCES res/*.html res/*.js)
file(GLOB_RECURSE ${PROJECT_NAME}_UIS src/*.ui)

file(GLOB ${PROJECT_NAME}_TSS
ts/*.ts
ts/*.xml
)
qt5_add_translation(
${PROJECT_NAME}_QM_FILES
${${PROJECT_NAME}_TSS}
)

set(RESOURCE_NAME "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.qrc.in")

file(WRITE "${RESOURCE_NAME}"
"<!DOCTYPE RCC>
<RCC version=\"1.0\">
<qresource prefix=\"/res/${PROJECT_NAME}\">
")
foreach (qm ${${PROJECT_NAME}_RESOURCES})
")
# ts
file(APPEND "${RESOURCE_NAME}" "<qresource prefix=\"/translations/${PROJECT_NAME}\">
") #换行
foreach (qm ${${PROJECT_NAME}_QM_FILES})
get_filename_component(qm_name ${qm} NAME)
file(APPEND "${RESOURCE_NAME}"
#留出格式空间
" <file alias=\"${qm_name}\">${qm}</file>\n")
endforeach (qm)
file(APPEND "${RESOURCE_NAME}"
"</qresource>")

file(APPEND "${RESOURCE_NAME}" "
<qresource prefix=\"/res/${PROJECT_NAME}\">
") #换行

foreach (f ${${PROJECT_NAME}_RESOURCES})
get_filename_component(f_name ${f} NAME)
file(APPEND "${RESOURCE_NAME}"
" <file alias=\"${f_name}\">${f}</file>\n")
endforeach (f)

file(APPEND "${RESOURCE_NAME}"
"</qresource>
Expand All @@ -39,6 +63,7 @@ qt5_wrap_ui(${PROJECT_NAME}_FORMS
${${PROJECT_NAME}_UIS}
)


add_library(${PROJECT_NAME} STATIC
${${PROJECT_NAME}_SOURCES}
${${PROJECT_NAME}_RESOURCES}
Expand Down
22 changes: 20 additions & 2 deletions src/modules/platform/src/Widget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,25 @@
#include "ui_Widget.h"

#include "AppCenterWidget.h"
#include "Bus.h"
#include "application.h"
#include "base/OkSettings.h"
#include "lib/settings/translator.h"

namespace ok::platform {

Widget::Widget(QWidget* parent) : UI::OMenuWidget(parent), ui(new Ui::WorkPlatform) {
OK_RESOURCE_INIT(Platform);
ui->setupUi(this);

ui->tabWidget->setObjectName("mainTab");

QString locale = ok::base::OkSettings::getInstance().getTranslation();
settings::Translator::translate(OK_Platform_MODULE, locale);
settings::Translator::registerHandler([this] { retranslateUi(); }, this);
retranslateUi();
connect(ok::Application::Instance()->bus(), &ok::Bus::languageChanged,
[](QString locale0) { settings::Translator::translate(OK_Platform_MODULE, locale0); });

centerWidget = new AppCenterWidget(this);
ui->tabWidget->addTab(centerWidget, tr("App center"));

Expand All @@ -37,10 +47,18 @@ Widget::Widget(QWidget* parent) : UI::OMenuWidget(parent), ui(new Ui::WorkPlatfo
//
}

Widget::~Widget() {}
Widget::~Widget() {
settings::Translator::unregister(this);
delete ui;
}

void Widget::start() { centerWidget->start(); }

void Widget::doStart() {}

void Widget::retranslateUi() {
ui->retranslateUi(this);
ui->tabWidget->setTabText(0, tr("App center"));
}

} // namespace ok::platform
3 changes: 3 additions & 0 deletions src/modules/platform/src/Widget.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ class Widget : public UI::OMenuWidget {
~Widget() override;
void start();

protected:
void retranslateUi();

private:
OK_RESOURCE_PTR(Platform);
Ui::WorkPlatform* ui;
Expand Down
23 changes: 23 additions & 0 deletions src/modules/platform/ts/en.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (c) 2022 船山信息 chuanshaninfo.com
~ The project is licensed under Mulan PubL v2.
~ You can use this software according to the terms and conditions of the Mulan
~ PubL v2. You may obtain a copy of Mulan PubL v2 at:
~ http://license.coscl.org.cn/MulanPubL-2.0
~ THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
~ EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
~ MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
~ See the Mulan PubL v2 for more details.
-->

<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>ok::platform::Widget</name>
<message>
<source>App center</source>
<translation>App Center</translation>
</message>
</context>
</TS>
23 changes: 23 additions & 0 deletions src/modules/platform/ts/zh_CN.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (c) 2022 船山信息 chuanshaninfo.com
~ The project is licensed under Mulan PubL v2.
~ You can use this software according to the terms and conditions of the Mulan
~ PubL v2. You may obtain a copy of Mulan PubL v2 at:
~ http://license.coscl.org.cn/MulanPubL-2.0
~ THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
~ EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
~ MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
~ See the Mulan PubL v2 for more details.
-->

<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>ok::platform::Widget</name>
<message>
<source>App center</source>
<translation>应用中心</translation>
</message>
</context>
</TS>
23 changes: 23 additions & 0 deletions src/modules/platform/ts/zh_TW.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (c) 2022 船山信息 chuanshaninfo.com
~ The project is licensed under Mulan PubL v2.
~ You can use this software according to the terms and conditions of the Mulan
~ PubL v2. You may obtain a copy of Mulan PubL v2 at:
~ http://license.coscl.org.cn/MulanPubL-2.0
~ THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
~ EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
~ MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
~ See the Mulan PubL v2 for more details.
-->

<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>ok::platform::Widget</name>
<message>
<source>App center</source>
<translation>應用中心</translation>
</message>
</context>
</TS>

0 comments on commit 5d6d6fc

Please sign in to comment.