From d8ff8d1c3c769ee83dbaba98b1a3b1b4c4fd38e1 Mon Sep 17 00:00:00 2001
From: Inso <insomniak.fr@gmail.com>
Date: Mon, 11 May 2015 15:58:41 +0200
Subject: [PATCH] Working on translations...

---
 gen_translations.py                  |  1 +
 res/i18n/ts/{fr.ts => fr_FR.ts}      |  5 +++--
 src/cutecoin/core/app.py             | 15 +++++++++++++--
 src/cutecoin/gui/transactions_tab.py |  8 ++++----
 src/cutecoin/main.py                 |  3 +--
 5 files changed, 22 insertions(+), 10 deletions(-)
 rename res/i18n/ts/{fr.ts => fr_FR.ts} (99%)

diff --git a/gen_translations.py b/gen_translations.py
index 9aee1f1e..cbc6afa4 100644
--- a/gen_translations.py
+++ b/gen_translations.py
@@ -36,6 +36,7 @@ def build_resources():
       </qresource>
     </RCC>
     """.format(files)
+    print(rccfile)
 
     qrc_filename = os.path.abspath(os.path.join(os.path.dirname(__file__),
                                                 'res',
diff --git a/res/i18n/ts/fr.ts b/res/i18n/ts/fr_FR.ts
similarity index 99%
rename from res/i18n/ts/fr.ts
rename to res/i18n/ts/fr_FR.ts
index e9138365..55484788 100644
--- a/res/i18n/ts/fr.ts
+++ b/res/i18n/ts/fr_FR.ts
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="fr_FR" sourcelanguage="fr_FR">
+<!DOCTYPE TS>
+<TS version="2.1" language="fr_FR" sourcelanguage="en">
 <context>
     <name>AboutPopup</name>
     <message>
@@ -1469,7 +1470,7 @@ Le transfer de monnaie sera annulé et non envoyé.</translation>
     <message>
         <location filename="../../../src/cutecoin/gui/transfer.py" line="64"/>
         <source>No amount. Please give the transfert amount</source>
-        <translation type="unfinished">Pas de montant. Veuillez entrer un montant</translation>
+        <translation>Pas de montant. Veuillez entrer un montant</translation>
     </message>
     <message>
         <location filename="../../../src/cutecoin/gui/transfer.py" line="78"/>
diff --git a/src/cutecoin/core/app.py b/src/cutecoin/core/app.py
index 2e34c719..d584843a 100644
--- a/src/cutecoin/core/app.py
+++ b/src/cutecoin/core/app.py
@@ -10,9 +10,10 @@ import tarfile
 import shutil
 import json
 import datetime
-import sys
+import i18n_rc
 
-from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, QUrl
+from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, \
+QUrl, QTranslator, QCoreApplication, QLocale
 from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkReply, QNetworkRequest
 
 from . import config
@@ -53,8 +54,18 @@ class Application(QObject):
                             'lang': 'en_GB',
                             'ref': 'Units'
                             }
+
         self.load()
 
+        translator = QTranslator()
+        logging.debug("Loading translations")
+        locale = QLocale().system().name()
+        if translator.load(":/i18n/{0}".format(locale)):
+            if QCoreApplication.installTranslator(translator):
+                logging.debug("Loaded i18n/{0}".format(locale))
+        else:
+            logging.debug("Couldn't load translation")
+
     def get_account(self, name):
         '''
         Load an account then return it
diff --git a/src/cutecoin/gui/transactions_tab.py b/src/cutecoin/gui/transactions_tab.py
index 649f7911..e0142c55 100644
--- a/src/cutecoin/gui/transactions_tab.py
+++ b/src/cutecoin/gui/transactions_tab.py
@@ -1,6 +1,6 @@
 from PyQt5.QtWidgets import QWidget, QAbstractItemView, QHeaderView, QDialog, \
     QMenu, QAction, QApplication, QMessageBox
-from PyQt5.QtCore import Qt, QDateTime, QTime, QModelIndex, QLocale
+from PyQt5.QtCore import Qt, QDateTime, QTime, QModelIndex, QLocale, QCoreApplication
 from PyQt5.QtGui import QCursor
 from ..gen_resources.transactions_tab_uic import Ui_transactionsTabWidget
 from ..models.txhistory import HistoryTableModel, TxFilterProxyModel
@@ -98,15 +98,15 @@ class TransactionsTabWidget(QWidget, Ui_transactionsTabWidget):
             localized_balance = QLocale().toString(
                 self.app.current_account.units_to_diff_ref(balance, self.community), 'f', 6)
 
-        self.label_deposit.setText(self.tr("<b>Deposits</b> {:} {:}").format(
+        self.label_deposit.setText(QCoreApplication.translate("TransactionsTabWidget", "<b>Deposits</b> {:} {:}").format(
             localized_deposits,
             self.app.current_account.ref_name(self.community.short_currency)
         ))
-        self.label_payment.setText(self.tr("<b>Payments</b> {:} {:}").format(
+        self.label_payment.setText(QCoreApplication.translate("TransactionsTabWidget", "<b>Payments</b> {:} {:}").format(
             localized_payments,
             self.app.current_account.ref_name(self.community.short_currency)
         ))
-        self.label_balance.setText(self.tr("<b>Balance</b> {:} {:}").format(
+        self.label_balance.setText(QCoreApplication.translate("TransactionsTabWidget", "<b>Balance</b> {:} {:}").format(
             localized_balance,
             self.app.current_account.ref_name(self.community.short_currency)
         ))
diff --git a/src/cutecoin/main.py b/src/cutecoin/main.py
index 14e11192..9fec08e2 100755
--- a/src/cutecoin/main.py
+++ b/src/cutecoin/main.py
@@ -6,9 +6,9 @@ Created on 1 févr. 2014
 import signal
 import sys
 import os
+import logging
 
 from PyQt5.QtWidgets import QApplication
-from PyQt5.QtCore import QLocale
 from cutecoin.gui.mainwindow import MainWindow
 from cutecoin.core.app import Application
 
@@ -18,7 +18,6 @@ if __name__ == '__main__':
 
     cutecoin = QApplication(sys.argv)
     app = Application(sys.argv)
-    QLocale.setDefault(QLocale("en_GB"))
     window = MainWindow(app)
     window.showMaximized()
     sys.exit(cutecoin.exec_())
-- 
GitLab