diff --git a/cockatrice/CMakeLists.txt b/cockatrice/CMakeLists.txt index 4ba9a9f3..c32b7359 100644 --- a/cockatrice/CMakeLists.txt +++ b/cockatrice/CMakeLists.txt @@ -150,6 +150,13 @@ SET(cockatrice_HEADERS src/pending_command.h ) +if (UNIX) + set_source_files_properties(src/main.cpp PROPERTIES COMPILE_FLAGS -DTRANSLATION_PATH=\\"${CMAKE_INSTALL_PREFIX}/share/cockatrice/translations\\") +endif (UNIX) +if (WIN32) + set_source_files_properties(src/main.cpp PROPERTIES COMPILE_FLAGS -DTRANSLATION_PATH=\\"translations\\") +endif (WIN32) + set(cockatrice_RESOURCES cockatrice.qrc) set(cockatrice_TS translations/cockatrice_cs.ts @@ -187,12 +194,11 @@ if (NOT QT_QTMULTIMEDIA_FOUND) endif (NOT QT_QTMULTIMEDIA_FOUND) FIND_PACKAGE(Protobuf REQUIRED) -#set(CMAKE_BUILD_TYPE Release) set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -O0") set(CMAKE_CXX_FLAGS_RELEASE "-s -O2") QT4_WRAP_CPP(cockatrice_HEADERS_MOC ${cockatrice_HEADERS}) -QT4_ADD_TRANSLATION(${cockatrice_QM} ${cockatrice_TS}) +QT4_ADD_TRANSLATION(cockatrice_QM ${cockatrice_TS}) QT4_ADD_RESOURCES(cockatrice_RESOURCES_RCC ${cockatrice_RESOURCES}) INCLUDE(${QT_USE_FILE}) @@ -211,6 +217,7 @@ if (NOT WIN32 AND NOT APPLE) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resources/cockatrice.png DESTINATION share/icons/hicolor/48x48/apps) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resources/cockatrice.svg DESTINATION share/icons/hicolor/scalable/apps) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cockatrice.desktop DESTINATION share/applications) + INSTALL(FILES ${cockatrice_QM} DESTINATION share/cockatrice/translations) ENDIF(NOT WIN32 AND NOT APPLE) add_custom_command( diff --git a/cockatrice/cockatrice.qrc b/cockatrice/cockatrice.qrc index 8696065e..a47b45f2 100644 --- a/cockatrice/cockatrice.qrc +++ b/cockatrice/cockatrice.qrc @@ -53,20 +53,6 @@ resources/genders/female.svg resources/genders/unknown.svg - translations/cockatrice_de.qm - translations/cockatrice_en.qm - translations/cockatrice_es.qm - translations/cockatrice_it.qm - translations/cockatrice_pt.qm - translations/cockatrice_fr.qm - translations/cockatrice_ja.qm - translations/cockatrice_ru.qm - translations/cockatrice_sv.qm - resources/countries/ar.svg resources/countries/at.svg resources/countries/au.svg diff --git a/cockatrice/src/dlg_settings.cpp b/cockatrice/src/dlg_settings.cpp index ae45e5e8..ab9b6fe7 100644 --- a/cockatrice/src/dlg_settings.cpp +++ b/cockatrice/src/dlg_settings.cpp @@ -104,7 +104,7 @@ GeneralSettingsPage::GeneralSettingsPage() QStringList GeneralSettingsPage::findQmFiles() { - QDir dir(":/translations"); + QDir dir(translationPath); QStringList fileNames = dir.entryList(QStringList(translationPrefix + "_*.qm"), QDir::Files, QDir::Name); fileNames.replaceInStrings(QRegExp(translationPrefix + "_(.*)\\.qm"), "\\1"); return fileNames; @@ -113,7 +113,7 @@ QStringList GeneralSettingsPage::findQmFiles() QString GeneralSettingsPage::languageName(const QString &qmFile) { QTranslator translator; - translator.load(":/translations/" + translationPrefix + "_" + qmFile + ".qm"); + translator.load(translationPrefix + "_" + qmFile + ".qm", translationPath); return translator.translate("GeneralSettingsPage", "English"); } diff --git a/cockatrice/src/main.cpp b/cockatrice/src/main.cpp index 69634b6a..88a37512 100644 --- a/cockatrice/src/main.cpp +++ b/cockatrice/src/main.cpp @@ -47,6 +47,13 @@ SettingsCache *settingsCache; RNG_Abstract *rng; SoundEngine *soundEngine; +const QString translationPrefix = "cockatrice"; +#ifdef TRANSLATION_PATH +const QString translationPath = TRANSLATION_PATH; +#else +const QString translationPath = QString(); +#endif + void myMessageOutput(QtMsgType /*type*/, const char *msg) { static FILE *f = NULL; @@ -66,7 +73,7 @@ void installNewTranslator() if (!settingsCache->getCustomTranslationFile().isEmpty()) translator->load(settingsCache->getCustomTranslationFile()); else - translator->load(translationPrefix + "_" + lang, ":/translations"); + translator->load(translationPrefix + "_" + lang, translationPath); qApp->installTranslator(translator); } diff --git a/cockatrice/src/main.h b/cockatrice/src/main.h index 8b66b716..a8f8c678 100644 --- a/cockatrice/src/main.h +++ b/cockatrice/src/main.h @@ -8,7 +8,8 @@ class SoundEngine; extern CardDatabase *db; extern QTranslator *translator; -const QString translationPrefix = "cockatrice"; +extern const QString translationPrefix; +extern const QString translationPath; void installNewTranslator();