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
+
+
+
+ Un générateur d'OTP simple pour Sailfish (compatible avec les RFC6238 et 4226)
+
+
+
+
+ Copyright: Stefan Brand
+Licence : BSD (3 clauses)
+
+
+
+
+ SailOTP utilise les bibliothèques tierces suivantes :
+
+
+
+
+ Contributeurs :
+
+
+
+
+ Support
+
+
+
+
+ Traducteurs :
+
+
+
+ AddOTP
+
+
+
+ Afficher le code QR
+
+
+
+
+ Impossible de créer un code QR avec des paramètres incomplets !
+
+
+
+
+ Ajouter
+
+
+
+
+ Enregistrer
+
+
+
+
+ Type
+
+
+
+
+ Basé sur le temps (TOTP)
+
+
+
+
+ Basé sur un compteur (HOTP)
+
+
+
+
+ Steam Guard
+
+
+
+
+ Titre
+
+
+
+
+ Titre de l'OTP
+
+
+
+
+ Secret (au moins 16 caractètres)
+
+
+
+
+ Clé secrète OTP
+
+
+
+
+ Longueur
+
+
+
+
+ Longueur du jeton
+
+
+
+
+
+ Dérivation de temps (secondes)
+
+
+
+
+ Prochaine valeur du compteur
+
+
+
+
+ Prochaine valeur du compteur
+
+
+
+ ExportPage
+
+
+
+ Le fichier existe déjà, cochez "Écraser un fichier existant" pour le remplacer.
+
+
+
+
+ Le fichier spécifé n'existe pas !
+
+
+
+
+
+ Importer
+
+
+
+
+
+ Exporter
+
+
+
+
+ Nom du fichier
+
+
+
+
+ Fichier à importer
+
+
+
+
+ Fichier à exporter
+
+
+
+
+ Écraser un fichier existant
+
+
+
+
+ Mot de passe
+
+
+
+
+ Mot de passe pour le fichier
+
+
+
+
+ Les mots de passe ne correspondent pas !
+
+
+
+
+ Les mots de passe correspondent !
+
+
+
+
+ Confirmation du mot de passe pour le fichier
+
+
+
+
+ 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.
+
+
+
+
+ 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.
+
+
+
+
+ Erreur lors de l'écriture du fichier
+
+
+
+
+ Base des paramètres d'OTP exportée vers
+
+
+
+
+ Impossible de chiffrer les paramètes d'OTP. Erreur :
+
+
+
+
+ Impossible de lire les paramètres d'OTP depuis la base de données
+
+
+
+
+ Paramètres d'OTP importés depuis
+
+
+
+
+ Impossible de déchiffrer le fichier, utilisez-vous le bon mot de passe ?
+
+
+
+
+ Impossible de lire depuis le fichier
+
+
+
+ MainView
+
+
+
+ À propos
+
+
+
+
+ Exporter / Importer
+
+
+
+
+ Ajouter un OTP
+
+
+
+
+ Aucun mot de passe
+
+
+
+
+ Glissez vers le bas pour ajouter un OTP
+
+
+
+
+ Suppression
+
+
+
+
+ OTP pour
+
+
+
+
+ copié dans le presse-papier
+
+
+
+
+ Déplacer vers le haut
+
+
+
+
+ Déplacer vers le bas
+
+
+
+
+ Modifier
+
+
+
+
+ Supprimer
+
+
+
+ QRPage
+
+
+
+ Impossible de créer un code QR avec des paramètres incomplets !
+
+
+
+ ScanOTP
+
+
+
+ Impossible d'accéder au répertoire temportaire
+
+
+
+
+ Ajouter manuellement
+
+
+
+
+ Balayage…
+
+
+
+
+ Balayer un code
+
+
+
+
+ Pas d'information valide trouvée.
+
+
+
+
+ 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/