Engauge Digitizer  2
 All Classes Files Functions Variables Enumerations Enumerator Friends Pages
TranslatorContainer.cpp
1 #include <QApplication>
2 #include <QLibraryInfo>
3 #include <QSettings>
4 #include <QTranslator>
5 #include "Settings.h"
6 #include "TranslatorContainer.h"
7 
9 {
10  QSettings settings (SETTINGS_ENGAUGE, SETTINGS_DIGITIZER);
11  settings.beginGroup(SETTINGS_GROUP_MAIN_WINDOW);
12 
13  // Get the locale settings outside of the settings retrieval methods in MainWindow
14  QLocale localeDefault;
15  QLocale::Language language = (QLocale::Language) settings.value (SETTINGS_LOCALE_LANGUAGE,
16  QVariant (localeDefault.language())).toInt();
17  QLocale::Country country = (QLocale::Country) settings.value (SETTINGS_LOCALE_COUNTRY,
18  QVariant (localeDefault.country())).toInt();
19  QLocale locale (language,
20  country);
21 
22  settings.endGroup();
23 
24  // Basic translators, like buttons in QWizard
25  m_translatorGeneric = new QTranslator;
26  m_translatorGeneric->load ("qt_" + locale.name().toLower(),
27  QLibraryInfo::location (QLibraryInfo::TranslationsPath));
28  app.installTranslator (m_translatorGeneric);
29 
30  // Engauge-specific translators. As documented in engauge.pro, the country-specific engauge_XX_YY locale is loaded
31  // if available, otherwise engauge_XX is loaded if available
32  QString delimiters ("._");
33  m_translatorEngauge = new QTranslator;
34  m_translatorEngauge->load ("engauge_" + locale.name().toLower(),
35  QCoreApplication::applicationDirPath () + "/translations",
36  delimiters);
37  app.installTranslator (m_translatorEngauge);
38 }
TranslatorContainer(QApplication &app)
Single constructor.