From 36144fdbf178e8c27cd7b78727552237a1b41bd1 Mon Sep 17 00:00:00 2001 From: Qijia Liu Date: Sun, 17 Aug 2025 20:46:00 -0400 Subject: [PATCH] enter key translations --- .gitignore | 3 ++- CMakeLists.txt | 2 -- assets/CMakeLists.txt | 21 +++++++++++++----- .../Chinese/en.lproj/InfoPlist.strings | 1 + .../Chinese/zh-Hans.lproj/InfoPlist.strings | 1 + .../Hallelujah/en.lproj/InfoPlist.strings | 1 + .../zh-Hans.lproj/InfoPlist.strings | 1 + .../zh-Hans.lproj/Localizable.strings | Bin 0 -> 220 bytes .../Main}/en.lproj/InfoPlist.strings | 0 .../Main}/zh-Hans.lproj/InfoPlist.strings | 0 .../Main}/zh-Hans.lproj/Localizable.strings | Bin .../Mozc/en.lproj/InfoPlist.strings | 1 + .../Mozc/zh-Hans.lproj/InfoPlist.strings | 1 + .../Rime/en.lproj/InfoPlist.strings | 1 + .../Rime/zh-Hans.lproj/InfoPlist.strings | 1 + keyboard/CMakeLists.txt | 3 +++ src/CMakeLists.txt | 4 +--- 17 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 assets/SwiftTranslations/Chinese/en.lproj/InfoPlist.strings create mode 100644 assets/SwiftTranslations/Chinese/zh-Hans.lproj/InfoPlist.strings create mode 100644 assets/SwiftTranslations/Hallelujah/en.lproj/InfoPlist.strings create mode 100644 assets/SwiftTranslations/Hallelujah/zh-Hans.lproj/InfoPlist.strings create mode 100644 assets/SwiftTranslations/Keyboard/zh-Hans.lproj/Localizable.strings rename assets/{ => SwiftTranslations/Main}/en.lproj/InfoPlist.strings (100%) rename assets/{ => SwiftTranslations/Main}/zh-Hans.lproj/InfoPlist.strings (100%) rename assets/{ => SwiftTranslations/Main}/zh-Hans.lproj/Localizable.strings (100%) create mode 100644 assets/SwiftTranslations/Mozc/en.lproj/InfoPlist.strings create mode 100644 assets/SwiftTranslations/Mozc/zh-Hans.lproj/InfoPlist.strings create mode 100644 assets/SwiftTranslations/Rime/en.lproj/InfoPlist.strings create mode 100644 assets/SwiftTranslations/Rime/zh-Hans.lproj/InfoPlist.strings diff --git a/.gitignore b/.gitignore index 94b9214..2d0146d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ build *.tar.bz2 *.zip meta.swift -assets/en.lproj/Localizable.strings +assets/SwiftTranslations/Main/en.lproj/Localizable.strings +assets/SwiftTranslations/Keyboard/en.lproj/Localizable.strings diff --git a/CMakeLists.txt b/CMakeLists.txt index ff22c55..13da1b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -109,8 +109,6 @@ add_subdirectory(engines) fcitx5_get_addon_targets(COMMON_TARGETS iosnotifications fcitx5 iosfrontend uipanel) -set(LOCALES en zh-Hans) -list(TRANSFORM LOCALES APPEND ".lproj" OUTPUT_VARIABLE LPROJS) add_subdirectory(assets) add_subdirectory(common) add_subdirectory(keyboard) diff --git a/assets/CMakeLists.txt b/assets/CMakeLists.txt index 0e69db5..1693037 100644 --- a/assets/CMakeLists.txt +++ b/assets/CMakeLists.txt @@ -16,19 +16,28 @@ add_custom_target(png_images ALL execute_process(COMMAND "${PROJECT_SOURCE_DIR}/scripts/generate-icons.sh") # I18n -list(TRANSFORM LPROJS PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/" OUTPUT_VARIABLE LPROJ_DIRS) -list(TRANSFORM LPROJ_DIRS APPEND "/Localizable.strings" OUTPUT_VARIABLE LOCALIZABLE_STRINGS_FILES) +set(LOCALES en zh-Hans) +list(TRANSFORM LOCALES APPEND ".lproj" OUTPUT_VARIABLE LPROJS) + +list(TRANSFORM LPROJS PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/SwiftTranslations/Main/" OUTPUT_VARIABLE LOCALIZABLE_STRINGS_FILES) +list(TRANSFORM LOCALIZABLE_STRINGS_FILES APPEND "/Localizable.strings") + +list(TRANSFORM LPROJS PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/SwiftTranslations/Keyboard/" OUTPUT_VARIABLE KEYBOARD_LOCALIZABLE_STRINGS_FILES) +list(TRANSFORM KEYBOARD_LOCALIZABLE_STRINGS_FILES APPEND "/Localizable.strings") file(GLOB_RECURSE LOCALIZABLE_SWIFT_SOURCES ${PROJECT_SOURCE_DIR}/src/*.swift) +file(GLOB_RECURSE KEYBOARD_LOCALIZABLE_SWIFT_SOURCES ${PROJECT_SOURCE_DIR}/uipanel/*.swift) add_custom_command( - OUTPUT ${LOCALIZABLE_STRINGS_FILES} - COMMAND genstrings ${LOCALIZABLE_SWIFT_SOURCES} -SwiftUI -o ${CMAKE_CURRENT_SOURCE_DIR}/en.lproj + OUTPUT ${LOCALIZABLE_STRINGS_FILES} ${KEYBOARD_LOCALIZABLE_STRINGS_FILES} + COMMAND genstrings ${LOCALIZABLE_SWIFT_SOURCES} -SwiftUI -o ${CMAKE_CURRENT_SOURCE_DIR}/SwiftTranslations/Main/en.lproj COMMAND ${PROJECT_SOURCE_DIR}/scripts/update_translations.py ${LOCALIZABLE_STRINGS_FILES} - DEPENDS ${LOCALIZABLE_SWIFT_SOURCES} + COMMAND genstrings ${KEYBOARD_LOCALIZABLE_SWIFT_SOURCES} -SwiftUI -o ${CMAKE_CURRENT_SOURCE_DIR}/SwiftTranslations/Keyboard/en.lproj + COMMAND ${PROJECT_SOURCE_DIR}/scripts/update_translations.py ${KEYBOARD_LOCALIZABLE_STRINGS_FILES} + DEPENDS ${LOCALIZABLE_SWIFT_SOURCES} ${KEYBOARD_LOCALIZABLE_SWIFT_SOURCES} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMENT "Generating Localizable.strings..." ) add_custom_target(GenerateStrings - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/en.lproj/Localizable.strings + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/SwiftTranslations/Main/en.lproj/Localizable.strings ) diff --git a/assets/SwiftTranslations/Chinese/en.lproj/InfoPlist.strings b/assets/SwiftTranslations/Chinese/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..987cbf5 --- /dev/null +++ b/assets/SwiftTranslations/Chinese/en.lproj/InfoPlist.strings @@ -0,0 +1 @@ +CFBundleDisplayName = "Chinese"; diff --git a/assets/SwiftTranslations/Chinese/zh-Hans.lproj/InfoPlist.strings b/assets/SwiftTranslations/Chinese/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000..5bb8947 --- /dev/null +++ b/assets/SwiftTranslations/Chinese/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1 @@ +CFBundleDisplayName = "中文"; diff --git a/assets/SwiftTranslations/Hallelujah/en.lproj/InfoPlist.strings b/assets/SwiftTranslations/Hallelujah/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..9710032 --- /dev/null +++ b/assets/SwiftTranslations/Hallelujah/en.lproj/InfoPlist.strings @@ -0,0 +1 @@ +CFBundleDisplayName = "Hallelujah"; diff --git a/assets/SwiftTranslations/Hallelujah/zh-Hans.lproj/InfoPlist.strings b/assets/SwiftTranslations/Hallelujah/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000..736b633 --- /dev/null +++ b/assets/SwiftTranslations/Hallelujah/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1 @@ +CFBundleDisplayName = "哈利路亚"; diff --git a/assets/SwiftTranslations/Keyboard/zh-Hans.lproj/Localizable.strings b/assets/SwiftTranslations/Keyboard/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000000000000000000000000000000000000..a910f5c52e0f8fdebf75df496b46ef94d9eac489 GIT binary patch literal 220 zcmezWPl-X9L7TyrL5V>DNGbqn7~h(K3&=}h$Y;o7NJWzGi55swVt~k|17#69eS;d} zVKN{+6$~XvvIr4~-Xfri5{6QSBB1#QGm?^hI$&lL163pf<&zmQkW|Q|DAgjX$OF0& Mq5onq;{=E-0LLUC7ytkO literal 0 HcmV?d00001 diff --git a/assets/en.lproj/InfoPlist.strings b/assets/SwiftTranslations/Main/en.lproj/InfoPlist.strings similarity index 100% rename from assets/en.lproj/InfoPlist.strings rename to assets/SwiftTranslations/Main/en.lproj/InfoPlist.strings diff --git a/assets/zh-Hans.lproj/InfoPlist.strings b/assets/SwiftTranslations/Main/zh-Hans.lproj/InfoPlist.strings similarity index 100% rename from assets/zh-Hans.lproj/InfoPlist.strings rename to assets/SwiftTranslations/Main/zh-Hans.lproj/InfoPlist.strings diff --git a/assets/zh-Hans.lproj/Localizable.strings b/assets/SwiftTranslations/Main/zh-Hans.lproj/Localizable.strings similarity index 100% rename from assets/zh-Hans.lproj/Localizable.strings rename to assets/SwiftTranslations/Main/zh-Hans.lproj/Localizable.strings diff --git a/assets/SwiftTranslations/Mozc/en.lproj/InfoPlist.strings b/assets/SwiftTranslations/Mozc/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..7a88302 --- /dev/null +++ b/assets/SwiftTranslations/Mozc/en.lproj/InfoPlist.strings @@ -0,0 +1 @@ +CFBundleDisplayName = "Mozc"; diff --git a/assets/SwiftTranslations/Mozc/zh-Hans.lproj/InfoPlist.strings b/assets/SwiftTranslations/Mozc/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000..7a88302 --- /dev/null +++ b/assets/SwiftTranslations/Mozc/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1 @@ +CFBundleDisplayName = "Mozc"; diff --git a/assets/SwiftTranslations/Rime/en.lproj/InfoPlist.strings b/assets/SwiftTranslations/Rime/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..6b8b730 --- /dev/null +++ b/assets/SwiftTranslations/Rime/en.lproj/InfoPlist.strings @@ -0,0 +1 @@ +CFBundleDisplayName = "Rime"; diff --git a/assets/SwiftTranslations/Rime/zh-Hans.lproj/InfoPlist.strings b/assets/SwiftTranslations/Rime/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000..6b33c7b --- /dev/null +++ b/assets/SwiftTranslations/Rime/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1 @@ +CFBundleDisplayName = "中州韵"; diff --git a/keyboard/CMakeLists.txt b/keyboard/CMakeLists.txt index c920400..a1397f2 100644 --- a/keyboard/CMakeLists.txt +++ b/keyboard/CMakeLists.txt @@ -51,4 +51,7 @@ function(add_keyboard_extension keyboard language targets) REGISTRY_VARNAME getStaticAddon ADDONS ${COMMON_TARGETS} ${targets} ) + + copy_to(${keyboard} copy_directory "${PROJECT_SOURCE_DIR}/assets/SwiftTranslations/${keyboard}" "") + copy_to(${keyboard} copy_directory "${PROJECT_SOURCE_DIR}/assets/SwiftTranslations/Keyboard" "") endfunction() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 446099a..4e6391e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -208,9 +208,7 @@ endforeach() copy_to(app copy "${PROJECT_BINARY_DIR}/profile" profile) -foreach(LPROJ IN LISTS LPROJS) - copy_to(app copy_directory "${PROJECT_SOURCE_DIR}/assets/${LPROJ}" "${LPROJ}") -endforeach() +copy_to(app copy_directory "${PROJECT_SOURCE_DIR}/assets/SwiftTranslations/Main" "") fcitx5_import_addons(${BUNDLE_NAME} REGISTRY_VARNAME getStaticAddon