mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 20:50:34 +01:00
Support for loading language .qm files as Qt resource
This commit is contained in:
@@ -71,10 +71,6 @@ find_package(
|
|||||||
|
|
||||||
set(CMAKE_AUTOUIC_SEARCH_PATHS ${QET_DIR}/sources/ui)
|
set(CMAKE_AUTOUIC_SEARCH_PATHS ${QET_DIR}/sources/ui)
|
||||||
|
|
||||||
qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
|
|
||||||
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${QET_DIR}/lang")
|
|
||||||
qt_add_translation(QM_FILES ${TS_FILES})
|
|
||||||
|
|
||||||
# als laatse
|
# als laatse
|
||||||
include(cmake/define_definitions.cmake)
|
include(cmake/define_definitions.cmake)
|
||||||
|
|
||||||
@@ -86,6 +82,14 @@ add_executable(
|
|||||||
${QET_DIR}/qelectrotech.qrc
|
${QET_DIR}/qelectrotech.qrc
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(QMFILES_AS_RESOURCE)
|
||||||
|
qt_add_translations(${PROJECT_NAME} TS_FILES ${TS_FILES} RESOURCE_PREFIX "/lang")
|
||||||
|
else()
|
||||||
|
qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
|
||||||
|
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${QET_DIR}/lang")
|
||||||
|
qt_add_translation(QM_FILES ${TS_FILES})
|
||||||
|
endif()
|
||||||
|
|
||||||
find_package(SQLite3 REQUIRED)
|
find_package(SQLite3 REQUIRED)
|
||||||
|
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
@@ -152,6 +156,7 @@ install(FILES LICENSE ELEMENTS.LICENSE CREDIT README ChangeLog DESTINATION share
|
|||||||
install(FILES misc/org.qelectrotech.qelectrotech.desktop DESTINATION share/applications)
|
install(FILES misc/org.qelectrotech.qelectrotech.desktop DESTINATION share/applications)
|
||||||
install(FILES misc/qelectrotech.xml DESTINATION share/mime/packages)
|
install(FILES misc/qelectrotech.xml DESTINATION share/mime/packages)
|
||||||
install(FILES misc/qelectrotech.appdata.xml DESTINATION ${QET_APPDATA_PATH})
|
install(FILES misc/qelectrotech.appdata.xml DESTINATION ${QET_APPDATA_PATH})
|
||||||
install(FILES ${QM_FILES} DESTINATION ${QET_LANG_PATH})
|
if(NOT QMFILES_AS_RESOURCE)
|
||||||
|
install(FILES ${QM_FILES} DESTINATION ${QET_LANG_PATH})
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -69,3 +69,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
message("QET_COMPONENTS :" ${QET_COMPONENTS})
|
message("QET_COMPONENTS :" ${QET_COMPONENTS})
|
||||||
message("Qt version :" ${Qt${QT_VERSION_MAJOR}_VERSION})
|
message("Qt version :" ${Qt${QT_VERSION_MAJOR}_VERSION})
|
||||||
|
|
||||||
|
if(QMFILES_AS_RESOURCE)
|
||||||
|
add_definitions(-DQMFILES_AS_RESOURCE)
|
||||||
|
endif()
|
||||||
@@ -33,3 +33,6 @@ add_definitions(-DQT_MESSAGELOGCONTEXT)
|
|||||||
|
|
||||||
# Build with KF6
|
# Build with KF6
|
||||||
option(BUILD_WITH_KF6 "Build with KF6" ON)
|
option(BUILD_WITH_KF6 "Build with KF6" ON)
|
||||||
|
|
||||||
|
# Use translations as a Qt resource
|
||||||
|
option(QMFILES_AS_RESOURCE "Use .qm files as Qt resource" ON)
|
||||||
|
|||||||
@@ -222,6 +222,23 @@ void QETApp::setLanguage(const QString &desired_language) {
|
|||||||
|
|
||||||
// load translations for the QET application
|
// load translations for the QET application
|
||||||
// charge les traductions pour l'application QET
|
// charge les traductions pour l'application QET
|
||||||
|
#ifdef QMFILES_AS_RESOURCE
|
||||||
|
if (!qetTranslator.load(QLocale(desired_language), "qet" "_", ":/lang")) {
|
||||||
|
/* in case of failure,
|
||||||
|
* we fall back on the native channels for French
|
||||||
|
* en cas d'echec,
|
||||||
|
* on retombe sur les chaines natives pour le francais
|
||||||
|
*/
|
||||||
|
if (desired_language != "fr") {
|
||||||
|
// use of the English version by default
|
||||||
|
// utilisation de la version anglaise par defaut
|
||||||
|
if(!qetTranslator.load(QLocale(desired_language), "qet", "_", ":/lang"))
|
||||||
|
qWarning() << "failed to load"
|
||||||
|
<< ":/lang/qet_en.qm" << "(" << __FILE__
|
||||||
|
<< __LINE__ << __FUNCTION__ << ")";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
if (!qetTranslator.load("qet_" + desired_language, languages_path)) {
|
if (!qetTranslator.load("qet_" + desired_language, languages_path)) {
|
||||||
/* in case of failure,
|
/* in case of failure,
|
||||||
* we fall back on the native channels for French
|
* we fall back on the native channels for French
|
||||||
@@ -237,6 +254,8 @@ void QETApp::setLanguage(const QString &desired_language) {
|
|||||||
<< __LINE__ << __FUNCTION__ << ")";
|
<< __LINE__ << __FUNCTION__ << ")";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
qInfo() << "Loaded language file:" << qetTranslator.filePath();
|
||||||
qApp->installTranslator(&qetTranslator);
|
qApp->installTranslator(&qetTranslator);
|
||||||
|
|
||||||
QString ltr_special_string = tr(
|
QString ltr_special_string = tr(
|
||||||
|
|||||||
Reference in New Issue
Block a user