diff --git a/harbour-sailotp.pro b/harbour-sailotp.pro index f5a9cc9..a591677 100644 --- a/harbour-sailotp.pro +++ b/harbour-sailotp.pro @@ -48,6 +48,7 @@ lupdate_only { TRANSLATIONS = i18n/de.ts \ i18n/en.ts \ + i18n/fr.ts \ i18n/sv.ts } diff --git a/i18n/fr.ts b/i18n/fr.ts new file mode 100644 index 0000000..69fe2a6 --- /dev/null +++ b/i18n/fr.ts @@ -0,0 +1,348 @@ + + + + + About + + + A Simple Sailfish OTP Generator +(RFC 6238/4226 compatible) + Un générateur d'OTP simple pour Sailfish (compatible avec les RFC6238 et 4226) + + + + Copyright: Stefan Brand +License: BSD (3-clause) + Copyright: Stefan Brand +Licence : BSD (3 clauses) + + + + SailOTP uses the following third party libs: + SailOTP utilise les bibliothèques tierces suivantes : + + + + Contributors: + Contributeurs : + + + + Support + Support + + + + Translators: + Traducteurs : + + + + AddOTP + + + Show QR-Code + Afficher le code QR + + + + Can't create QR-Code from incomplete settings! + Impossible de créer un code QR avec des paramètres incomplets ! + + + + Add + Ajouter + + + + Save + Enregistrer + + + + Type + Type + + + + Time-based (TOTP) + Basé sur le temps (TOTP) + + + + Counter-based (HOTP) + Basé sur un compteur (HOTP) + + + + Steam Guard + Steam Guard + + + + Title + Titre + + + + Title for the OTP + Titre de l'OTP + + + + Secret (at least 16 characters) + Secret (au moins 16 caractètres) + + + + Secret OTP Key + Clé secrète OTP + + + + Length + Longueur + + + + Length of the Token + Longueur du jeton + + + + + Time Derivation (Seconds) + Dérivation de temps (secondes) + + + + Next Counter Value + Prochaine valeur du compteur + + + + Next Value of the Counter + Prochaine valeur du compteur + + + + ExportPage + + + File already exists, choose "Overwrite existing" to overwrite it. + Le fichier existe déjà, cochez "Écraser un fichier existant" pour le remplacer. + + + + Given file does not exist! + Le fichier spécifé n'existe pas ! + + + + + Import + Importer + + + + + Export + Exporter + + + + Filename + Nom du fichier + + + + File to import + Fichier à importer + + + + File to export + Fichier à exporter + + + + Overwrite existing + Écraser un fichier existant + + + + Password + Mot de passe + + + + Password for the file + Mot de passe pour le fichier + + + + Passwords don't match! + Les mots de passe ne correspondent pas ! + + + + Passwords match! + Les mots de passe correspondent ! + + + + Repeated Password for the file + Confirmation du mot de passe pour le fichier + + + + Here you can Import Tokens from a file. Put in the file location and the password you used on export. Pull left to start the import. + Vous pouvez ici importer les paramètres d'OTP depuis un fichier. Indiquez le fichier et le mot de passe utilisés lors de l'export. Glissez vers la droite pour démarrer l'import. + + + + Here you can export Tokens to a file. The exported file will be encrypted with AES-256-CBC and Base64 encoded. Choose a strong password, the file will contain the secrets used to generate the Tokens for your accounts. Pull left to start the export. + Vous pouvez ici exporter les paramètres d'OTP vers un fichier. Ce fichier sera chiffré en AES-256-CBC et encodé en Base64. Ce fichier contiendra les secrets utilisés pour générer les OTP de vos comptes, choisissez donc un mot de passe fort. Glissez vers la droite pour démarrer l'export. + + + + Error writing to file + Erreur lors de l'écriture du fichier + + + + Token Database exported to + Base des paramètres d'OTP exportée vers + + + + Could not encrypt tokens. Error: + Impossible de chiffrer les paramètes d'OTP. Erreur : + + + + Could not read tokens from Database + Impossible de lire les paramètres d'OTP depuis la base de données + + + + Tokens imported from + Paramètres d'OTP importés depuis + + + + Unable to decrypt file, did you use the right password? + Impossible de déchiffrer le fichier, utilisez-vous le bon mot de passe ? + + + + Could not read from file + Impossible de lire depuis le fichier + + + + MainView + + + About + À propos + + + + Export / Import + Exporter / Importer + + + + Add Token + Ajouter un OTP + + + + Nothing here + Aucun mot de passe + + + + Pull down to add a OTP + Glissez vers le bas pour ajouter un OTP + + + + Deleting + Suppression + + + + Token for + OTP pour + + + + copied to clipboard + copié dans le presse-papier + + + + Move up + Déplacer vers le haut + + + + Move down + Déplacer vers le bas + + + + Edit + Modifier + + + + Delete + Supprimer + + + + QRPage + + + Can't create QR-Code from incomplete settings! + Impossible de créer un code QR avec des paramètres incomplets ! + + + + ScanOTP + + + Can't access temporary directory + Impossible d'accéder au répertoire temportaire + + + + Add manually + Ajouter manuellement + + + + Scanning... + Balayage… + + + + Scan Code + Balayer un code + + + + No valid Token data found. + Pas d'information valide trouvée. + + + + Tap the picture to start / stop scanning. Pull down to add Token manually. + Appuyez sur l'image pour démarrer / arréter le balayage. Glissez vers le bas pour entrer les paramètres manuellement. + + + diff --git a/qml/cover/CoverPage.qml b/qml/cover/CoverPage.qml index f0012ac..ba7d9a0 100644 --- a/qml/cover/CoverPage.qml +++ b/qml/cover/CoverPage.qml @@ -103,7 +103,9 @@ CoverBackground { iconSource: appWin.coverType == "HOTP" ? "image://theme/icon-cover-refresh" : "image://theme/icon-cover-previous" onTriggered: { if (appWin.coverType == "HOTP") { - appWin.coverOTP = OTP.calcOTP(appWin.coverSecret, "HOTP", appWin.CoverLen, 0, DB.getCounter(appWin.coverTitle, appWin.coverSecret, true)); + appWin.listModel.setProperty(appWin.coverIndex, "counter", DB.getCounter(appWin.coverTitle, appWin.coverSecret, true)); + appWin.listModel.setProperty(appWin.coverIndex, "otp", OTP.calcOTP(appWin.coverSecret, "HOTP", appWin.coverLen, 0, appWin.listModel.get(appWin.coverIndex).counter)); + appWin.coverOTP = appWin.listModel.get(appWin.coverIndex).otp; } else { var index = appWin.coverIndex - 1 if (index < 0) index = appWin.listModel.count - 1 diff --git a/qml/pages/About.qml b/qml/pages/About.qml index bea3e23..e04c618 100644 --- a/qml/pages/About.qml +++ b/qml/pages/About.qml @@ -114,7 +114,7 @@ Page { font.pixelSize: Theme.fontSizeSmall horizontalAlignment: TextEdit.Center readOnly: true - text: qsTr("Translators:")+"\n\nSwedish: Åke Engelbrektson\nEnglish: Stefan Brand\nGerman: Stefan Brand" + text: qsTr("Translators:")+"\n\nSwedish: Åke Engelbrektson\nFrench: Romain Tartière\nEnglish: Stefan Brand\nGerman: Stefan Brand" color: "white" } } diff --git a/qml/pages/AddOTP.qml b/qml/pages/AddOTP.qml index 33ed946..e53e79e 100644 --- a/qml/pages/AddOTP.qml +++ b/qml/pages/AddOTP.qml @@ -77,22 +77,6 @@ Dialog { } } - - - PullDownMenu { - visible: checkQR() - MenuItem { - text: qsTr("Show QR-Code") - onClicked: { - if (((paramType == "TOTP" || paramType == "TOTP_STEAM") && (otpLabel.text == "" || otpSecret.text == "")) || (paramType == "HOTP" && (otpLabel.text == "" || otpSecret.text == "" || otpCounter.text <= 0))) { - notify.show(qsTr("Can't create QR-Code from incomplete settings!"), 4000); - } else { - pageStack.push(Qt.resolvedUrl("QRPage.qml"), {paramLabel: otpLabel.text, paramKey: otpSecret.text, paramType: paramType, paramCounter: otpCounter.text}); - } - } - } - } - VerticalScrollDecorator {} Column { @@ -140,6 +124,7 @@ Dialog { TextField { id: otpLen width: parent.width + visible: paramType != "TOTP_STEAM" ? true : false label: qsTr("Length") text: paramLen placeholderText: qsTr("Length of the Token") @@ -202,8 +187,3 @@ Dialog { } } } - - - - - diff --git a/rpm/harbour-sailotp.changes b/rpm/harbour-sailotp.changes index 740bead..cd09962 100644 --- a/rpm/harbour-sailotp.changes +++ b/rpm/harbour-sailotp.changes @@ -1,3 +1,7 @@ +* Sun Oct 09 2016 Stefan Brand 1.5-1 +- Added French Translation (Thanks to Romain Tartière) +- Bugfix: Refresh HOTP-Token from Cover. Closes Github Issue #11 + * Thu Jul 14 2016 Stefan Brand 1.4-1 - Added Setting for Time Derivation - Added Setting for Token Length diff --git a/rpm/harbour-sailotp.yaml b/rpm/harbour-sailotp.yaml index 20201e9..0f34c5d 100644 --- a/rpm/harbour-sailotp.yaml +++ b/rpm/harbour-sailotp.yaml @@ -1,6 +1,6 @@ Name: harbour-sailotp Summary: SailOTP -Version: 1.4 +Version: 1.5 Release: 1 Group: Security URL: https://github.com/seiichiro0185/sailotp/