X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Futil.cpp;h=9bd17d9488083a6d3d45f668af0b4eebfe638c62;hb=99b15ffe7d25b4574f6a85ba394d9514d8b6248a;hp=4c1a22f2ea47f6a78ee96924aa905f6c6806ded6;hpb=b5385b3ddf6f0e8df8f0af7275b59dcc1fcd0ed1;p=quassel.git diff --git a/src/common/util.cpp b/src/common/util.cpp index 4c1a22f2..9bd17d94 100644 --- a/src/common/util.cpp +++ b/src/common/util.cpp @@ -18,11 +18,12 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include "util.h" + #include #include #include - -#include "util.h" +#include class QMetaMethod; @@ -104,7 +105,6 @@ bool readDataFromDevice(QIODevice *dev, quint32 &blockSize, QVariant &item) { uint editingDistance(const QString &s1, const QString &s2) { uint n = s1.size()+1; uint m = s2.size()+1; - //uint matrix[n][m]; QVector< QVector< uint > >matrix(n,QVector(m,0)); for(uint i = 0; i < n; i++) @@ -159,6 +159,26 @@ QDir quasselDir() { return qDir; } +void loadTranslation(const QLocale &locale) { + QTranslator *qtTranslator = QCoreApplication::instance()->findChild("QtTr"); + QTranslator *quasselTranslator = QCoreApplication::instance()->findChild("QuasselTr"); + Q_ASSERT(qtTranslator); + Q_ASSERT(quasselTranslator); + + QLocale::setDefault(locale); + + QCoreApplication::removeTranslator(qtTranslator); + QCoreApplication::removeTranslator(quasselTranslator); + + if(locale.language() == QLocale::C) + return; + + qtTranslator->load(QString(":i18n/qt_%1").arg(locale.name())); + quasselTranslator->load(QString(":i18n/quassel_%1").arg(locale.name())); + + QCoreApplication::installTranslator(qtTranslator); + QCoreApplication::installTranslator(quasselTranslator); +} QString secondsToString(int timeInSeconds) { QList< QPair > timeUnit;