C
Qt Quick Ultralite translation Example
cmake_minimum_required (VERSION 3.15) project(translation VERSION 0.0.1 LANGUAGES C CXX ASM) if (NOT TARGET Qul::Core) find_package(Qul) endif() # # Setup qml modules. # qul_add_qml_module(translation_fontconfig_static URI fontconfiguration OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/translation_fontconfig_static QML_FILES "imports/fontconfigs/static/FontConfiguration.qml" ) if(TARGET Qul::MonotypeSpark) qul_add_qml_module(translation_fontconfig_spark URI fontconfiguration OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/translation_fontconfig_spark QML_FILES "imports/fontconfigs/spark/FontConfiguration.qml" ) endif() # Set up a target that includes all bundled languages qul_add_target(translation_all) qul_add_resource(translation_all FILES japan-flag-small.png saudi-arabia-flag-small.png thai-flag-small.png latvia-flag-small.png usa-flag-small.png norway-flag-small.png ) qul_target_qml_sources(translation_all translation.qml) target_link_libraries(translation_all PRIVATE Qul::Controls translation_fontconfig_static) app_target_setup_os(translation_all) app_target_default_entrypoint(translation_all translation) qul_target_embed_translations(translation_all translation.nb_NO.ts translation.lv_LV.ts translation.ja_JP.ts translation.ar_SA.ts translation.th_TH.ts) # Set up a lv_LV-only target qul_add_target(translation_lv) qul_add_resource(translation_lv FILES japan-flag-small.png saudi-arabia-flag-small.png thai-flag-small.png latvia-flag-small.png usa-flag-small.png norway-flag-small.png ) qul_target_qml_sources(translation_lv translation.qml) target_link_libraries(translation_lv PRIVATE Qul::Controls translation_fontconfig_static) app_target_setup_os(translation_lv) app_target_default_entrypoint(translation_lv translation) target_compile_definitions(translation_lv PRIVATE APP_DEFAULT_UILANGUAGE="lv_LV") qul_target_embed_translations(translation_lv translation.lv_LV.ts OMIT_SOURCE_LANGUAGE) # Qul ships some default fonts. Since they don't contain glyphs for # all the characters that are needed for this application, set the # QUL_FONT_FILES target property to add some fonts. set(FONT_FILES "${CMAKE_CURRENT_SOURCE_DIR}/fonts/kosugi/Kosugi-Regular.ttf" "${CMAKE_CURRENT_SOURCE_DIR}/fonts/sarabun/Sarabun-Regular.ttf" ) set_property(TARGET translation_all translation_lv APPEND PROPERTY QUL_FONT_FILES "${FONT_FILES}") if(TARGET Qul::MonotypeSpark) # Set up Spark target qul_add_target(translation_spark) qul_add_resource(translation_spark FILES japan-flag-small.png saudi-arabia-flag-small.png thai-flag-small.png latvia-flag-small.png usa-flag-small.png norway-flag-small.png ) set_target_properties(translation_spark PROPERTIES QUL_FONT_ENGINE "Spark" QUL_DEFAULT_FONT_FAMILY "arabic-style-font" QUL_FONT_CACHE_SIZE 1 # Disable the cache QUL_FONT_FILES "${CMAKE_CURRENT_SOURCE_DIR}/fonts/monotype/TranslationsSampleFontmap.fmp") qul_target_qml_sources(translation_spark translation.qml) target_link_libraries(translation_spark PRIVATE Qul::Controls translation_fontconfig_spark) app_target_setup_os(translation_spark) app_target_default_entrypoint(translation_spark translation) qul_target_embed_translations(translation_spark translation.nb_NO.ts translation.lv_LV.ts translation.ja_JP.ts translation.ar_SA.ts translation.th_TH.ts) endif() if (QUL_BUILD_QMLPROJECT_EXAMPLES) # Set up a target that includes all bundled languages qul_add_target(translation_all_qmlproject QML_PROJECT translation_all.qmlproject) app_target_setup_os(translation_all_qmlproject) app_target_default_entrypoint(translation_all_qmlproject translation) # Set up a lv_LV-only target qul_add_target(translation_lv_qmlproject QML_PROJECT translation_lv.qmlproject) app_target_setup_os(translation_lv_qmlproject) app_target_default_entrypoint(translation_lv_qmlproject translation) target_compile_definitions(translation_lv_qmlproject PRIVATE APP_DEFAULT_UILANGUAGE="lv_LV") if(TARGET Qul::MonotypeSpark) # Set up Spark target qul_add_target(translation_spark_qmlproject QML_PROJECT translation_spark.qmlproject) app_target_setup_os(translation_spark_qmlproject) app_target_default_entrypoint(translation_spark_qmlproject translation) endif() endif()