diff options
Diffstat (limited to 'core/gettextfromc.cpp')
-rw-r--r-- | core/gettextfromc.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/core/gettextfromc.cpp b/core/gettextfromc.cpp new file mode 100644 index 000000000..43ee8da50 --- /dev/null +++ b/core/gettextfromc.cpp @@ -0,0 +1,27 @@ +#include <QCoreApplication> +#include <QString> +#include "gettextfromc.h" + +const char *gettextFromC::trGettext(const char *text) +{ + QByteArray &result = translationCache[QByteArray(text)]; + if (result.isEmpty()) + result = translationCache[QByteArray(text)] = trUtf8(text).toUtf8(); + return result.constData(); +} + +void gettextFromC::reset(void) +{ + translationCache.clear(); +} + +gettextFromC *gettextFromC::instance() +{ + static QScopedPointer<gettextFromC> self(new gettextFromC()); + return self.data(); +} + +extern "C" const char *trGettext(const char *text) +{ + return gettextFromC::instance()->trGettext(text); +} |