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();