From 88d45641e8c06936635034cd83c8c7df1bd59439 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Fri, 12 Jul 2024 14:29:38 +0200 Subject: turns: add basic i18n --- lang/CMakeLists.txt | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 lang/CMakeLists.txt (limited to 'lang/CMakeLists.txt') diff --git a/lang/CMakeLists.txt b/lang/CMakeLists.txt new file mode 100644 index 0000000..4bc985c --- /dev/null +++ b/lang/CMakeLists.txt @@ -0,0 +1,38 @@ +set(TRANSLATIONS + "de" + "en_US" +) + +foreach(LANG IN LISTS TRANSLATIONS) + set(SOURCE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/po/${LANG}.po") + set(BINARY_FILE "${CMAKE_CURRENT_BINARY_DIR}/${LANG}/LC_MESSAGES/turns.mo") + + list(APPEND TRANSLATION_BINARIES "${BINARY_FILE}") + + add_custom_command(OUTPUT "${BINARY_FILE}" + COMMAND "${GETTEXT_MSGFMT_EXECUTABLE}" + ARGS + "-o" + "${BINARY_FILE}" + "${SOURCE_FILE}" + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + DEPENDS "${SOURCE_FILE}" + COMMENT "Processing translation ${LANG}" + ) + + install(FILES "${BINARY_FILE}" + DESTINATION "${CMAKE_INSTALL_FULL_LOCALEDIR}/${LANG}/LC_MESSAGES" + ) +endforeach() + +add_custom_target("mofiles" DEPENDS ${TRANSLATION_BINARIES}) + +add_library("lang" INTERFACE) + +add_library("turns::lang" ALIAS "lang") + +target_compile_definitions("lang" INTERFACE + "LOCALEDIR=\"${CMAKE_INSTALL_FULL_LOCALEDIR}\"" +) + +add_dependencies("lang" "mofiles") \ No newline at end of file -- cgit v1.2.3