diff --git a/widgets/ukui-panel-calendar/CMakeLists.txt b/widgets/ukui-panel-calendar/CMakeLists.txt
index 3f7fcdc..3c951af 100644
--- a/widgets/ukui-panel-calendar/CMakeLists.txt
+++ b/widgets/ukui-panel-calendar/CMakeLists.txt
@@ -11,8 +11,8 @@ set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
-find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Quick DBus REQUIRED)
-find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick DBus REQUIRED)
+find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Quick Widgets DBus LinguistTools REQUIRED)
+find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick Widgets DBus LinguistTools REQUIRED)
find_package(PkgConfig REQUIRED)
set(EXTERNAL_LIBS "")
@@ -31,11 +31,15 @@ set(PROJECT_SOURCES
plugin/calendar.h plugin/calendar.cpp
)
+file(GLOB TS_FILES i18n/*.ts)
+
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
- add_library(${PROJECT_NAME} SHARED MANUAL_FINALIZATION ${PROJECT_SOURCES})
+ qt_create_translation(QM_FILES ${CMAKE_CURRENT_SOURCE_DIR} ${TS_FILES} OPTIONS -no-obsolete -no-ui-lines)
+ add_library(${PROJECT_NAME} SHARED MANUAL_FINALIZATION ${PROJECT_SOURCES} ${QM_FILES})
else()
- add_library(${PROJECT_NAME} SHARED ${PROJECT_SOURCES})
+ qt5_create_translation(QM_FILES ${CMAKE_CURRENT_SOURCE_DIR} ${TS_FILES} OPTIONS -no-obsolete -no-ui-lines)
+ add_library(${PROJECT_NAME} SHARED ${PROJECT_SOURCES} ${QM_FILES})
endif()
target_compile_definitions(${PROJECT_NAME}
@@ -46,10 +50,12 @@ target_link_libraries(${PROJECT_NAME}
PRIVATE
Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::Quick
+ Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::DBus
${EXTERNAL_LIBS}
)
install(DIRECTORY "widget/" DESTINATION "/usr/share/ukui/widgets/org.ukui.panel.calendar")
+install(FILES ${QM_FILES} DESTINATION "/usr/share/ukui/widgets/org.ukui.panel.calendar/i18n")
install(FILES "plugin/qmldir" DESTINATION "/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/qt5/qml/org/ukui/panel/calendar")
install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION "/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/qt5/qml/org/ukui/panel/calendar")
diff --git a/widgets/ukui-panel-calendar/i18n/org.ukui.panel.calendar_zh_CN.ts b/widgets/ukui-panel-calendar/i18n/org.ukui.panel.calendar_zh_CN.ts
new file mode 100644
index 0000000..0f13da5
--- /dev/null
+++ b/widgets/ukui-panel-calendar/i18n/org.ukui.panel.calendar_zh_CN.ts
@@ -0,0 +1,34 @@
+
+
+
+
+ Calendar
+
+ notification
+ 条通知
+
+
+ notifications
+ 条通知
+
+
+ Notification center
+ 通知中心
+
+
+
+ main
+
+ Time and Date Setting
+ 时间日期设置
+
+
+ Open
+ 打开
+
+
+ Set up notification center
+ 设置通知中心
+
+
+
diff --git a/widgets/ukui-panel-calendar/plugin/calendar.cpp b/widgets/ukui-panel-calendar/plugin/calendar.cpp
index 4895e73..91d6d1e 100644
--- a/widgets/ukui-panel-calendar/plugin/calendar.cpp
+++ b/widgets/ukui-panel-calendar/plugin/calendar.cpp
@@ -27,6 +27,7 @@
#include
#include
#include
+#include
#include "kysdk/kysdk-system/libkydate.h"
diff --git a/widgets/ukui-panel-calendar/widget/metadata.json b/widgets/ukui-panel-calendar/widget/metadata.json
index c01d9d8..ae3a7cd 100644
--- a/widgets/ukui-panel-calendar/widget/metadata.json
+++ b/widgets/ukui-panel-calendar/widget/metadata.json
@@ -19,6 +19,7 @@
"ShowIn": "Panel,Sidebar",
"Contents": {
- "Main": "ui/main.qml"
+ "Main": "ui/main.qml",
+ "I18n": "i18n/org.ukui.panel.calendar"
}
}