00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef TRANSLATOR_H
00022 #define TRANSLATOR_H
00023
00024 #include <QObject>
00025 #include "qimsysglobal.h"
00026
00027 class QTabWidget;
00028 class QVariant;
00029
00030 #define TR Translator::tr
00031
00032 class QIMSYS_EXPORT Translator : public QObject
00033 {
00034 Q_OBJECT
00035 public:
00036 static Translator *instance();
00037 private:
00038 Translator();
00039 public:
00040 ~Translator();
00041
00042 static void tr(QObject *object, const char *key, const QObject *context, const char *value, QString arg = QString());
00043 static void tr(QObject *object, const QVariant &key, const QObject *context, const char *value, QString arg = QString());
00044 static void tr(QObject *object, const QVariant &key, const char *context, const char *value, QString arg = QString());
00045 static void begin();
00046 static void end();
00047 static void ui(QWidget *parent, const char *context = 0);
00048 static void tr(QWidget *widget);
00049 static void installTranslator(const QString &prefix, const QString &directory = QString());
00050
00051 static void setLanguage(const QString &lang);
00052
00053 signals:
00054 void languageChanged();
00055
00056 private:
00057 class Private;
00058 Private *d;
00059 };
00060
00061 #endif//TRANSLATOR_H