From 3a6a4cbc68ea92bb25f2f4ab9ae477a71b048afc Mon Sep 17 00:00:00 2001 From: Gary Wang Date: Sun, 5 Jan 2020 14:30:33 +0800 Subject: [PATCH] feat: i18n support again. --- CMakeLists.txt | 3 +++ main.cpp | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index abfbb6f..80c3de9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,6 +121,9 @@ if (WIN32) set (QM_FILE_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}/translations") else () set (QM_FILE_INSTALL_DIR "${CMAKE_INSTALL_FULL_DATADIR}/pineapple-pictures/translations") + target_compile_definitions(${EXE_NAME} + PRIVATE QM_FILE_INSTALL_DIR=${QM_FILE_INSTALL_DIR} + ) endif () install ( diff --git a/main.cpp b/main.cpp index 7483ba4..ca557e8 100644 --- a/main.cpp +++ b/main.cpp @@ -1,6 +1,7 @@ #include "mainwindow.h" #include #include +#include #include #include @@ -8,9 +9,14 @@ int main(int argc, char *argv[]) { QApplication a(argc, argv); - // since we did `CONFIG += lrelease embed_translations`... QTranslator translator; - translator.load(QString("PineapplePictures_%1").arg(QLocale::system().name()), ":/i18n/"); + QString qmDir; +#ifdef _WIN32 + qmDir = QDir(QCoreApplication::applicationDirPath()).absoluteFilePath("translations"); +#else + qmDir = QString(QM_FILE_INSTALL_DIR); +#endif + translator.load(QString("PineapplePictures_%1").arg(QLocale::system().name()), qmDir); a.installTranslator(&translator); // parse commandline arguments