diff options
-rw-r--r-- | CHANGELOG | 3 | ||||
-rw-r--r-- | mageiaSync/mageiaSync.pro | 22 | ||||
-rw-r--r-- | mageiaSync/mageiaSyncDBprefs.py | 4 | ||||
-rw-r--r-- | mageiaSync/mageiaSyncExt.py | 22 | ||||
-rw-r--r-- | mageiaSync/mageiaSync_en.ts | 441 | ||||
-rw-r--r-- | mageiaSync/mageiaSync_fr.ts | 522 | ||||
-rw-r--r-- | mageiaSync/mageiasync.py | 64 |
7 files changed, 1037 insertions, 41 deletions
@@ -1,5 +1,8 @@ The modifications are: + - internationalization. + + mageiasync 0.1.2 ------------ - added shortcuts. 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 &All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="mageiasync.py" line="356"/> + <source>Select &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 &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>&Do sync</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="177"/> + <source>&Stop</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="250"/> + <source>&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>&File</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="234"/> + <source>S&ync</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="245"/> + <source>&Update list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="255"/> + <source>&Preferences</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="260"/> + <source>&Rename archives</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="265"/> + <source>&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 "mageia5-alpha2"</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'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'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 &All</source> + <translation type="obsolete">Désélectionner &Tout</translation> + </message> + <message> + <location filename="mageiasync.py" line="357"/> + <source>Select &All</source> + <translation type="obsolete">Sélectionner &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'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'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 &All</source> + <translation>Désélectionner &Tout</translation> + </message> + <message> + <location filename="mageiasync.py" line="356"/> + <source>Select &All</source> + <translation>Sélectionner &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 &All</source> + <translation>Sélectionner &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>&Do sync</source> + <translation>S&ynchronise</translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="177"/> + <source>&Stop</source> + <translation>&Stop</translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="250"/> + <source>&Quit</source> + <translation>&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>&File</source> + <translation>&Fichier</translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="234"/> + <source>S&ync</source> + <translation>S&ynchronise</translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="245"/> + <source>&Update list</source> + <translation>Act&ualiser la liste</translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="255"/> + <source>&Preferences</source> + <translation>&Préférences</translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="260"/> + <source>&Rename archives</source> + <translation>&Renommer les fichiers locaux</translation> + </message> + <message> + <location filename="mageiaSyncUI.ui" line="265"/> + <source>&Check</source> + <translation>&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 "mageia5-alpha2"</source> + <translation>Donner le nom de version, tel que "mageia5-alpha2"</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'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'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'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'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'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'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'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_()) |