diff options
author | Javier S. Pedro <maemo@javispedro.com> | 2012-08-15 01:04:14 +0200 |
---|---|---|
committer | Javier S. Pedro <maemo@javispedro.com> | 2012-08-15 01:04:14 +0200 |
commit | 8f6543355110a109878bde10b912555019af1212 (patch) | |
tree | 46609ff215496a4ea373b9eacbf8b2c30ca04237 | |
parent | 4e468800d7129c0adbe4bc874932f99a542c4eeb (diff) | |
download | sowatch-8f6543355110a109878bde10b912555019af1212.tar.gz sowatch-8f6543355110a109878bde10b912555019af1212.zip |
adding locale support to libsowatch
-rw-r--r-- | libsowatch/allwatchscanner.cpp | 4 | ||||
-rw-r--r-- | libsowatch/allwatchscanner.h | 2 | ||||
-rw-r--r-- | libsowatch/libsowatch.pro | 7 | ||||
-rw-r--r-- | libsowatch/libsowatch_en.ts | 31 | ||||
-rw-r--r-- | libsowatch/libsowatch_es.ts | 31 | ||||
-rw-r--r-- | libsowatch/sowatch_global.h | 21 | ||||
-rw-r--r-- | metawatch/metawatchdigital.cpp | 6 | ||||
-rw-r--r-- | metawatch/res/graphics/idle_gmail.bmp | bin | 134 -> 0 bytes | |||
-rw-r--r-- | metawatch/res/graphics/idle_mail.bmp | bin | 0 -> 134 bytes | |||
-rw-r--r-- | metawatch/res/graphics/idle_msg.bmp | bin | 0 -> 134 bytes | |||
-rw-r--r-- | metawatch/res/graphics/idle_sms.bmp | bin | 134 -> 0 bytes | |||
-rw-r--r-- | sowatchd/main.cpp | 27 |
12 files changed, 115 insertions, 14 deletions
diff --git a/libsowatch/allwatchscanner.cpp b/libsowatch/allwatchscanner.cpp index 8a49b86..97f8454 100644 --- a/libsowatch/allwatchscanner.cpp +++ b/libsowatch/allwatchscanner.cpp @@ -1,3 +1,7 @@ +#include <QtCore/QDebug> + +#include "registry.h" +#include "watchplugininterface.h" #include "allwatchscanner.h" using namespace sowatch; diff --git a/libsowatch/allwatchscanner.h b/libsowatch/allwatchscanner.h index ac0baae..561c6a8 100644 --- a/libsowatch/allwatchscanner.h +++ b/libsowatch/allwatchscanner.h @@ -4,7 +4,7 @@ #include <QtCore/QObject> #include <QtCore/QList> -#include <sowatch.h> +#include "watchscanner.h" namespace sowatch { diff --git a/libsowatch/libsowatch.pro b/libsowatch/libsowatch.pro index 59f2eee..ce0468e 100644 --- a/libsowatch/libsowatch.pro +++ b/libsowatch/libsowatch.pro @@ -59,13 +59,18 @@ HEADERS += \ gconfkey.h \ notificationsmodel.h +TRANSLATIONS += libsowatch_en.ts libsowatch_es.ts + install_headers.files = $$HEADERS +install_translations.files = libsowatch*.qm install_headers.path = /usr/include/sowatch !isEmpty(MEEGO_VERSION_MAJOR)|maemo5 { target.path = /opt/sowatch/lib + install_translations.path = /opt/sowatch/i18n } else { target.path = /usr/lib + install_translations.path = /usr/share/sowatch/i18n } -INSTALLS += install_headers target +INSTALLS += install_headers install_translations target diff --git a/libsowatch/libsowatch_en.ts b/libsowatch/libsowatch_en.ts new file mode 100644 index 0000000..eb24692 --- /dev/null +++ b/libsowatch/libsowatch_en.ts @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="en_US"> +<context> + <name>sowatch::Notification</name> + <message numerus="yes"> + <location filename="notification.cpp" line="21"/> + <source>%n second(s) ago</source> + <translation> + <numerusform>%n second ago</numerusform> + <numerusform>%n seconds ago</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="notification.cpp" line="24"/> + <source>%n minute(s) ago</source> + <translation> + <numerusform>%n minute ago</numerusform> + <numerusform>%n minutes ago</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="notification.cpp" line="27"/> + <source>%n hour(s) ago</source> + <translation> + <numerusform>%n hour ago</numerusform> + <numerusform>%n hours ago</numerusform> + </translation> + </message> +</context> +</TS> diff --git a/libsowatch/libsowatch_es.ts b/libsowatch/libsowatch_es.ts new file mode 100644 index 0000000..2d19ef2 --- /dev/null +++ b/libsowatch/libsowatch_es.ts @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="es_ES"> +<context> + <name>sowatch::Notification</name> + <message numerus="yes"> + <location filename="notification.cpp" line="21"/> + <source>%n second(s) ago</source> + <translation> + <numerusform>hace %n segundo</numerusform> + <numerusform>hace %n segundos</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="notification.cpp" line="24"/> + <source>%n minute(s) ago</source> + <translation> + <numerusform>hace %n minuto</numerusform> + <numerusform>hace %n minutos</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="notification.cpp" line="27"/> + <source>%n hour(s) ago</source> + <translation> + <numerusform>hace %n hora</numerusform> + <numerusform>hace %n horas</numerusform> + </translation> + </message> +</context> +</TS> diff --git a/libsowatch/sowatch_global.h b/libsowatch/sowatch_global.h index b537930..3e2f795 100644 --- a/libsowatch/sowatch_global.h +++ b/libsowatch/sowatch_global.h @@ -11,17 +11,20 @@ #endif #if defined(QT_SIMULATOR) || (!defined(MEEGO_VERSION_MAJOR) && !defined(Q_WS_MAEMO_5) && !defined(QT_NO_DEBUG)) -# define SOWATCH_PLUGINS_DIR ".." -# define SOWATCH_RESOURCES_DIR ".." -# define SOWATCH_QML_DIR ".." +# define SOWATCH_PLUGINS_DIR ".." +# define SOWATCH_RESOURCES_DIR ".." +# define SOWATCH_QML_DIR ".." +# define SOWATCH_I18N_DIR ".." #elif defined(MEEGO_VERSION_MAJOR) || defined(Q_WS_MAEMO_5) -# define SOWATCH_PLUGINS_DIR "/opt/sowatch/lib" -# define SOWATCH_RESOURCES_DIR "/opt/sowatch/share" -# define SOWATCH_QML_DIR "/opt/sowatch/qml" +# define SOWATCH_PLUGINS_DIR "/opt/sowatch/lib" +# define SOWATCH_RESOURCES_DIR "/opt/sowatch/share" +# define SOWATCH_QML_DIR "/opt/sowatch/qml" +# define SOWATCH_I18N_DIR "/opt/sowatch/i18n" #elif defined(Q_OS_LINUX) -# define SOWATCH_PLUGINS_DIR "/usr/lib/sowatch" -# define SOWATCH_RESOURCES_DIR "/usr/share/sowatch" -# define SOWATCH_QML_DIR SOWATCH_RESOURCES_DIR "/qml" +# define SOWATCH_PLUGINS_DIR "/usr/lib/sowatch" +# define SOWATCH_RESOURCES_DIR "/usr/share/sowatch" +# define SOWATCH_QML_DIR SOWATCH_RESOURCES_DIR "/qml" +# define SOWATCH_I18N_DIR SOWATCH_RESOURCES_DIR "/i18n" #else # error Please define the paths for your platform #endif diff --git a/metawatch/metawatchdigital.cpp b/metawatch/metawatchdigital.cpp index 3029613..abe47a9 100644 --- a/metawatch/metawatchdigital.cpp +++ b/metawatch/metawatchdigital.cpp @@ -144,8 +144,8 @@ void MetaWatchDigital::clear(Mode mode, bool black) void MetaWatchDigital::renderIdleScreen() { QImage idle_call(QString(SOWATCH_RESOURCES_DIR "/metawatch/graphics/idle_call.bmp")); - QImage idle_sms(QString(SOWATCH_RESOURCES_DIR "/metawatch/graphics/idle_sms.bmp")); - QImage idle_mail(QString(SOWATCH_RESOURCES_DIR "/metawatch/graphics/idle_gmail.bmp")); + QImage idle_msg(QString(SOWATCH_RESOURCES_DIR "/metawatch/graphics/idle_msg.bmp")); + QImage idle_mail(QString(SOWATCH_RESOURCES_DIR "/metawatch/graphics/idle_mail.bmp")); QPainter p; _paintMode = IdleMode; @@ -158,7 +158,7 @@ void MetaWatchDigital::renderIdleScreen() p.drawLine(1, systemAreaHeight * 2 + 4, screenWidth - 2, systemAreaHeight * 2 + 4); p.drawImage((32 * 0) + 4, systemAreaHeight * 2 + 7, idle_call); - p.drawImage((32 * 1) + 4, systemAreaHeight * 2 + 7, idle_sms); + p.drawImage((32 * 1) + 4, systemAreaHeight * 2 + 7, idle_msg); p.drawImage((32 * 2) + 4, systemAreaHeight * 2 + 7, idle_mail); p.end(); diff --git a/metawatch/res/graphics/idle_gmail.bmp b/metawatch/res/graphics/idle_gmail.bmp Binary files differdeleted file mode 100644 index fd129b0..0000000 --- a/metawatch/res/graphics/idle_gmail.bmp +++ /dev/null diff --git a/metawatch/res/graphics/idle_mail.bmp b/metawatch/res/graphics/idle_mail.bmp Binary files differnew file mode 100644 index 0000000..253b5bf --- /dev/null +++ b/metawatch/res/graphics/idle_mail.bmp diff --git a/metawatch/res/graphics/idle_msg.bmp b/metawatch/res/graphics/idle_msg.bmp Binary files differnew file mode 100644 index 0000000..5eada49 --- /dev/null +++ b/metawatch/res/graphics/idle_msg.bmp diff --git a/metawatch/res/graphics/idle_sms.bmp b/metawatch/res/graphics/idle_sms.bmp Binary files differdeleted file mode 100644 index 095ca62..0000000 --- a/metawatch/res/graphics/idle_sms.bmp +++ /dev/null diff --git a/sowatchd/main.cpp b/sowatchd/main.cpp index 67ed7ac..1fd1789 100644 --- a/sowatchd/main.cpp +++ b/sowatchd/main.cpp @@ -1,4 +1,5 @@ #include <QtCore/QDebug> +#include <QtCore/QTranslator> #include <QtGui/QApplication> #include <QtDBus/QDBusConnection> @@ -13,6 +14,30 @@ namespace sowatch using namespace sowatch; +static void setupLocalization(QApplication *app) +{ + const QString locale(QLocale::system().name()); + QTranslator *translator; + + // Set up main Qt translator first + translator = new QTranslator(app); + if (translator->load("qt_" + locale, + QLibraryInfo::location(QLibraryInfo::TranslationsPath))) { + app->installTranslator(translator); + } else { + delete translator; + qWarning() << "Could not load Qt translation for" << locale; + } + + // Set up libsowatch translator + translator = new QTranslator(app); + if (translator->load("libsowatch_" + locale, SOWATCH_I18N_DIR)) { + app->installTranslator(translator); + } else { + qWarning() << "Could not load translation for" << locale; + } +} + int main(int argc, char *argv[]) { // Some plugins use QtGui functionality, so QApplication must be used @@ -23,6 +48,8 @@ int main(int argc, char *argv[]) QApplication::setApplicationName("sowatchd"); QApplication::setQuitOnLastWindowClosed(false); + setupLocalization(&app); + sowatch::daemon = new Daemon(&app); new DaemonAdaptor(sowatch::daemon); |