Separate translations for each plugin
authorPiotrek <ppilar11@gmail.com>
Fri, 3 Sep 2010 12:39:27 +0000 (14:39 +0200)
committerPiotrek <ppilar11@gmail.com>
Fri, 3 Sep 2010 12:39:27 +0000 (14:39 +0200)
16 files changed:
data/translations/dict_en.qm
data/translations/dict_pl.qm
src/common/CommonDictInterface.h
src/mdictionary/backbone/backbone.cpp
src/mdictionary/gui/AboutWidget.cpp
src/mdictionary/gui/SettingsWidget.cpp
src/mdictionary/gui/main.cpp
src/mdictionary/mdictionary.pro
src/plugins/google/GooglePlugin.cpp
src/plugins/google/GooglePlugin.h
src/plugins/google/google.pro
src/plugins/google/icons.qrc
src/plugins/xdxf/xdxf.pro
src/plugins/xdxf/xdxf.qrc
src/plugins/xdxf/xdxfplugin.cpp
src/plugins/xdxf/xdxfplugin.h

index 900f716..9dad8df 100644 (file)
Binary files a/data/translations/dict_en.qm and b/data/translations/dict_en.qm differ
index 9917cb3..47e96e8 100644 (file)
Binary files a/data/translations/dict_pl.qm and b/data/translations/dict_pl.qm differ
index 899843a..f09815d 100644 (file)
@@ -112,6 +112,8 @@ class CommonDictInterface : public QObject, public AccentsNormalizer {
     //! stops current operation
     virtual void stop() = 0;
 
+    virtual void retranslate() = 0;
+
   Q_SIGNALS:
 
     //! emitted when dictionary is ready to use afer being loaded
index 8e13e16..0fc74b3 100644 (file)
@@ -360,8 +360,10 @@ void Backbone::loadPlugins() {
                 exists = 1;
                 break;
            }
-        if(!exists)
+        if(!exists) {
             _plugins.append(plugin);
+            plugin->retranslate();
+        }
     }
 }
 
