1 #include <QApplication> 3 #include <QLibraryInfo> 7 #include "TranslatorContainer.h" 11 QLocale localeDefault;
13 QSettings settings (SETTINGS_ENGAUGE, SETTINGS_DIGITIZER);
14 settings.beginGroup(SETTINGS_GROUP_MAIN_WINDOW);
17 QLocale::Language language = static_cast<QLocale::Language> (settings.value (SETTINGS_LOCALE_LANGUAGE,
18 QVariant (localeDefault.language())).toInt());
19 QLocale::Country country = static_cast<QLocale::Country> (settings.value (SETTINGS_LOCALE_COUNTRY,
20 QVariant (localeDefault.country())).toInt());
21 QLocale locale (language,
30 if ((localeDefault.name().toLower() !=
"en_us") ||
31 (localeDefault.name().toLower() != locale.name().toLower())) {
33 QString localeName = locale.name().toLower();
36 m_translatorGeneric =
new QTranslator;
37 m_translatorGeneric->load (
"qt_" + localeName,
38 QLibraryInfo::location (QLibraryInfo::TranslationsPath));
39 QApplication::installTranslator (m_translatorGeneric);
46 QString delimiters (
"._");
47 m_translatorEngauge =
new QTranslator;
49 bool rtn = m_translatorEngauge->load (
"engauge_" + localeName,
54 QString localeNameUpper = QString (
"%1%2")
55 .arg (localeName.left (localeName.length() - 2))
56 .arg (localeName.right (2).toUpper ());
57 m_translatorEngauge->load (
"engauge_" + localeNameUpper,
61 QApplication::installTranslator (m_translatorEngauge);
67 #if defined(OSX_DEBUG) || defined(OSX_RELEASE) 68 return QCoreApplication::applicationDirPath () +
"/../Resources/translations";
70 return QCoreApplication::applicationDirPath () +
"/translations";
TranslatorContainer(QApplication &app)
Single constructor. Argument is needed so object is not optimized away in main() in Windows.
static QString qmDirectory()
Platform dependent directory containing qm translation files.