Application::~Application() { #ifndef MAEMO delete m_trayIcon; #endif // MAEMO delete m_mainWindow; delete m_popupWindow; delete m_speaker; delete m_dictCore; #ifdef QSTARDICT_WITH_TRANSLATIONS removeTranslator(m_translator); delete m_translator; removeTranslator(m_qtTranslator); delete m_qtTranslator; #endif // QSTARDICT_WITH_TRANSLATIONS }
void TexmakerApp::makeTranslation(const QString &lang) { QString locale=lang; foreach (QTranslator* tr, translatorsList) { removeTranslator(tr); delete tr; }
void Application::ChangeLanguage(const QString& file) { QString filename = file; if (!filename.endsWith(".qm", Qt::CaseInsensitive)) filename.append(".qm"); QString tmp = filename; tmp.chop(3); QString str = tmp.right(2); QString name = "data/translations/qt_native_translations/qt_" + str + ".qm"; // Remove old translators then change them to new. removeTranslator(nativeTranslator); if (QFile::exists(name)) { if (nativeTranslator != 0) { nativeTranslator->load(name); installTranslator(nativeTranslator); } } else { if (nativeTranslator != 0 && nativeTranslator->isEmpty()) { installTranslator(nativeTranslator); } else { SAFE_DELETE(nativeTranslator); nativeTranslator = new QTranslator; installTranslator(nativeTranslator); } } // Remove old translators then change them to new. removeTranslator(appTranslator); if (appTranslator->load(filename)) { installTranslator(appTranslator); framework->Config()->Set(ConfigAPI::FILE_FRAMEWORK, ConfigAPI::SECTION_FRAMEWORK, "language", file); } emit LanguageChanged(); }
void XCA_application::setupLanguage(QLocale l) { QStringList dirs; lang = l; if (qtTr) { removeTranslator(qtTr); delete qtTr; } qtTr = new XcaTranslator(); if (xcaTr) { removeTranslator(xcaTr); delete xcaTr; } xcaTr = new XcaTranslator(); dirs #ifdef XCA_DEFAULT_QT_TRANSLATE << XCA_DEFAULT_QT_TRANSLATE #endif << getPrefix() #ifndef WIN32 #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) << "/usr/local/share/qt5/translations/" << "/usr/share/qt5/translations/" #else << "/usr/local/share/qt4/translations/" << "/usr/share/qt4/translations/" #endif << "/usr/share/qt/translations/" #endif ; foreach(QString dir, dirs) { if (qtTr->load(lang, "qt", dir)) { break; } } xcaTr->load(lang, "xca", getPrefix()); QLocale::setDefault(l); installTranslator(qtTr); installTranslator(xcaTr); if (mainw) mainw->initResolver(); }
void XcomPose::setLanguage(const QString & locale) { QTranslator * newQtTranslator = 0; QTranslator * newAppTranslator = 0; if (locale == "de") { newQtTranslator = german_qt; newAppTranslator = german_app; } // else... if (newQtTranslator && newAppTranslator) { installTranslator(newQtTranslator); installTranslator(newAppTranslator); } if ((current_qt && current_app) && ((current_qt != newQtTranslator) && (current_app != newAppTranslator))) { removeTranslator(current_qt); removeTranslator(current_app); } current_qt = newQtTranslator; current_app = newAppTranslator; }
void ScribusQApp::installTranslators(const QStringList & langs) { static QTranslator *trans = 0; if ( trans ) { removeTranslator( trans ); delete trans; } trans = new QTranslator(0); QString path(ScPaths::instance().translationDir()); path += "scribus"; bool loaded = false; QString lang; for (QStringList::const_iterator it = langs.constBegin(); it != langs.constEnd() && !loaded; ++it) { lang=(*it); if (lang == "en") { GUILang=lang; break; } else if (trans->load(QString(path + '.' + lang), ".")) loaded = true; } if (loaded) { installTranslator(trans); GUILang=lang; } else if (lang == "en") GUILang=lang; /* CB TODO, currently disabled, because its broken broken broken path = ScPaths::instance().pluginDir(); QDir dir(path , "*.*", QDir::Name, QDir::Files | QDir::NoSymLinks); if (dir.exists() && (dir.count() != 0)) { for (uint i = 0; i < dir.count(); ++i) { QFileInfo file(path + dir[i]); if ((file.extension(false).toLower() == "qm") && (file.extension(true).toLower().left(5) == lang)) { trans = new QTranslator(0); trans->load(QString(path + dir[i]), "."); installTranslator(trans); } } }*/ }
void MisliDesktopGui::updateTranslator() { //processEvents(); removeTranslator(translator); delete translator; translator = new QTranslator; if(language()!=QString("en")){ //Generate filename and install translator QString file_name = "misli_"+language(); if( !translator->load(file_name,QString(":/translations/")) ){ qDebug()<<"[MisliDesktopGui::updateTranslator]Error loading the translations file."; }else{ installTranslator(translator); } } if(misliWindow!=NULL){ misliWindow->deleteLater(); misliWindow = new MisliWindow(this); misliWindow->showMaximized(); } }
void ScribusQApp::installTranslators(const QStringList & langs) { static QTranslator *transQt = 0; static QTranslator *trans = 0; if (transQt) { removeTranslator( transQt ); delete transQt; transQt=0; } if (trans) { removeTranslator( trans ); delete trans; trans=0; } transQt = new QTranslator(0); trans = new QTranslator(0); QString path(ScPaths::instance().translationDir()); bool loadedQt = false; bool loadedScribus = false; QString lang; for (QStringList::const_iterator it = langs.constBegin(); it != langs.constEnd() && !loadedScribus; ++it) { lang=(*it); if (lang == "en") { m_GUILang=lang; break; } else { //CB: This might need adjusting for qm files distribution locations if (transQt->load("qt_" + lang, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) loadedQt = true; if (trans->load(QString("scribus." + lang), path)) loadedScribus = true; if (!loadedScribus) { QString altLang(LanguageManager::instance()->getAlternativeAbbrevfromAbbrev(lang)); if (!altLang.isEmpty()) if (trans->load(QString("scribus." + altLang), path)) loadedScribus = true; } } } if (loadedQt) installTranslator(transQt); if (loadedScribus) { installTranslator(trans); m_GUILang=lang; } else if (lang == "en") m_GUILang=lang; /* CB TODO, currently disabled, because its broken broken broken path = ScPaths::instance().pluginDir(); QDir dir(path , "*.*", QDir::Name, QDir::Files | QDir::NoSymLinks); if (dir.exists() && (dir.count() != 0)) { for (uint i = 0; i < dir.count(); ++i) { QFileInfo file(path + dir[i]); if ((file.extension(false).toLower() == "qm") && (file.extension(true).toLower().left(5) == lang)) { trans = new QTranslator(0); trans->load(QString(path + dir[i]), "."); installTranslator(trans); } } }*/ }