index edc52e0..20e6ccb 100644 (file)
@@ -28,7 +28,7 @@ AboutWidget::AboutWidget(GUIInterface *parent): QDialog(parent)
 {
     QString infoNote, licenseNote, comarchNote;
     infoNote = "<center><h2><u>mDictionary</u></h2></center>";
-    comarchNote = "<center>Meamo/Meego Multilingual Dictionary</center>";
+    comarchNote = "<center>Maemo/Meego Multilingual Dictionary</center>";
     comarchNote += "<center>Copyright 2006-2010, Comarch S.A. <br>";
     comarchNote += "<a href=\"http://mdictionary.garage.maemo.org\">"
                    "http://mdictionary.garage.maemo.org</a></center>";
index e5c5f87..1056644 100644 (file)
@@ -41,8 +41,8 @@ void SettingsWidget::initalizeUI() {
 
     historySizeSpinBox = new QSpinBox;
     searchResultSizeSpinBox = new QSpinBox;
-    limitTip = "Limits maximum number of found words, affects only when "
-                "searching in file.";
+    limitTip = tr("Limits maximum number of found words, affects only when "
+                "searching in file.");
     searchResultSizeSpinBox->setToolTip(limitTip);
 
 
index c19b931..02c6819 100644 (file)
@@ -70,17 +70,21 @@ int main(int argc, char *argv[]) {
     QString locale = QLocale::system().name();
 
     QTranslator qtTranslator;
-    qtTranslator.load("qt_" + QLocale::system().name(),
+    qtTranslator.load("qt_" + locale,
     QLibraryInfo::location(QLibraryInfo::TranslationsPath));
 
     a.installTranslator(&qtTranslator);
 
-    QTranslator myTranslator;
+    QTranslator mdictionaryTranslator;
+
     if(locale == "pl_PL")
-        myTranslator.load(":/translations/dict_pl");
+        mdictionaryTranslator.load(":/translations/dict_pl");
+
     else
-        myTranslator.load(":/translations/dict_en");
-    a.installTranslator(&myTranslator);
+
+       mdictionaryTranslator.load(":/translations/dict_en");
+
+    a.installTranslator(&mdictionaryTranslator);
 
     Backbone backbone;
     MainWindow w(&backbone);
index 00aafe9..c957903 100644 (file)
@@ -59,6 +59,9 @@ HEADERS += gui/MainWindow.h \
 
 RESOURCES += ../../data/gui.qrc
 
+TRANSLATIONS += dict_pl.ts \
+                dict_en.ts
+
 target.path = $$BIN_DIR
 INSTALLS += target
 
index 61f5c34..2fcd0b5 100644 (file)
@@ -44,6 +44,19 @@ GooglePlugin::GooglePlugin(QObject *parent): CommonDictInterface(parent),
     connect(http, SIGNAL(done(bool)), this, SLOT(done()));
 }
 
+void GooglePlugin::retranslate() {
+    QString locale = QLocale::system().name();
+
+    QTranslator *googleTranslator = new QTranslator(this);
+
+    if(locale == "pl_PL")
+        googleTranslator->load(":/translations/dict_google_pl");
+    else
+        googleTranslator->load(":/translations/dict_google_en");
+
+    QCoreApplication::installTranslator(googleTranslator);
+}
+
 
 GooglePlugin::~GooglePlugin() {
     delete _settings;
index 87c709a..1c0f3bb 100644 (file)
@@ -124,6 +124,8 @@ public slots:
     QString jsonParse(QString result);
     void getDictionaryInfo();
 
+    void retranslate();
+
 private:
     QMap<QString, QString> languages;
     QString _name;
index 61bbe42..78ed85e 100644 (file)
@@ -18,6 +18,8 @@ HEADERS += \
     GoogleDictDialog.h \
     GoogleSettingsDialog.h
 
+TRANSLATIONS += dict_google_pl.ts \
+                dict_google_en.ts
 
 RESOURCES += \
     icons.qrc
index 5a775cf..dbab6e4 100644 (file)
@@ -2,4 +2,8 @@
     <qresource prefix="/icons">
         <file>drawing.png</file>
     </qresource>
+    <qresource prefix="/">
+        <file>translations/dict_google_en.qm</file>
+        <file>translations/dict_google_pl.qm</file>
+    </qresource>
 </RCC>
index 4bc26f3..03ee1bd 100644 (file)
@@ -23,9 +23,11 @@ HEADERS += \
     XdxfSettingsDialog.h \
     XdxfCachingDialog.h
 
-
 RESOURCES += \
     xdxf.qrc
+
+TRANSLATIONS += dict_xdxf_pl.ts \
+                dict_xdxf_en.ts
     
 unix {
   INSTALLS += dicts
index 2a951d2..71670af 100644 (file)
@@ -2,4 +2,8 @@
     <qresource prefix="/icons">
         <file>xdxf.png</file>
     </qresource>
+    <qresource prefix="/">
+        <file>translations/dict_xdxf_en.qm</file>
+        <file>translations/dict_xdxf_pl.qm</file>
+    </qresource>
 </RCC>
index 9335759..036e67b 100644 (file)
@@ -45,6 +45,19 @@ XdxfPlugin::XdxfPlugin(QObject *parent) : CommonDictInterface(parent),
     initAccents();
 }
 
+void XdxfPlugin::retranslate() {
+    QString locale = QLocale::system().name();
+
+    QTranslator *translator = new QTranslator(this);
+
+    if(locale == "pl_PL")
+        translator->load(":/translations/dict_xdxf_pl");
+    else
+        translator->load(":/translations/dict_xdxf_en");
+
+    QCoreApplication::installTranslator(translator);
+}
+
 
 XdxfPlugin::~XdxfPlugin() {
     delete _settings;
@@ -598,7 +611,7 @@ bool XdxfPlugin::makeCache(QString) {
     if(!cur.next() || countWords() != cur.value(0).toInt()) {
         Q_EMIT updateCachingProgress(100, timer.restart());
         Q_EMIT notify(Notify::Warning,
-                QString(tr("Database caching error, please try againg.")));
+                QString(tr("Database caching error, please try again.")));
         db.close();
         return false;
     }
index 287426d..8a46572 100644 (file)
@@ -121,6 +121,8 @@ public Q_SLOTS:
     //! stop current operation
     void stop();
 
+    void retranslate();
+
 
 
 Q_SIGNALS:
@@ -174,7 +176,6 @@ private:
     Settings *_settings;
     XdxfDictDialog* _dictDialog;
     XdxfCachingDialog* cachingDialog;
-
 };
 
 #endif // XDXFPLUGIN_H