aboutsummaryrefslogtreecommitdiffstats
path: root/mageiaSync
diff options
context:
space:
mode:
authorpapoteur-mga <yves.brungard_git@gadz.org>2014-12-13 09:19:42 +0100
committerpapoteur-mga <yves.brungard_git@gadz.org>2014-12-13 09:19:42 +0100
commit2ca3af423ae1aea12fbd35afef61883a8762c4e5 (patch)
tree63d88c9c68dd972521583752a89950c3a366529b /mageiaSync
parent1f12a90fbdbb128b7ab0f28b5a8d1b68eaaaa144 (diff)
downloadMageiaSync-2ca3af423ae1aea12fbd35afef61883a8762c4e5.tar
MageiaSync-2ca3af423ae1aea12fbd35afef61883a8762c4e5.tar.gz
MageiaSync-2ca3af423ae1aea12fbd35afef61883a8762c4e5.tar.bz2
MageiaSync-2ca3af423ae1aea12fbd35afef61883a8762c4e5.tar.xz
MageiaSync-2ca3af423ae1aea12fbd35afef61883a8762c4e5.zip
Added Interntionalization
Added French translation
Diffstat (limited to 'mageiaSync')
-rw-r--r--mageiaSync/mageiaSync.pro22
-rw-r--r--mageiaSync/mageiaSyncDBprefs.py4
-rw-r--r--mageiaSync/mageiaSyncExt.py22
-rw-r--r--mageiaSync/mageiaSync_en.ts441
-rw-r--r--mageiaSync/mageiaSync_fr.ts522
-rw-r--r--mageiaSync/mageiasync.py64
6 files changed, 1034 insertions, 41 deletions
diff --git a/mageiaSync/mageiaSync.pro b/mageiaSync/mageiaSync.pro
new file mode 100644
index 0000000..263efb3
--- /dev/null
+++ b/mageiaSync/mageiaSync.pro
@@ -0,0 +1,22 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2014-12-07T13:03:24
+#
+#-------------------------------------------------
+
+QT += core gui
+
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+TARGET = mageiaSync
+TEMPLATE = app
+
+
+SOURCES +=mageiasync.py mageiaSyncExt.py
+
+
+HEADERS +=
+
+FORMS += mageiaSyncUI.ui mageiaSyncDBprefs.ui mageiaSyncDBprefs0.ui mageiaSyncDBrename.ui mageiaSyncDBupdate.ui
+TRANSLATIONS += mageiaSync_en.ts
+TRANSLATIONS += mageiaSync_fr.ts
diff --git a/mageiaSync/mageiaSyncDBprefs.py b/mageiaSync/mageiaSyncDBprefs.py
index d96c74c..1d78be6 100644
--- a/mageiaSync/mageiaSyncDBprefs.py
+++ b/mageiaSync/mageiaSyncDBprefs.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
-# Form implementation generated from reading ui file 'mageiaSyncDBprefs.ui'
+# Form implementation generated from reading ui file '/documents/mageiasync/mageiaSync/mageiaSyncDBprefs.ui'
#
-# Created: Sat Sep 20 19:26:02 2014
+# Created: Sun Dec 7 13:24:26 2014
# by: PyQt5 UI code generator 5.1.1
#
# WARNING! All changes made in this file will be lost!
diff --git a/mageiaSync/mageiaSyncExt.py b/mageiaSync/mageiaSyncExt.py
index ebd224f..3071199 100644
--- a/mageiaSync/mageiaSyncExt.py
+++ b/mageiaSync/mageiaSyncExt.py
@@ -121,16 +121,16 @@ class syncThread(QThread):
self.stopped=True
try:
self.process.terminate()
- self.lvM.emit("Process rsync stopped")
+ self.lvM.emit(self.tr("Process rsync stopped"))
self.list=[]
except:
- self.lvM.emit("Process rsync already stopped")
+ self.lvM.emit(self.tr("Process rsync already stopped"))
# Init progressbar and speed counter
self.endSignal.emit(0)
def run(self):
if len(self.list)==0:
- self.lvM.emit("No entry selected")
+ self.lvM.emit(self.tr("No entry selected"))
for iso in self.list:
errorOccured=True
self.lvM.emit("Starting rsync with "+iso['nameWithPath'])
@@ -186,7 +186,7 @@ class syncThread(QThread):
self.process.poll()
if self.process.returncode != None:
break
- self.lvM.emit("Ending with "+iso['nameWithPath'])
+ self.lvM.emit(self.tr("Ending with ")+iso['nameWithPath'])
if self.stopped:
break
else:
@@ -214,7 +214,7 @@ def rename(directory,oldRelease,newRelease):
item=process.stderr.readline().rstrip()
return 'Error ', item
break
- return "Success in renaming"
+ return tr("Success in renaming")
class findIsos(QThread):
endSignal=pyqtSignal(int)
@@ -261,16 +261,16 @@ class findIsos(QThread):
else:
process = Popen(commande, shell=False, stdout=PIPE, stderr=PIPE)
except OSError as e:
- self.lvM.emit("Command rsync not found: "+str(e))
+ self.lvM.emit(self.tr("Command rsync not found: ")+str(e))
self.endSignal.emit(1)
return
except ValueError as e:
- self.lvM.emit("Error in rsync parameters: "+str(e))
+ self.lvM.emit(self.tr("Error in rsync parameters: ")+str(e))
self.endSignal.emit(2)
return
except Exception as e:
# Unknown error in rsync
- self.lvM.emit("Error in rsync: "+str(e))
+ self.lvM.emit(self.tr("Error in rsync: ")+str(e))
self.endSignal.emit(3)
return
process.poll()
@@ -298,14 +298,14 @@ def findRelease(releasePath, password): # List the remote list of relea
process = Popen(commande, shell=False, stdout=PIPE, stderr=PIPE)
except OSError as e:
code=1
- return code, "Command rsync not found: "+str(e)
+ return code,self.tr("Command rsync not found: ")+str(e)
except ValueError as e:
code=2
- return code,"Error in rsync parameters: "+str(e)
+ return code,self.tr("Error in rsync parameters: ")+str(e)
except Exception as e:
# Unknown error in rsync
code=3
- return code, "Error in rsync: "+str(e)
+ return code,self.tr("Error in rsync: ")+str(e)
process.poll()
while True :
item=process.stdout.readline().rstrip().decode('unicode_escape')
diff --git a/mageiaSync/mageiaSync_en.ts b/mageiaSync/mageiaSync_en.ts
new file mode 100644
index 0000000..661a27d
--- /dev/null
+++ b/mageiaSync/mageiaSync_en.ts
@@ -0,0 +1,441 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="2.0">
+<context>
+ <name>@default</name>
+ <message>
+ <location filename="mageiaSyncExt.py" line="219"/>
+ <source>Success in renaming</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Dialog</name>
+ <message>
+ <location filename="mageiaSyncDBupdate.ui" line="14"/>
+ <source>Dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBupdate.ui" line="29"/>
+ <source>Loading images list from repository...</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>IsosViewer</name>
+ <message>
+ <location filename="mageiasync.py" line="98"/>
+ <source>Directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="98"/>
+ <source>Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="98"/>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="98"/>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="149"/>
+ <source> bytes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="191"/>
+ <source>Checking</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="213"/>
+ <source>OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="216"/>
+ <source>Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="442"/>
+ <source>Command rsync not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="444"/>
+ <source>Error in rsync parameters</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="446"/>
+ <source>Unknown error in rsync</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="297"/>
+ <source>the user must set values or default values</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="306"/>
+ <source>Local directory: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="308"/>
+ <source>Remote directory: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="365"/>
+ <source>Select a directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="322"/>
+ <source>Unselect &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="356"/>
+ <source>Select &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="350"/>
+ <source>Source: </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>LogWindow</name>
+ <message>
+ <location filename="mageiasync.py" line="45"/>
+ <source>Loading images list from repository.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>dbWarning</name>
+ <message>
+ <location filename="mageiasync.py" line="62"/>
+ <source>Loading images list from repository.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="61"/>
+ <source>Loading...</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>findIsos</name>
+ <message>
+ <location filename="mageiaSyncExt.py" line="306"/>
+ <source>Error in rsync parameters: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="303"/>
+ <source>Command rsync not found: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="310"/>
+ <source>Error in rsync: </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>mainWindow</name>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="14"/>
+ <source>MageiaSync</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="31"/>
+ <source>Remote directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="41"/>
+ <source>Select &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="64"/>
+ <source>Local directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="114"/>
+ <source>0 bytes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="124"/>
+ <source>kB/s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="134"/>
+ <source>Remaining:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="153"/>
+ <source>H:mm:ss</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="167"/>
+ <source>&amp;Do sync</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="177"/>
+ <source>&amp;Stop</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="250"/>
+ <source>&amp;Quit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="196"/>
+ <source>Report</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="223"/>
+ <source>&amp;File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="234"/>
+ <source>S&amp;ync</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="245"/>
+ <source>&amp;Update list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="255"/>
+ <source>&amp;Preferences</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="260"/>
+ <source>&amp;Rename archives</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="265"/>
+ <source>&amp;Check</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="268"/>
+ <source>Check selected images</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>prefsDialog</name>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="14"/>
+ <source>Preferences</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="51"/>
+ <source>Give the release name like &quot;mageia5-alpha2&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="57"/>
+ <source>Release:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="64"/>
+ <source>User name to acces the repository. Only for testing repository.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="70"/>
+ <source>User:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="90"/>
+ <source>Associated with user, if needed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="96"/>
+ <source>Password:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="113"/>
+ <source>Source repository. Keep void to use the testing repo.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="119"/>
+ <source>Source:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="136"/>
+ <source>The local directory where you store ISOs. Will sync your existent ISOs already present.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="142"/>
+ <source>Destination:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="152"/>
+ <source>PushButton</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="159"/>
+ <source>Set to zero if you don&apos;t want apply limit.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="165"/>
+ <source>Bandwith limit (kB/s):</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="185"/>
+ <source>Define parameters which are stored and used for rsync</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>prefsDialog0</name>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="14"/>
+ <source>Preferences</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="54"/>
+ <source>Define parameters which are stored and used for rsync</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="61"/>
+ <source>User name to acces the repository. Only for testing repository.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="67"/>
+ <source>User:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="87"/>
+ <source>Associated with user, if needed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="93"/>
+ <source>Password:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="100"/>
+ <source>Give a value if you want to use testing repository</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="110"/>
+ <source>Source repository. Keep void to use the testing repo.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="116"/>
+ <source>Source:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="123"/>
+ <source>Give a mirror adress with public access</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>renameDialog</name>
+ <message>
+ <location filename="mageiaSyncDBrename.ui" line="14"/>
+ <source>Rename release</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBrename.ui" line="51"/>
+ <source>Old release</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBrename.ui" line="61"/>
+ <source>New release</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBrename.ui" line="71"/>
+ <source>This action renames the directories and names from a former version to a new one.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBrename.ui" line="84"/>
+ <source>Base directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBrename.ui" line="91"/>
+ <source>PushButton</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>syncThread</name>
+ <message>
+ <location filename="mageiaSyncExt.py" line="124"/>
+ <source>Process rsync stopped</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="127"/>
+ <source>Process rsync already stopped</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="133"/>
+ <source>No entry selected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="191"/>
+ <source>Ending with </source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/mageiaSync/mageiaSync_fr.ts b/mageiaSync/mageiaSync_fr.ts
new file mode 100644
index 0000000..5ca68e9
--- /dev/null
+++ b/mageiaSync/mageiaSync_fr.ts
@@ -0,0 +1,522 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="fr_FR">
+<context>
+ <name>@default</name>
+ <message>
+ <location filename="mageiasync.py" line="443"/>
+ <source>Command rsync not found</source>
+ <translation type="obsolete">Commande rsync non disponible</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="445"/>
+ <source>Error in rsync parameters</source>
+ <translation type="obsolete">Erreur dans les paramètres de rsync</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="447"/>
+ <source>Unknown error in rsync</source>
+ <translation type="obsolete">Erreur inconnue avec rsync</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="298"/>
+ <source>the user must set values or default values</source>
+ <translation type="obsolete">l&apos;utilisateur doit spécifier des valeurs</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="307"/>
+ <source>Local directory: </source>
+ <translation type="obsolete">Répertoire local :</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="309"/>
+ <source>Remote directory: </source>
+ <translation type="obsolete">Dépôt distant :</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="366"/>
+ <source>Select a directory</source>
+ <translation type="obsolete">Sélectionner un répertoire</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="323"/>
+ <source>Unselect &amp;All</source>
+ <translation type="obsolete">Désélectionner &amp;Tout</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="357"/>
+ <source>Select &amp;All</source>
+ <translation type="obsolete">Sélectionner &amp;Tout</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="124"/>
+ <source>Process rsync stopped</source>
+ <translation type="obsolete">Processus rsync arrêté</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="127"/>
+ <source>Process rsync already stopped</source>
+ <translation type="obsolete">Processus rsync déjà arrêté</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="133"/>
+ <source>No entry selected</source>
+ <translation type="obsolete">pas d&apos;entrée sélectionnée</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="191"/>
+ <source>Ending with </source>
+ <translation type="obsolete">Fin de </translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="306"/>
+ <source>Error in rsync parameters: </source>
+ <translation type="obsolete">Erreur dans les paramètres de rsync :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="303"/>
+ <source>Command rsync not found: </source>
+ <translation type="obsolete">Commande rsync non disponible :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="310"/>
+ <source>Error in rsync: </source>
+ <translation type="obsolete">Erreur avec rsync :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="219"/>
+ <source>Success in renaming</source>
+ <translation>Renommage effectué avec succès</translation>
+ </message>
+</context>
+<context>
+ <name>Dialog</name>
+ <message>
+ <location filename="mageiaSyncDBupdate.ui" line="14"/>
+ <source>Dialog</source>
+ <translation>Dialogue</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBupdate.ui" line="29"/>
+ <source>Loading images list from repository...</source>
+ <translation>Chargement de la liste des images depuis le dépôt...</translation>
+ </message>
+</context>
+<context>
+ <name>IsosViewer</name>
+ <message>
+ <location filename="mageiasync.py" line="98"/>
+ <source>Directory</source>
+ <translation>Répertoire</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="98"/>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="98"/>
+ <source>Size</source>
+ <translation>Taille</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="98"/>
+ <source>Date</source>
+ <translation>Date</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="149"/>
+ <source> bytes</source>
+ <translation> octects</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="191"/>
+ <source>Checking</source>
+ <translation>Vérification</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="213"/>
+ <source>OK</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="216"/>
+ <source>Failed</source>
+ <translation>Échec</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="442"/>
+ <source>Command rsync not found</source>
+ <translation>Commande rsync non disponible</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="444"/>
+ <source>Error in rsync parameters</source>
+ <translation>Erreur dans les paramètres de rsync</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="446"/>
+ <source>Unknown error in rsync</source>
+ <translation>Erreur inconnue avec rsync</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="297"/>
+ <source>the user must set values or default values</source>
+ <translation>l&apos;utilisateur doit spécifier des valeurs</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="306"/>
+ <source>Local directory: </source>
+ <translation>Répertoire local :</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="308"/>
+ <source>Remote directory: </source>
+ <translation>Dépôt distant :</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="365"/>
+ <source>Select a directory</source>
+ <translation>Sélectionner un répertoire</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="322"/>
+ <source>Unselect &amp;All</source>
+ <translation>Désélectionner &amp;Tout</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="356"/>
+ <source>Select &amp;All</source>
+ <translation>Sélectionner &amp;Tout</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="350"/>
+ <source>Source: </source>
+ <translation>Source :</translation>
+ </message>
+</context>
+<context>
+ <name>LogWindow</name>
+ <message>
+ <location filename="mageiasync.py" line="45"/>
+ <source>Loading images list from repository.</source>
+ <translation>Chargement des images depuis le dépôt.</translation>
+ </message>
+</context>
+<context>
+ <name>dbWarning</name>
+ <message>
+ <location filename="mageiasync.py" line="62"/>
+ <source>Loading images list from repository.</source>
+ <translation>Chargement des images depuis le dépôt.</translation>
+ </message>
+ <message>
+ <location filename="mageiasync.py" line="61"/>
+ <source>Loading...</source>
+ <translation>Chargement...</translation>
+ </message>
+</context>
+<context>
+ <name>findIsos</name>
+ <message>
+ <location filename="mageiaSyncExt.py" line="306"/>
+ <source>Error in rsync parameters: </source>
+ <translation>Erreur dans les paramètres de rsync :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="303"/>
+ <source>Command rsync not found: </source>
+ <translation>Commande rsync non disponible :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="310"/>
+ <source>Error in rsync: </source>
+ <translation>Erreur avec rsync :</translation>
+ </message>
+</context>
+<context>
+ <name>mainWindow</name>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="14"/>
+ <source>MageiaSync</source>
+ <translation>MageiaSync</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="31"/>
+ <source>Remote directory</source>
+ <translation>Dépôt distant</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="41"/>
+ <source>Select &amp;All</source>
+ <translation>Sélectionner &amp;Tout</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="64"/>
+ <source>Local directory:</source>
+ <translation>Répertoire local :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="114"/>
+ <source>0 bytes</source>
+ <translation>0 octets</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="124"/>
+ <source>kB/s</source>
+ <translation>kB/s</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="134"/>
+ <source>Remaining:</source>
+ <translation>Restant :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="153"/>
+ <source>H:mm:ss</source>
+ <translation>H:mm:ss</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="167"/>
+ <source>&amp;Do sync</source>
+ <translation>S&amp;ynchronise</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="177"/>
+ <source>&amp;Stop</source>
+ <translation>&amp;Stop</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="250"/>
+ <source>&amp;Quit</source>
+ <translation>&amp;Quitter</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="196"/>
+ <source>Report</source>
+ <translation>Sorties</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="223"/>
+ <source>&amp;File</source>
+ <translation>&amp;Fichier</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="234"/>
+ <source>S&amp;ync</source>
+ <translation>S&amp;ynchronise</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="245"/>
+ <source>&amp;Update list</source>
+ <translation>Act&amp;ualiser la liste</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="255"/>
+ <source>&amp;Preferences</source>
+ <translation>&amp;Préférences</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="260"/>
+ <source>&amp;Rename archives</source>
+ <translation>&amp;Renommer les fichiers locaux</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="265"/>
+ <source>&amp;Check</source>
+ <translation>&amp;Vérification</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncUI.ui" line="268"/>
+ <source>Check selected images</source>
+ <translation>Vérifier les images sélectionnées</translation>
+ </message>
+</context>
+<context>
+ <name>prefsDialog</name>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="14"/>
+ <source>Preferences</source>
+ <translation>Préférences</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="51"/>
+ <source>Give the release name like &quot;mageia5-alpha2&quot;</source>
+ <translation>Donner le nom de version, tel que &quot;mageia5-alpha2&quot;</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="57"/>
+ <source>Release:</source>
+ <translation>Version :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="64"/>
+ <source>User name to acces the repository. Only for testing repository.</source>
+ <translation>Nom d&apos;utilisateur pour accéder au répertoire distant. Uniquement pour le dépôt de test.</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="70"/>
+ <source>User:</source>
+ <translation>Utilisateur :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="90"/>
+ <source>Associated with user, if needed</source>
+ <translation>Associé à l&apos;utilisateur, si nécessaire</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="96"/>
+ <source>Password:</source>
+ <translation>Mot de passe :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="113"/>
+ <source>Source repository. Keep void to use the testing repo.</source>
+ <translation>Dépôt source : laisser vide pour utiliser le dépôt de test.</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="119"/>
+ <source>Source:</source>
+ <translation>Source :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="136"/>
+ <source>The local directory where you store ISOs. Will sync your existent ISOs already present.</source>
+ <translation>Le répertoire local où stocker les images. Les images existantes seront synchronisées si elles sont déjà là.</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="142"/>
+ <source>Destination:</source>
+ <translation>Destination :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="152"/>
+ <source>PushButton</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="159"/>
+ <source>Set to zero if you don&apos;t want apply limit.</source>
+ <translation>Mettre à zéro pour ne pas appliquer de limitation.</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="165"/>
+ <source>Bandwith limit (kB/s):</source>
+ <translation>Limite de bande passante utilisée (kB/s) :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs.ui" line="185"/>
+ <source>Define parameters which are stored and used for rsync</source>
+ <translation>Définir les paramètres qui sont stockés et utilisés par rsync</translation>
+ </message>
+</context>
+<context>
+ <name>prefsDialog0</name>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="14"/>
+ <source>Preferences</source>
+ <translation>Préférences</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="54"/>
+ <source>Define parameters which are stored and used for rsync</source>
+ <translation>Définir les paramètres qui sont stockés et utilisés par rsync</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="61"/>
+ <source>User name to acces the repository. Only for testing repository.</source>
+ <translation>Nom d&apos;utilisateur pour accéder au dépôt distant. Uniquement pour le dépôt de test.</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="67"/>
+ <source>User:</source>
+ <translation>Utilisateur :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="87"/>
+ <source>Associated with user, if needed</source>
+ <translation>Associé à l&apos;utilisateur, si nécessaire</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="93"/>
+ <source>Password:</source>
+ <translation>Mot de passe :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="100"/>
+ <source>Give a value if you want to use testing repository</source>
+ <translation>Donner une valeur pour utiliser le dépôt de test</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="110"/>
+ <source>Source repository. Keep void to use the testing repo.</source>
+ <translation>Dépôt source : laisser vide pour utiliser la source de test.</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="116"/>
+ <source>Source:</source>
+ <translation>Source :</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBprefs0.ui" line="123"/>
+ <source>Give a mirror adress with public access</source>
+ <translation>Donner une adresse de miroir avec un accès public</translation>
+ </message>
+</context>
+<context>
+ <name>renameDialog</name>
+ <message>
+ <location filename="mageiaSyncDBrename.ui" line="14"/>
+ <source>Rename release</source>
+ <translation>Renommer la version</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBrename.ui" line="51"/>
+ <source>Old release</source>
+ <translation>Ancienne version</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBrename.ui" line="61"/>
+ <source>New release</source>
+ <translation>Nouvelle version</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBrename.ui" line="71"/>
+ <source>This action renames the directories and names from a former version to a new one.</source>
+ <translation>Cette action renomme les répertoires et les noms d&apos;une version précédente pour une nouvelle.</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBrename.ui" line="84"/>
+ <source>Base directory</source>
+ <translation>Répertoire de base</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncDBrename.ui" line="91"/>
+ <source>PushButton</source>
+ <translation></translation>
+ </message>
+</context>
+<context>
+ <name>syncThread</name>
+ <message>
+ <location filename="mageiaSyncExt.py" line="124"/>
+ <source>Process rsync stopped</source>
+ <translation>Processus rsync arrêté</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="127"/>
+ <source>Process rsync already stopped</source>
+ <translation>Processus rsync déjà arrêté</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="133"/>
+ <source>No entry selected</source>
+ <translation>Pas d&apos;entrée sélectionnée</translation>
+ </message>
+ <message>
+ <location filename="mageiaSyncExt.py" line="191"/>
+ <source>Ending with </source>
+ <translation>Fin de </translation>
+ </message>
+</context>
+</TS>
diff --git a/mageiaSync/mageiasync.py b/mageiaSync/mageiasync.py
index 07ea7a5..cc61183 100644
--- a/mageiaSync/mageiasync.py
+++ b/mageiaSync/mageiasync.py
@@ -1,8 +1,9 @@
-#!/usr/bin/python3
+#!/usr/bin/python
from PyQt5.QtWidgets import ( QProgressDialog, QMainWindow,
QDialog, QFileDialog, QApplication)
from PyQt5.QtGui import ( QStandardItemModel,QStandardItem, )
+from PyQt5.QtCore import ( QLibraryInfo, )
from PyQt5 import QtCore # , Qt, QThread, QObject, pyqtSignal)
import sys
import mageiaSyncUI
@@ -41,7 +42,7 @@ class LogWindow(QProgressDialog):
super(LogWindow, self).__init__(parent)
self.setWindowModality(QtCore.Qt.WindowModal)
self.setWindowTitle('Loading...')
- self.setLabelText('Loading images list from repository.')
+ self.setLabelText(self.tr('Loading images list from repository.'))
self.setMinimum(0)
self.setMaximum(0)
self.setAutoReset(False)
@@ -57,8 +58,8 @@ class dbWarning(QProgressDialog):
def __init__(self, parent=None):
super(dbWarning, self).__init__(parent)
self.setWindowModality(QtCore.Qt.WindowModal)
- self.setWindowTitle('Loading...')
- self.setLabelText('Loading images list from repository.')
+ self.setWindowTitle(self.tr('Loading...'))
+ self.setLabelText(self.tr('Loading images list from repository.'))
self.setMinimum(0)
self.setMaximum(0)
self.setAutoReset(False)
@@ -93,7 +94,7 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
# Model for list view in a table
self.model = QStandardItemModel(0, 6, self)
- headers=["Directory","Name","Size","Date","SHA1","MD5"]
+ headers=[self.tr("Directory"),self.tr("Name"),self.tr("Size"),self.tr("Date"),"SHA1","MD5"]
i=0
for label in headers:
self.model.setHeaderData(i, QtCore.Qt.Horizontal,label )
@@ -144,7 +145,7 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
def setSize(self, size):
# Update the size field
- self.Lsize.setText(size+" bytes")
+ self.Lsize.setText(size+self.tr(" bytes"))
def setRemain(self,remainTime):
content=QtCore.QTime.fromString(remainTime,"h:mm:ss")
@@ -186,32 +187,32 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
# the hundred contains index of the value to check, the minor value contains the row
col=(int)(isoIndex/100)
row=isoIndex-col*100
- self.model.setData(self.model.index(row, col, QtCore.QModelIndex()), "Checking")
+ self.model.setData(self.model.index(row, col, QtCore.QModelIndex()), self.tr("Checking"))
def md5Check(self,check):
if check>=128:
- val="OK"
+ val=self.tr("OK")
row=check-128
else:
- val="Failed"
+ val=self.tr("Failed")
row=check
self.model.setData(self.model.index(row, 5, QtCore.QModelIndex()), val)
def sha1Check(self,check):
if check>=128:
- val="OK"
+ val=self.tr("OK")
row=check-128
else:
- val="Failed"
+ val=self.tr("Failed")
row=check
self.model.setData(self.model.index(row, 4, QtCore.QModelIndex()), val)
def dateCheck(self,check):
if check>=128:
- val="OK"
+ val=self.tr("OK")
row=check-128
else:
- val="Failed"
+ val=self.tr("Failed")
row=check
self.model.setData(self.model.index(row, 3, QtCore.QModelIndex()), val)
@@ -222,11 +223,11 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
def syncEnd(self, rc):
if rc==1:
- self.lvMessage("Command rsync not found")
+ self.lvMessage(self.tr("Command rsync not found"))
elif rc==2:
- self.lvMessage("Error in rsync parameters")
+ self.lvMessage(self.tr("Error in rsync parameters"))
elif rc==3:
- self.lvMessage("Unknown error in rsync")
+ self.lvMessage(self.tr("Unknown error in rsync"))
self.IprogressBar.setEnabled(False)
self.syncGo.setEnabled(True)
self.listIsos.setEnabled(True)
@@ -291,7 +292,7 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
else:
pass
# answer=QDialogButtonBox(QDialogButtonBox.Ok)
- print("the user must set values or default values")
+ print(self.tr("the user must set values or default values"))
self.pd.close()
else:
self.release=params.value("release", type="QString")
@@ -300,13 +301,13 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
self.password=params.value("password", type="QString")
self.destination=params.value("destination", type="QString")
self.bwl=params.value("bwl",type=int)
- self.localDirLabel.setText("Local directory: "+self.destination)
+ self.localDirLabel.setText(self.tr("Local directory: ")+self.destination)
if self.location !="":
- self.remoteDirLabel.setText("Remote directory: "+self.location)
+ self.remoteDirLabel.setText(self.tr("Remote directory: ")+self.location)
def selectDestination(self):
# dialog box to select the destination (local directory)
- directory = QFileDialog.getExistingDirectory(self, 'Select a directory','~/')
+ directory = QFileDialog.getExistingDirectory(self, self.tr('Select a directory'),'~/')
isosSync.destination = directory
self.pd.selectDest.setText(isosSync.destination)
@@ -316,11 +317,11 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
if self.selectAllState :
for i in range(self.listIsos.count()):
self.listIsos.item(i).setSelected(True)
- self.selectAll.setText("Unselect &All")
+ self.selectAll.setText(self.tr("Unselect &All"))
else:
for i in range(self.listIsos.count()):
self.listIsos.item(i).setSelected(False)
- self.selectAll.setText("Select &All")
+ self.selectAll.setText(self.tr("Select &All"))
self.selectAllState=not self.selectAllState
def connectActions(self):
@@ -344,13 +345,13 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
# print self.nameWithPath
else:
self.nameWithPath=self.location+'/'
- self.lvMessage("Source: "+self.nameWithPath)
+ self.lvMessage(self.tr("Source: ")+self.nameWithPath)
self.fillList = mageiaSyncExt.findIsos()
self.fillList.setup(self.nameWithPath, self.password,self.destination)
self.fillList.endSignal.connect(self.closeFill)
self.fillList.start()
# Reset the button
- self.selectAll.setText("Select &All")
+ self.selectAll.setText(self.tr("Select &All"))
self.selectAllState=True
def lvMessage( self,message):
@@ -359,7 +360,7 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
def renameDir(self):
# Choose the directory where isos are stored
- directory = QFileDialog.getExistingDirectory(self, 'Select a directory',self.destination)
+ directory = QFileDialog.getExistingDirectory(self, self.tr('Select a directory'),self.destination)
self.rd.chooseDir.setText(directory)
def rename(self):
@@ -436,11 +437,11 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
for iso in list:
self.add(iso)
elif code==1:
- self.lvMessage("Command rsync not found")
+ self.lvMessage(self.tr("Command rsync not found"))
elif code==2:
- self.lvMessage("Error in rsync parameters")
+ self.lvMessage(self.tr("Error in rsync parameters"))
elif code==3:
- self.lvMessage("Unknown error in rsync")
+ self.lvMessage(self.tr("Unknown error in rsync"))
list=self.fillList.getList()
list=self.fillList.getLocal()
@@ -472,6 +473,13 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
if __name__=='__main__':
app = QApplication(sys.argv)
+ locale = QtCore.QLocale.system().name()
+ qtTranslator = QtCore.QTranslator()
+ if qtTranslator.load("qt_" + locale,QLibraryInfo.location(QLibraryInfo.TranslationsPath)):
+ app.installTranslator(qtTranslator)
+ appTranslator = QtCore.QTranslator()
+ if appTranslator.load("mageiaSync_" + locale,QLibraryInfo.location(QLibraryInfo.TranslationsPath)):
+ app.installTranslator(appTranslator)
isosSync = IsosViewer()
isosSync.main()
sys.exit(app.exec_())