00001 #include <QApplication>
00002 #include <QDir>
00003 #include <QLibraryInfo>
00004 #include <QSettings>
00005 #include <QTranslator>
00006 #include "Settings.h"
00007 #include "TranslatorContainer.h"
00008
00009 TranslatorContainer::TranslatorContainer(QApplication &app)
00010 {
00011 QLocale localeDefault;
00012
00013 QSettings settings (SETTINGS_ENGAUGE, SETTINGS_DIGITIZER);
00014 settings.beginGroup(SETTINGS_GROUP_MAIN_WINDOW);
00015
00016
00017 QLocale::Language language = (QLocale::Language) settings.value (SETTINGS_LOCALE_LANGUAGE,
00018 QVariant (localeDefault.language())).toInt();
00019 QLocale::Country country = (QLocale::Country) settings.value (SETTINGS_LOCALE_COUNTRY,
00020 QVariant (localeDefault.country())).toInt();
00021 QLocale locale (language,
00022 country);
00023
00024 settings.endGroup();
00025
00026
00027
00028
00029
00030 if ((localeDefault.name().toLower() != "en_us") ||
00031 (localeDefault.name().toLower() != locale.name().toLower())) {
00032
00033
00034 m_translatorGeneric = new QTranslator;
00035 m_translatorGeneric->load ("qt_" + locale.name().toLower(),
00036 QLibraryInfo::location (QLibraryInfo::TranslationsPath));
00037 app.installTranslator (m_translatorGeneric);
00038
00039
00040
00041
00042
00043
00044 QString delimiters ("._");
00045 m_translatorEngauge = new QTranslator;
00046 #ifdef OSX_RELEASE
00047 m_translatorEngauge->load ("engauge_" + locale.name().toLower(),
00048 QCoreApplication::applicationDirPath () + "/../Resources/translations",
00049 delimiters);
00050 #else
00051 m_translatorEngauge->load ("engauge_" + locale.name().toLower(),
00052 QCoreApplication::applicationDirPath () + "/translations",
00053 delimiters);
00054 #endif
00055 app.installTranslator (m_translatorEngauge);
00056 }
00057 }