diff options
Diffstat (limited to 'main.cpp')
-rw-r--r-- | main.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -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 |