aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2011-09-27 20:47:51 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2011-09-27 20:47:51 +0200
commit59020408744664fde902406cf41de125859d461f (patch)
treed2cfda57aab61b753c64387192e9f661080c550e
parentd28ed9c98e6b87a61b39a4c718dec01553be62c5 (diff)
downloadbitcoin-59020408744664fde902406cf41de125859d461f.tar.xz
translation handling improvements
- automatically build binary translation files in qmake/make - roll translations into resource file and executable, to simply installation
-rw-r--r--bitcoin-qt.pro15
-rw-r--r--src/qt/bitcoin.cpp2
-rw-r--r--src/qt/bitcoin.qrc5
3 files changed, 21 insertions, 1 deletions
diff --git a/bitcoin-qt.pro b/bitcoin-qt.pro
index 3fff9ac908..eefef5a182 100644
--- a/bitcoin-qt.pro
+++ b/bitcoin-qt.pro
@@ -168,10 +168,25 @@ FORMS += \
src/qt/forms/askpassphrasedialog.ui
CODECFORTR = UTF-8
+
# for lrelease/lupdate
TRANSLATIONS = src/qt/locale/bitcoin_nl.ts src/qt/locale/bitcoin_de.ts \
src/qt/locale/bitcoin_ru.ts
+isEmpty(QMAKE_LRELEASE) {
+ win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe
+ else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
+}
+isEmpty(TS_DIR):TS_DIR = src/qt/locale
+# automatically build translations, so they can be included in resource file
+TSQM.name = lrelease ${QMAKE_FILE_IN}
+TSQM.input = TRANSLATIONS
+TSQM.output = $$TS_DIR/${QMAKE_FILE_BASE}.qm
+TSQM.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN}
+TSQM.CONFIG = no_link
+QMAKE_EXTRA_COMPILERS += TSQM
+bPRE_TARGETDEPS += compiler_TSQM_make_all
+
OTHER_FILES += \
README.rst
diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp
index daba512adc..60a9074204 100644
--- a/src/qt/bitcoin.cpp
+++ b/src/qt/bitcoin.cpp
@@ -120,7 +120,7 @@ int main(int argc, char *argv[])
// Load language file for system locale
QString locale = QLocale::system().name();
QTranslator translator;
- translator.load("bitcoin_"+locale);
+ translator.load(":/translations/"+locale);
app.installTranslator(&translator);
QSplashScreen splash(QPixmap(":/images/splash"), 0);
diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc
index be0e4dce61..2985bb60ef 100644
--- a/src/qt/bitcoin.qrc
+++ b/src/qt/bitcoin.qrc
@@ -45,4 +45,9 @@
<qresource prefix="/movies">
<file alias="update_spinner">res/movies/update_spinner.mng</file>
</qresource>
+ <qresource prefix="/translations">
+ <file alias="de_DE">locale/bitcoin_de.qm</file>
+ <file alias="nl_NL">locale/bitcoin_nl.qm</file>
+ <file alias="ru_RU">locale/bitcoin_ru.qm</file>
+ </qresource>
</RCC>