From bf7453843683494b81dd70232a2093577db34289 Mon Sep 17 00:00:00 2001 From: Jan Darmochwal Date: Wed, 6 Oct 2010 01:35:05 +0200 Subject: i18n support and German translation Translation can be done with .ts-files in src/i18n/de.ts. The resulting .qm-files are stored as resources in the program binary. build.sh has a new option --update-translations that causes the .ts files to be updated --- CMakeLists.txt | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 0bc9e02..9601a66 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,7 @@ file(GLOB_RECURSE VMCHOOSER_SOURCES src/*.cpp) file(GLOB_RECURSE VMCHOOSER_MOC_HEADERS src/*.h) file(GLOB_RECURSE VMCHOOSER_UIS src/ui/*.ui) file(GLOB_RECURSE VMCHOOSER_RESOURCES src/*.qrc) +file(GLOB_RECURSE VMCHOOSER_TSS src/i18n/*.ts) include_directories(${CMAKE_CURRENT_BINARY_DIR}) @@ -48,7 +49,6 @@ endif(LIBXML2_FOUND) # # Qt4 # -# TODO: Qt4.3 should do find_package(Qt4 4.5.0 REQUIRED) if(QT4_FOUND) message(STATUS "Qt4 found") @@ -62,6 +62,29 @@ set(QT_USE_QTSVG TRUE) include(${QT_USE_FILE}) +option(UPDATE_TRANSLATIONS "Update .ts files (WARNING: make clean will delete the .ts files!)") +if(VMCHOOSER_TSS) + if (UPDATE_TRANSLATIONS) + set (FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${VMCHOOSER_SOURCES} ${VMCHOOSER_UIS}) + QT4_CREATE_TRANSLATION(VMCHOOSER_QMS ${FILES_TO_TRANSLATE} ${VMCHOOSER_TSS} OPTIONS -noobsolete) + message(STATUS ".tr files have been updated") + else (UPDATE_TRANSLATIONS) + QT4_ADD_TRANSLATION(VMCHOOSER_QMS ${VMCHOOSER_TSS}) + endif (UPDATE_TRANSLATIONS) + + # write a resource file for qm files + set(resource_file_content "\n \n") + foreach(file ${VMCHOOSER_QMS}) + get_filename_component(filename ${file} NAME) + set(resource_file_content "${resource_file_content} ${filename}\n") + endforeach(file) + set(resource_file_content "${resource_file_content} \n\n") + file(WRITE "${CMAKE_BINARY_DIR}/translation.qrc" "${resource_file_content}") + set(VMCHOOSER_RESOURCES ${VMCHOOSER_RESOURCES} "${CMAKE_BINARY_DIR}/translation.qrc") + + #add_custom_target(translations_target DEPENDS ${VMCHOOSER_QMS}) +endif(VMCHOOSER_TSS) + QT4_ADD_RESOURCES(VMCHOOSER_RC_SOURCES ${VMCHOOSER_RESOURCES}) QT4_WRAP_UI(VMCHOOSER_UI_HEADERS ${VMCHOOSER_UIS}) QT4_WRAP_CPP(VMCHOOSER_MOC_SOURCES ${VMCHOOSER_MOC_HEADERS}) @@ -77,6 +100,7 @@ add_executable(vmchooser ${VMCHOOSER_MOC_SOURCES} ${VMCHOOSER_UI_HEADERS} ${VMCHOOSER_RC_SOURCES} + ${VMCHOOSER_QMS} ) target_link_libraries(vmchooser -- cgit v1.2.3-55-g7522