diff --git a/gen_translations.py b/gen_translations.py
index 9aee1f1e3ff537451d83f4e3a3faf4d9202a6d1a..cbc6afa4d42008d8c55018abe16bfb3d24303ce3 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 e91383654cedd9883a549aa8a12d4c6d7cad68fa..55484788d37e6af8bd760b93002542cb701f9b17 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 2e34c719506637b1c0901c206995b05470d7f4ed..d584843aa7fc514eb4669e93793bab18771bf132 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 649f7911e20d981809610d2688e0fb580fa21570..e0142c55189f7e05684f9f2b860ab108642ffb3d 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 14e11192fa88b7c4df9da8cfde8e22773315cff5..9fec08e2b9810d1a98bc47cb541ecde5f69a9bfd 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_())