mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-03-20 22:06:33 -04:00
Changed the path for the external translations to "data dir/translations".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5670 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
85070b1b66
commit
a0162ced8f
@ -130,7 +130,7 @@ class RsPlugin
|
||||
//
|
||||
virtual PopupChatDialog *qt_allocate_new_popup_chat_dialog() const { return NULL ; }
|
||||
|
||||
virtual QTranslator *qt_translator(QApplication * /* app */, const QString& /* languageCode */ ) const { return NULL ; }
|
||||
virtual QTranslator *qt_translator(QApplication * /* app */, const QString& /* languageCode */, const QString& /* externalDir */ ) const { return NULL ; }
|
||||
|
||||
//
|
||||
//========================== Plugin Description ==============================//
|
||||
|
@ -98,7 +98,7 @@ std::string LinksCloudPlugin::getPluginName() const
|
||||
return QApplication::translate("LinksCloudPlugin", "LinksCloud").toUtf8().constData();
|
||||
}
|
||||
|
||||
QTranslator* LinksCloudPlugin::qt_translator(QApplication */*app*/, const QString& languageCode) const
|
||||
QTranslator* LinksCloudPlugin::qt_translator(QApplication */*app*/, const QString& languageCode, const QString& externalDir) const
|
||||
{
|
||||
if (languageCode == "en") {
|
||||
return NULL;
|
||||
@ -106,7 +106,7 @@ QTranslator* LinksCloudPlugin::qt_translator(QApplication */*app*/, const QStrin
|
||||
|
||||
QTranslator* translator = new QTranslator();
|
||||
|
||||
if (translator->load(QCoreApplication::applicationDirPath() + "/translations/LinksCloud_" + languageCode + ".qm")) {
|
||||
if (translator->load(externalDir + "/LinksCloud_" + languageCode + ".qm")) {
|
||||
return translator;
|
||||
} else if (translator->load(":/lang/LinksCloud_" + languageCode + ".qm")) {
|
||||
return translator;
|
||||
|
@ -14,7 +14,7 @@ class LinksCloudPlugin: public RsPlugin
|
||||
virtual MainPage *qt_page() const ;
|
||||
virtual QIcon *qt_icon() const ;
|
||||
virtual uint16_t rs_service_id() const { return RS_SERVICE_TYPE_RANK ; }
|
||||
virtual QTranslator *qt_translator(QApplication *app, const QString& languageCode) const;
|
||||
virtual QTranslator *qt_translator(QApplication *app, const QString& languageCode, const QString& externalDir) const;
|
||||
|
||||
virtual void getPluginVersion(int& major,int& minor,int& svn_rev) const ;
|
||||
virtual void setPlugInHandler(RsPluginHandler *pgHandler);
|
||||
|
@ -35,7 +35,7 @@ SOURCES = services/p3vors.cc \
|
||||
gui/AudioPopupChatDialog.cpp \
|
||||
gui/PluginGUIHandler.cpp \
|
||||
gui/PluginNotifier.cpp \
|
||||
VOIPPlugin.cpp
|
||||
VOIPPlugin.cpp
|
||||
|
||||
HEADERS = services/p3vors.h \
|
||||
services/rsvoipitems.h \
|
||||
@ -48,7 +48,8 @@ HEADERS = services/p3vors.h \
|
||||
gui/AudioPopupChatDialog.h \
|
||||
gui/PluginGUIHandler.h \
|
||||
gui/PluginNotifier.h \
|
||||
interface/rsvoip.h
|
||||
interface/rsvoip.h \
|
||||
VOIPPlugin.h
|
||||
|
||||
FORMS = gui/AudioInputConfig.ui \
|
||||
gui/AudioStats.ui \
|
||||
|
@ -157,7 +157,7 @@ std::string VOIPPlugin::getPluginName() const
|
||||
return QApplication::translate("VOIPPlugin", "VOIP").toUtf8().constData();
|
||||
}
|
||||
|
||||
QTranslator* VOIPPlugin::qt_translator(QApplication */*app*/, const QString& languageCode) const
|
||||
QTranslator* VOIPPlugin::qt_translator(QApplication */*app*/, const QString& languageCode, const QString& externalDir) const
|
||||
{
|
||||
if (languageCode == "en") {
|
||||
return NULL;
|
||||
@ -165,7 +165,7 @@ QTranslator* VOIPPlugin::qt_translator(QApplication */*app*/, const QString& lan
|
||||
|
||||
QTranslator* translator = new QTranslator();
|
||||
|
||||
if (translator->load(QCoreApplication::applicationDirPath() + "/translations/VOIP_" + languageCode + ".qm")) {
|
||||
if (translator->load(externalDir + "/VOIP_" + languageCode + ".qm")) {
|
||||
return translator;
|
||||
} else if (translator->load(":/lang/VOIP_" + languageCode + ".qm")) {
|
||||
return translator;
|
||||
|
@ -21,7 +21,7 @@ class VOIPPlugin: public RsPlugin
|
||||
virtual PopupChatDialog *qt_allocate_new_popup_chat_dialog() const ;
|
||||
|
||||
virtual QIcon *qt_icon() const;
|
||||
virtual QTranslator *qt_translator(QApplication *app, const QString& languageCode) const;
|
||||
virtual QTranslator *qt_translator(QApplication *app, const QString& languageCode, const QString& externalDir) const;
|
||||
|
||||
virtual void getPluginVersion(int& major,int& minor,int& svn_rev) const ;
|
||||
virtual void setPlugInHandler(RsPluginHandler *pgHandler);
|
||||
|
@ -25,11 +25,14 @@
|
||||
#include <QLibraryInfo>
|
||||
#include <rshare.h>
|
||||
#include <retroshare/rsplugin.h>
|
||||
#include <retroshare/rsinit.h>
|
||||
|
||||
#include "languagesupport.h"
|
||||
|
||||
static QMap<RsPlugin*, QTranslator*> translatorPlugins;
|
||||
|
||||
#define EXTERNAL_TRANSLATION_DIR QString::fromUtf8(RsInit::getRetroshareDataDirectory().c_str())
|
||||
|
||||
/** Initializes the list of available languages. */
|
||||
QMap<QString, QString>
|
||||
LanguageSupport::languages()
|
||||
@ -175,7 +178,7 @@ LanguageSupport::translate(const QString &languageCode)
|
||||
|
||||
bool result = true;
|
||||
|
||||
if (retroshareTranslator->load(QCoreApplication::applicationDirPath() + "/translations/retroshare_" + languageCode + ".qm")) {
|
||||
if (retroshareTranslator->load(EXTERNAL_TRANSLATION_DIR + "/translations/retroshare_" + languageCode + ".qm")) {
|
||||
QApplication::installTranslator(retroshareTranslator);
|
||||
} else if (retroshareTranslator->load(":/lang/retroshare_" + languageCode + ".qm")) {
|
||||
QApplication::installTranslator(retroshareTranslator);
|
||||
@ -199,11 +202,13 @@ bool LanguageSupport::translatePlugins(const QString &languageCode)
|
||||
return true;
|
||||
}
|
||||
|
||||
QString externalDir = EXTERNAL_TRANSLATION_DIR + "/translations";
|
||||
|
||||
int count = rsPlugins->nbPlugins();
|
||||
for (int i = 0; i < count; ++i) {
|
||||
RsPlugin* plugin = rsPlugins->plugin(i);
|
||||
if (plugin) {
|
||||
QTranslator* translator = plugin->qt_translator(rApp, languageCode);
|
||||
QTranslator* translator = plugin->qt_translator(rApp, languageCode, externalDir);
|
||||
if (translator) {
|
||||
QApplication::installTranslator(translator);
|
||||
translatorPlugins[plugin] = translator;
|
||||
|
Loading…
x
Reference in New Issue
Block a user