summaryrefslogtreecommitdiff
path: root/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/main.cpp b/main.cpp
index ccb6fbd..2d23694 100644
--- a/main.cpp
+++ b/main.cpp
@@ -13,12 +13,42 @@
BoardManager *board_manager;
+static QString adjustPath(const QString &path)
+{
+#ifdef Q_OS_UNIX
+#ifdef Q_OS_MAC
+ if (!QDir::isAbsolutePath(path))
+ return QString::fromLatin1("%1/../Resources/%2")
+ .arg(QCoreApplication::applicationDirPath(), path);
+#else
+ const QString pathInInstallDir =
+ QString::fromLatin1("%1/../%2").arg(QCoreApplication::applicationDirPath(), path);
+ if (QFileInfo(pathInInstallDir).exists())
+ return pathInInstallDir;
+#endif
+#endif
+ return path;
+}
+
Q_DECL_EXPORT int main(int argc, char *argv[])
{
QScopedPointer<QApplication> app(createApplication(argc, argv));
QApplication::setOrganizationDomain("com.javispedro.tapasboard");
QApplication::setOrganizationName("tapasboard");
QApplication::setApplicationName("tapasboard");
+ QApplication::setApplicationVersion("0.0.1");
+
+ const QString locale_path = adjustPath("i18n");
+ QString locale = QLocale::system().name();
+ QTranslator translator;
+
+ if (!(translator.load(locale, locale_path))) {
+ // Fallback to English
+ qDebug() << "Translation not available for" << locale;
+ translator.load("en", locale_path);
+ }
+
+ app->installTranslator(&translator);
QScopedPointer<BoardManager> manager(new BoardManager);
board_manager = manager.data(); // Set the global pointer to this singleton