void MainWindow::varinit() { // GLOBAL // iTestServer version ver = "1.4.2"; f_ver = 1.42; // iTest ITDB file version itdb_ver = "1.4"; f_itdb_ver = 1.4; // iTest ITOS file version itos_ver = "1.4.2"; f_itos_ver = 1.42; // URLs itest_url = "itest.sourceforge.net"; docs_url = tr("http://itest.sourceforge.net/documentation/%1/en/").arg("1.4"); // i18n QTranslator translator; translator.load(":/i18n/iTest-i18n.qm"); itest_i18n.insert("English", "English"); itest_i18n.insert(translator.translate("LanguageNames", "Slovak"), "Slovak"); itest_i18n.insert(translator.translate("LanguageNames", "Russian"), "Russian"); itest_i18n.insert(translator.translate("LanguageNames", "Turkish"), "Turkish"); itest_i18n.insert(translator.translate("LanguageNames", "Portuguese"), "Portuguese"); itest_i18n.insert(translator.translate("LanguageNames", "Spanish"), "Spanish"); itest_i18n.insert(translator.translate("LanguageNames", "Italian"), "Italian"); itest_i18n.insert(translator.translate("LanguageNames", "Latvian"), "Latvian"); // CURRENT_DB current_db_open = false; }
LanguageManager::LanguageManager() { // lookup qm files under the :/lang dir QDir langDir( QmDirPath ); for ( QListIterator<QFileInfo> it( langDir.entryInfoList( QStringList() << QmTemplate.arg( QmInfoPrefix ), QDir::Files | QDir::CaseSensitive ) ); it.hasNext(); ) { const QFileInfo qmFileInfo = it.next(); QString moduleName; QString suffix; if ( !_splitFileName( qmFileInfo.completeBaseName(), &moduleName, &suffix ) ) continue; Q_ASSERT( moduleName == QmInfoPrefix ); Q_ASSERT( !languageInfoForName_.contains( suffix ) ); QTranslator * infoTranslator = new QTranslator( this ); if ( !infoTranslator->load( qmFileInfo.filePath() ) ) { delete infoTranslator; continue; } LanguageInfo languageInfo; languageInfo.isNull = false; languageInfo.name = suffix; languageInfo.englishName = infoTranslator->translate( "LanguageManager", LanguageNameInEnglish ); languageInfo.nativeName = infoTranslator->translate( "LanguageManager", LanguageNameInNative ); languageInfoForName_[ languageInfo.name ] = languageInfo; names_ << languageInfo.name; } QString defaultName; const QLocale currentLocale; if ( languageInfoForName_.contains( currentLocale.name() ) ) { defaultName = currentLocale.name(); } else { const QString localeLangName = currentLocale.name().left( currentLocale.name().indexOf( QLatin1Char( '_' ) ) ); if ( languageInfoForName_.contains( localeLangName ) ) { defaultName = localeLangName; } else { if ( languageInfoForName_.contains( DefaultLanguageName ) ) defaultName = DefaultLanguageName; } } if ( !defaultName.isNull() ) setCurrentName( defaultName ); }
// Keeps Data unique, i.e. replace if exist. // NOTE: This function is only used by ptSettings, i.e. oldschool void ptChoice::AddOrReplaceItem(const QString Text,const QVariant Data) { for (int i=0; i<m_ComboBox->count(); i++) { if (Data == m_ComboBox->itemData(i)) { QString Temp = appTranslator.translate("QObject",Text.toLocal8Bit().data()); if (Temp == "") Temp = Text; m_ComboBox->setItemText(i,Temp); return; } } QString Temp = appTranslator.translate("QObject",Text.toLocal8Bit().data()); if (Temp == "") Temp = Text; m_ComboBox->addItem(Temp,Data); }
void MainWindow::initLanguage() { QDir dir(":/res/lang"); QString strLang = m_settings->value(STR_MY_LANGUAGE).toString().toLower(); QStringList fileNames = dir.entryList(QStringList("*.qm"), QDir::Files, QDir::Name); // njcs_chn.qm ; njcs_en.qm QString strLangPath; QAction* act = NULL; QTranslator translator; m_actGrpLang = new QActionGroup(this); foreach(QString fileName, fileNames) { translator.load(dir.filePath(fileName)); if(fileName.length() > 8) { act = m_actGrpLang->addAction(translator.translate("MainWindow", "English")); act->setData(fileName.mid(5, fileName.length() - 8)); act->setCheckable(true); if(strLang == act->data()) { act->setChecked(true); strLangPath = dir.filePath(fileName); } } }
QString GeneralSettingsPage::languageName(const QString &qmFile) { QTranslator translator; translator.load(translationPrefix + "_" + qmFile + ".qm", translationPath); return translator.translate("GeneralSettingsPage", "English"); }
void MainWindow::createLanguageMenu() { _menuLanguage = new QMenu(_menuBar); _actionGroupLanguage = new QActionGroup(this); connect(_actionGroupLanguage, SIGNAL(triggered(QAction*)), this, SLOT(switchLanguage(QAction*))); QDir dir(_qmPath); QStringList fileNames = dir.entryList(QStringList("monofin_*.qm")); for (int i=0; i<fileNames.size(); ++i) { QString locale = fileNames[i]; locale.remove(0, locale.indexOf('_')+1); locale.truncate(locale.indexOf('.')); QTranslator translator; translator.load(fileNames[i], _qmPath); QString language = translator.translate("MainWindow", "English"); QAction *action = new QAction(tr("&%1 %2") .arg(i+1).arg(language), this); action->setCheckable(true); action->setData(locale); _menuLanguage->addAction(action); _actionGroupLanguage->addAction(action); if (language == _currentLanguage) action->setChecked(true); } }
QString LanguageChooser::languageName(const QString &qmFile) { QTranslator translator; translator.load(qmFile); return translator.translate("MainWindow", "English"); }
QString MainWindow::languageName(const QString &qmFile) { QTranslator translator; translator.load(qmFile); QString lan = translator.translate("MainWindow","English"); return lan; }
QList<Translation> getAllTranslations(){ QTranslator tmpTranslator; QList<Translation> translations; QSet<QString> names; QStringList paths = QStringList() << DataDir+"/i18n/" << HomeDir; QRegExp filename("keepassx-([^_]{2}_[^\\.]{2}|[^\\.]{2})\\.qm"); for (int i=0;i<paths.size();i++){ QDir dir(paths[i]); QStringList TrFiles=dir.entryList(QStringList()<<"*.qm",QDir::Files); for (int j=0;j<TrFiles.size();j++){ if (filename.exactMatch(TrFiles[j]) && TrFiles[j]!="keepassx-xx_XX.qm" && tmpTranslator.load(TrFiles[j],paths[i]) && !names.contains(filename.cap(1))) { Translation t; t.nameCode = filename.cap(1); t.nameLong = tmpTranslator.translate("Translation", "$LANGUAGE_NAME", "Insert your language name in the format: English (United States)"); t.author = tmpTranslator.translate("Translation", "$TRANSLATION_AUTHOR"); QLocale l(t.nameCode); t.nameEnglish = QLocale::languageToString(l.language()); if (t.nameCode.size()==5){ QString country = QLocale::countryToString(l.country()); int size = country.size(); for (int k=1; k<size; k++){ if (country[k].isUpper()){ country.insert(k, " "); k += 2; size++; } } t.nameEnglish.append(" (").append(country).append(")"); } if (t.nameLong.isEmpty()) t.nameLong = t.nameEnglish; translations << t; names << t.nameCode; } } } qSort(translations.begin(), translations.end()); return translations; }
extern "C" MY_EXPORT QString GetTranslatedGameName() { QString locale = FindSupportedLocaleName(); QTranslator translator; translator.load( QString(":/%1Res").arg(gameName) + "/lang/" + gameName + "_" + locale ); return translator.translate( "NiuNiuController", gameName.toAscii() ); }
QString tratra(const QTranslator &translator, const char *pCtxt, const char *pSrc, const char *pCmnt) { QString strMsg = translator.translate(pCtxt, pSrc, pCmnt); /* Return the source text if no translation is found: */ if (strMsg.isEmpty()) strMsg = QString(pSrc); return strMsg; }
QString IntroPage::languageName(const QString &qmFile) { if(qmFile == DEFAULT_LANG_CODE) return DEFAULT_LANG_NAME; QTranslator translator; translator.load(translationPrefix + "_" + qmFile + ".qm", translationPath); return translator.translate("IntroPage", DEFAULT_LANG_NAME); }
extern "C" MY_EXPORT QString GetTranslatedGameName() { QString locale = GetSettingLocaleName(); if ( locale == "auto" ) locale = QLocale::system().name(); QTranslator translator; translator.load( QString(":/%1Res").arg(gameName) + "/lang/" + gameName + "_" + locale ); return translator.translate( "GBMJController", gameName.toAscii() ); }
QString Config::languageName(const QString &qmFile) { QTranslator translator; QString file = "rbutil_" + qmFile; if(!translator.load(file, programPath)) translator.load(file, ":/lang"); return translator.translate("Configure", "English", "This is the localized language name, i.e. your language."); }
QString ApplicationHelper::tr(const char *sourceText, const char *disambiguation, int n) { static IncludeController ic; static QTranslator translator; const QString path = ic.getRequest().header().path(); int pos = path.indexOf('/') + 1; QString language = path.mid(pos, path.indexOf('/', pos) - 1); if(!translator.load(language, "./translations/")) return sourceText; return translator.translate("H", sourceText, disambiguation, n); }
int main(int argc, char* argv[]) { // Q_INIT_RESOURCE(flags); QApplication app(argc, argv); QTranslator trans; bool ok = trans.load(":/qxt_"+QLocale::system().name()); if (!ok) qDebug() << "Loading translation failed."; qDebug() << trans.translate("Country", "Germany"); app.installTranslator(&trans); TestDialog* w = new TestDialog(); w->show(); app.exec(); }
QList<QPair<QString, QString> > Translator::loadTranslationFiles() { language = tr("English"); QTranslator transl; QDir trPath(m_loc); QStringList fileNames = trPath.entryList(QStringList() << "*.qm", QDir::Files, QDir::Name); QList<QPair<QString, QString> > langsList; QPair<QString, QString> lang; for (int i = 0; i < fileNames.count(); i++) { lang.first = fileNames.at(i); transl.load(fileNames.at(i), m_loc); lang.second = transl.translate("Translator", "English"); langsList << lang; } return langsList; }
void ptChoice::createGUI() { QHBoxLayout *Layout = new QHBoxLayout(m_Parent); m_Parent->setLayout(Layout); m_ComboBox = new QComboBox(m_Parent); m_ComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents); m_ComboBox->setFixedHeight(24); m_ComboBox->setMaxVisibleItems(24); if (FIsNewSchool) { for (ptCfgItem::TComboEntry &hComboEntry: m_InitialOptionsNewschool) { m_ComboBox->addItem(hComboEntry.caption, hComboEntry.value); } } else { for (short i=0; m_InitialOptions && m_InitialOptions[i].Value !=-1; i++ ) { QString Temp = appTranslator.translate("QObject",m_InitialOptions[i].Text.toLocal8Bit().data()); if (Temp == "") Temp = m_InitialOptions[i].Text; m_ComboBox->addItem(Temp,m_InitialOptions[i].Value); } } m_ComboBox->installEventFilter(this); m_ComboBox->setFocusPolicy(Qt::ClickFocus); Layout->addWidget(m_ComboBox); Layout->setContentsMargins(0,0,0,0); Layout->setMargin(0); Layout->addStretch(1); Layout->setSpacing(2); // A timer for time filtering signals going outside. m_Timer = new QTimer(this); m_Timer->setSingleShot(1); connect(m_Timer, SIGNAL(timeout()), this, SLOT(OnValueChangedTimerExpired())); connect(m_ComboBox, SIGNAL(activated(int)), this, SLOT(OnValueChanged(int))); // Set the default Value (and remember for later). SetValue(m_DefaultValue,1); }
void ptChoice::Clear(const short WithDefault) { m_ComboBox->clear(); m_Value.clear(); if (WithDefault) { // Add the standard choices again. if (FIsNewSchool) { for (ptCfgItem::TComboEntry &hComboEntry: m_InitialOptionsNewschool) { m_ComboBox->addItem(hComboEntry.caption, hComboEntry.value); } } else { for (short i=0; m_InitialOptions && m_InitialOptions[i].Value !=-1; i++ ) { QString Temp = appTranslator.translate("QObject",m_InitialOptions[i].Text.toLocal8Bit().data()); if (Temp == "") Temp = m_InitialOptions[i].Text; m_ComboBox->addItem(Temp,m_InitialOptions[i].Value); } } m_Value = m_DefaultValue; } }
void Dialog2::func() { int n = getCount(); tr("%n files", "plural form", n); tr("%n cars", 0, n); tr("&Find %n cars", 0, n); tr("Search in %n items?", 0, n); tr("%1. Search in %n items?", 0, n); tr("Age: %1"); tr("There are %n house(s)", "Plurals and function call", getCount()); QCoreApplication::translate("Plurals, QCoreApplication", "%n house(s)", "Plurals and identifier", QCoreApplication::UnicodeUTF8, n); QCoreApplication::translate("Plurals, QCoreApplication", "%n car(s)", "Plurals and literal number", QCoreApplication::UnicodeUTF8, 1); QCoreApplication::translate("Plurals, QCoreApplication", "%n horse(s)", "Plurals and function call", QCoreApplication::UnicodeUTF8, getCount()); QTranslator trans; trans.translate("QTranslator", "Simple"); trans.translate("QTranslator", "Simple", 0); trans.translate("QTranslator", "Simple with comment", "with comment"); trans.translate("QTranslator", "Plural without comment", 0, 1); trans.translate("QTranslator", "Plural with comment", "comment 1", n); trans.translate("QTranslator", "Plural with comment", "comment 2", getCount()); }
QStringList LanguageChooser::getLanguages() { QStringList filter; filter << "*.qm"; QDir dir(QCoreApplication::applicationDirPath()); QStringList entries = dir.entryList(filter); QStringList files; QTranslator *t = new QTranslator(qApp); foreach (QString entry, entries) { if (!t->load(entry, dir.absolutePath())) { continue; } QString lang = t->translate("LanguageChooser", "English (en)"); if (!lang.isEmpty() && !lang.isNull()) { files << lang; } } files << "English (en)"; files.sort(); return files; }
void DkUtils::addLanguages(QComboBox* langCombo, QStringList& languages) { QDir qmDir = qApp->applicationDirPath(); // find all translations QStringList translationDirs = Settings::param().getTranslationDirs(); QStringList fileNames; for (int idx = 0; idx < translationDirs.size(); idx++) { fileNames += QDir(translationDirs[idx]).entryList(QStringList("nomacs_*.qm")); } langCombo->addItem("English"); languages << "en"; for (int i = 0; i < fileNames.size(); ++i) { QString locale = fileNames[i]; locale.remove(0, locale.indexOf('_') + 1); locale.chop(3); QTranslator translator; Settings::param().loadTranslation(fileNames[i], translator); //: this should be the name of the language in which nomacs is translated to QString language = translator.translate("nmc::DkGlobalSettingsWidget", "English"); if (language.isEmpty()) continue; langCombo->addItem(language); languages << locale; } langCombo->setCurrentIndex(languages.indexOf(Settings::param().global().language)); if (langCombo->currentIndex() == -1) // set index to English if language has not been found langCombo->setCurrentIndex(0); }
MainWindow::MainWindow() { // User interface ---------------------------------------------------------- if (tr("LTR") == "RTL") { qApp->setLayoutDirection(Qt::RightToLeft); } setupUi(this); network_access_manager = new QNetworkAccessManager(this); default_printer = NULL; #ifdef Q_OS_MAC this->setUnifiedTitleAndToolBarOnMac(true); #endif progressBar = new QProgressBar(this); progressBar->setTextVisible(false); progressBar->resize(QSize(30, 10)); statusBar()->addPermanentWidget(progressBar, 0); statusBar()->setFixedHeight(20); progressBar->setFixedWidth(150); progressBar->setFixedHeight(15); progressBar->setVisible(false); LQCategoryComboBox->setVisible(false); SQStatisticsLabel->setVisible(false); currentSvgChanged(); btnApply = SQButtonBox->button(QDialogButtonBox::Apply); btnApply->setText(tr("Apply")); btnApply->setStatusTip(tr("Apply any changes you have made to the question")); btnApply->setIcon(QIcon(QString::fromUtf8(":/images/images/button_ok.png"))); btnDiscard = SQButtonBox->button(QDialogButtonBox::Discard); btnDiscard->setText(tr("Discard")); btnDiscard->setStatusTip(tr("Discard any changes you have made to the question")); btnDiscard->setIcon(QIcon(QString::fromUtf8(":/images/images/button_cancel.png"))); SQQuestionTextEdit->setTitle(tr("Question:")); SQQuestionTextEdit->textEdit()->setStatusTip(tr("Text of the selected question")); ECTextEdit->setTitle(tr("Comments:")); ECTextEdit->textEdit()->setStatusTip(tr("Use this field for your comments, notes, reminders...")); EFTreeWidget->setMouseTracking(true); EFTreeWidget->header()->setSectionResizeMode(0, QHeaderView::Fixed); EFTreeWidget->header()->setSectionResizeMode(1, QHeaderView::Stretch); EFTreeWidget->header()->setSectionResizeMode(2, QHeaderView::ResizeToContents); EFButtonBox->button(QDialogButtonBox::Apply)->setText(tr("Apply")); EFButtonBox->button(QDialogButtonBox::Apply)->setStatusTip(tr("Apply any changes you have made to the categories")); EFButtonBox->button(QDialogButtonBox::Apply)->setIcon(QIcon(QString::fromUtf8(":/images/images/button_ok.png"))); EFButtonBox->button(QDialogButtonBox::Discard)->setText(tr("Discard")); EFButtonBox->button(QDialogButtonBox::Discard)->setStatusTip(tr("Discard any changes you have made to the categories")); EFButtonBox->button(QDialogButtonBox::Discard)->setIcon(QIcon(QString::fromUtf8(":/images/images/button_cancel.png"))); // Initialize variables ---------------------------------------------------- // URLs docs_url = tr("http://itest.sourceforge.net/documentation/%1/en/").arg("1.4"); // i18n QTranslator translator; translator.load(":/i18n/iTest-i18n.qm"); itest_i18n.insert("English", "en"); itest_i18n.insert(translator.translate("LanguageNames", "Slovak"), "sk"); itest_i18n.insert(translator.translate("LanguageNames", "Russian"), "ru"); itest_i18n.insert(translator.translate("LanguageNames", "Turkish"), "tr"); itest_i18n.insert(translator.translate("LanguageNames", "Portuguese"), "pt"); itest_i18n.insert(translator.translate("LanguageNames", "Spanish"), "es"); itest_i18n.insert(translator.translate("LanguageNames", "Italian"), "it"); itest_i18n.insert(translator.translate("LanguageNames", "Latvian"), "lv"); itest_i18n.insert(translator.translate("LanguageNames", "Ukrainian"), "uk"); itest_i18n.insert(translator.translate("LanguageNames", "Czech"), "cs"); itest_i18n.insert(translator.translate("LanguageNames", "Hungarian"), "hu"); itest_i18n.insert(translator.translate("LanguageNames", "German"), "de"); // CURRENT_DB current_db_open = false; current_db_session = NULL; current_db_class = NULL; current_db_categories.resize(20); current_db_categories_enabled.resize(20); // Connect slots ----------------------------------------------------------- tbtnAddQuestion->setDefaultAction(actionAdd); tbtnDuplicateQuestion->setDefaultAction(actionDuplicate); tbtnDeleteQuestion->setDefaultAction(actionDelete); QObject::connect(actionAdd, SIGNAL(triggered()), this, SLOT(addQuestion())); QObject::connect(actionDelete, SIGNAL(triggered()), this, SLOT(deleteQuestion())); QObject::connect(actionDuplicate, SIGNAL(triggered()), this, SLOT(duplicateQuestion())); QObject::connect(btnApply, SIGNAL(released()), this, SLOT(applyQuestionChanges())); QObject::connect(actionApply, SIGNAL(triggered()), this, SLOT(applyQuestionChanges())); QObject::connect(btnDiscard, SIGNAL(released()), this, SLOT(discardQuestionChanges())); QObject::connect(actionDiscard, SIGNAL(triggered()), this, SLOT(discardQuestionChanges())); QObject::connect(actionNew, SIGNAL(triggered()), this, SLOT(newDB())); QObject::connect(btnNew, SIGNAL(released()), this, SLOT(newDB())); QObject::connect(actionOpen, SIGNAL(triggered()), this, SLOT(open())); QObject::connect(btnOpenOther, SIGNAL(released()), this, SLOT(open())); QObject::connect(btnOpenSelected, SIGNAL(released()), this, SLOT(openRecent())); QObject::connect(actionSave, SIGNAL(triggered()), this, SLOT(save())); QObject::connect(actionSave_as, SIGNAL(triggered()), this, SLOT(saveAs())); QObject::connect(actionSave_a_copy, SIGNAL(triggered()), this, SLOT(saveCopy())); QObject::connect(actionExport_CSV, SIGNAL(triggered()), this, SLOT(exportCSV())); QObject::connect(actionClose, SIGNAL(triggered()), this, SLOT(closeDB())); QObject::connect(actionQuit, SIGNAL(triggered()), this, SLOT(quit())); QObject::connect(actionAbout, SIGNAL(triggered()), this, SLOT(about())); QObject::connect(recentDBsListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(openRecent(QListWidgetItem *))); QObject::connect(LQListWidget, SIGNAL(currentTextChanged(QString)), this, SLOT(setCurrentQuestion())); QObject::connect(actionFrom_A_to_Z, SIGNAL(triggered()), this, SLOT(sortQuestionsAscending())); QObject::connect(actionFrom_Z_to_A, SIGNAL(triggered()), this, SLOT(sortQuestionsDescending())); QObject::connect(actionBy_category, SIGNAL(triggered()), this, SLOT(sortQuestionsByCategory())); tbtnAddSVG->setDefaultAction(actionAdd_SVG); tbtnRemoveSVG->setDefaultAction(actionRemove_SVG); tbtnEditSVG->setDefaultAction(actionEdit_SVG); tbtnExportSVG->setDefaultAction(actionExport_SVG); QObject::connect(actionAdd_SVG, SIGNAL(triggered()), this, SLOT(addSvg())); QObject::connect(actionRemove_SVG, SIGNAL(triggered()), this, SLOT(removeSvg())); QObject::connect(actionEdit_SVG, SIGNAL(triggered()), this, SLOT(editSvg())); QObject::connect(actionExport_SVG, SIGNAL(triggered()), this, SLOT(exportSvg())); QObject::connect(SQSVGListWidget, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(previewSvg(QListWidgetItem *))); QObject::connect(SQSVGListWidget, SIGNAL(currentTextChanged(QString)), this, SLOT(currentSvgChanged())); tbtnMoveUp->setDefaultAction(actionMove_up); tbtnMoveDown->setDefaultAction(actionMove_down); QObject::connect(actionMove_up, SIGNAL(triggered()), this, SLOT(moveUp())); QObject::connect(actionMove_down, SIGNAL(triggered()), this, SLOT(moveDown())); QObject::connect(actionMove_to_top, SIGNAL(triggered()), this, SLOT(moveToTop())); QObject::connect(actionMove_to_bottom, SIGNAL(triggered()), this, SLOT(moveToBottom())); QObject::connect(actionHide, SIGNAL(triggered()), this, SLOT(hideQuestion())); QObject::connect(actionShow_hidden, SIGNAL(triggered()), this, SLOT(filterLQSearch())); rbtngrpFilterLQ = new QButtonGroup(this); rbtngrpFilterLQ->addButton(LQAllRadioButton); rbtngrpFilterLQ->addButton(LQEasyRadioButton); rbtngrpFilterLQ->addButton(LQMediumRadioButton); rbtngrpFilterLQ->addButton(LQDifficultRadioButton); rbtngrpFilterLQ->addButton(LQCategoryRadioButton); actgrpFilterLQ = new QActionGroup(this); actgrpFilterLQ->addAction(actionShow_all); actgrpFilterLQ->addAction(actionShow_easy); actgrpFilterLQ->addAction(actionShow_medium); actgrpFilterLQ->addAction(actionShow_difficult); actgrpFilterLQ->addAction(actionShow_category); QObject::connect(rbtngrpFilterLQ, SIGNAL(buttonReleased(QAbstractButton *)), this, SLOT(filterLQ(QAbstractButton *))); QObject::connect(actgrpFilterLQ, SIGNAL(triggered(QAction *)), this, SLOT(filterLQAction(QAction *))); QObject::connect(LQCategoryComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(filterLQCategoryChanged())); QObject::connect(LQSearchLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(filterLQSearch())); QObject::connect(tbtnSearchByGroup, SIGNAL(released()), this, SLOT(searchByGroup())); actgrpPage = new QActionGroup(this); actgrpPage->addAction(actionEdit_questions); actgrpPage->addAction(actionEdit_comments); actgrpPage->addAction(actionEdit_categories); actgrpPage->addAction(actionEdit_test); actgrpPage->addAction(actionSaved_sessions); actgrpPage->addAction(actionEdit_classes); QObject::connect(actgrpPage, SIGNAL(triggered(QAction *)), this, SLOT(setPage(QAction *))); //QObject::connect(btnApply, SIGNAL(released()), this, SLOT(setDatabaseModified())); //QObject::connect(actionApply, SIGNAL(triggered()), this, SLOT(setDatabaseModified())); QObject::connect(ECTextEdit, SIGNAL(textChanged()), this, SLOT(setDatabaseModified())); QObject::connect(actionCheck_for_updates, SIGNAL(triggered()), this, SLOT(checkForUpdates())); QObject::connect(network_access_manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(httpRequestFinished(QNetworkReply *))); QObject::connect(actionDocumentation, SIGNAL(triggered()), this, SLOT(openDocumentation())); QObject::connect(SQStatisticsLabel, SIGNAL(linkActivated(QString)), this, SLOT(adjustQuestionDifficulty())); QObject::connect(actionPrint_questions, SIGNAL(triggered()), this, SLOT(showPrintQuestionsDialogue())); QObject::connect(actionOverall_statistics, SIGNAL(triggered()), this, SLOT(overallStatistics())); QObject::connect(actionChange_language, SIGNAL(triggered()), this, SLOT(changeLanguage())); QObject::connect(mainStackedWidget, SIGNAL(currentChanged(int)), this, SLOT(currentPageChanged(int))); // Disable all ------------------------------------------------------------- setAllEnabled(false); // Categories ------------------------------------------------------------------- setupCategoriesPage(); // Server ------------------------------------------------------------------ setupServer(); // Session viewer ---------------------------------------------------------- setupSessionViewer(); // Class viewer ------------------------------------------------------------ setupClassViewer(); // ------------------------------------------------------------------------- #ifdef Q_OS_MAC show(); #endif // Load settings ----------------------------------------------------------- loadSettings(); // Ready ------------------------------------------------------------------- statusBar()->showMessage(tr("Ready"), 10000); // Check app args ---------------------------------------------------------- if (qApp->arguments().count() > 1) { openFile(qApp->arguments().at(1)); } // ------------------------------------------------------------------------- #ifndef Q_OS_MAC show(); #endif }
static PyObject *meth_QTranslator_translate(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds) { PyObject *sipParseErr = NULL; bool sipSelfWasArg = (!sipSelf || sipIsDerived((sipSimpleWrapper *)sipSelf)); { const char * a0; const char * a1; const char * a2 = 0; QTranslator *sipCpp; static const char *sipKwdList[] = { NULL, NULL, sipName_disambiguation, }; if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, NULL, "Bss|s", &sipSelf, sipType_QTranslator, &sipCpp, &a0, &a1, &a2)) { QString *sipRes; Py_BEGIN_ALLOW_THREADS sipRes = new QString((sipSelfWasArg ? sipCpp->QTranslator::translate(a0,a1,a2) : sipCpp->translate(a0,a1,a2))); Py_END_ALLOW_THREADS return sipConvertFromNewType(sipRes,sipType_QString,NULL); } }
QString Translation::languageName(const QString &qmFile) { QTranslator translator; translator.load(qmFile); return translator.translate("Translation", "english"); }
LangManager::LangManager(QObject *parent) : QObject(parent) { //: Fill this with your language (ex: English, Deutch, Français, etc) tr("__LANG__"); //: Fill this with the country your language is for (United-States, France, etc.) tr("__COUNTRY__"); QStringList searchDirs; #ifdef Q_OS_MAC searchDirs << qApp->applicationDirPath() + "/../Resources/lang" << qApp->applicationDirPath() + "/../../../../resources"; #else searchDirs << qApp->applicationDirPath() + "/lang" << qApp->applicationDirPath() + "/../resources"; #endif QDir searchDir; searchDir.setFilter(QDir::Files); searchDir.setNameFilters(QStringList() << "*.qm"); QFileInfoList files; for(QString dir : searchDirs) { searchDir.setPath(dir); files = searchDir.entryInfoList(); if(files.count()) { LOG_INFO(QString("%1 translations found in the directory %2") .arg(files.count()) .arg(searchDir.absolutePath())); break; } } // Insert default translation. By doing this here, we ensure the LanguageEvent will // correctly be posted when switching from any language to default. _langMap.insert(TYM_DEFAULT_LANGUAGE, "English (United States)"); _translatorMap.insert(TYM_DEFAULT_LANGUAGE, new QTranslator(this)); for(QFileInfo f : files) { QString key = f.baseName(); QTranslator* transl = new QTranslator(this); transl->load(f.fileName(), f.absolutePath()); _translatorMap.insert(key, transl); QString langName = transl->translate("LangManager", "__LANG__") + " (" + transl->translate("LangManager", "__COUNTRY__") + ")"; if(langName == " ()") { langName = key; } _langMap.insert(key, langName); } }