2013-10-06 08:55:58 -07:00
|
|
|
#include <QCoreApplication>
|
|
|
|
#include <QString>
|
|
|
|
#include <gettextfromc.h>
|
|
|
|
|
2013-10-10 00:15:21 -07:00
|
|
|
const char *gettextFromC::trGettext(const char *text)
|
2013-10-06 08:55:58 -07:00
|
|
|
{
|
2013-11-01 18:23:06 +01:00
|
|
|
QByteArray &result = translationCache[QByteArray(text)];
|
2013-10-08 22:44:38 -07:00
|
|
|
if (result.isEmpty())
|
2013-11-15 01:39:00 +01:00
|
|
|
result = trUtf8(text).toUtf8();
|
2013-10-08 22:44:38 -07:00
|
|
|
return result.constData();
|
|
|
|
}
|
|
|
|
|
|
|
|
void gettextFromC::reset(void)
|
|
|
|
{
|
|
|
|
translationCache.clear();
|
2013-10-06 08:55:58 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
gettextFromC* gettextFromC::instance()
|
|
|
|
{
|
2013-11-30 09:18:04 -08:00
|
|
|
static QScopedPointer<gettextFromC> self(new gettextFromC());
|
|
|
|
return self.data();
|
2013-10-06 08:55:58 -07:00
|
|
|
}
|
|
|
|
|
2013-10-10 00:15:21 -07:00
|
|
|
extern "C" const char *trGettext(const char *text)
|
2013-10-06 08:55:58 -07:00
|
|
|
{
|
2013-10-10 00:15:21 -07:00
|
|
|
return gettextFromC::instance()->trGettext(text);
|
2013-10-06 08:55:58 -07:00
|
|
|
}
|