diff --git a/README.md b/README.md
index 3d257ad..32b8457 100644
--- a/README.md
+++ b/README.md
@@ -50,3 +50,10 @@ An adapted version of the QZXing-library is used for QRCode-decoding
The qrencode library is used for QRCode-encoding existing tokens for export to other devices.
http://fukuchi.org/works/qrencode/
+## Translations
+
+The following people have contributed to translating SailOTP:
+
+ * Swedish: Åke Engelbrektson (eson57)
+ * English: Stefan Brand (seiichiro0185)
+ * German: Stefan Brand (seiichiro0185)
diff --git a/harbour-sailotp.pro b/harbour-sailotp.pro
index 2ca910d..f5a9cc9 100644
--- a/harbour-sailotp.pro
+++ b/harbour-sailotp.pro
@@ -47,7 +47,8 @@ lupdate_only {
qml/components/*.qml
TRANSLATIONS = i18n/de.ts \
- i18n/en.ts
+ i18n/en.ts \
+ i18n/sv.ts
}
include(src/qzxing/QZXing.pri)
diff --git a/i18n/de.ts b/i18n/de.ts
index 114db66..7a30a33 100644
--- a/i18n/de.ts
+++ b/i18n/de.ts
@@ -12,24 +12,29 @@
Copyright: Stefan Brand<br/>Lizenz: BSD (3-Klausel)
-
+ Ein einfacher Sailfish OTP-Generator
(RFC 6238/4226-kompatibel)
-
+ Copyright: Stefan Brand
Lizenz: BSD (3-Klausel)
-
+ SailOTP verwendet folgende externe Bibliotheken:
+
+
+
+ Übersetzer:
+ AddOTP
@@ -217,7 +222,7 @@ Lizenz: BSD (3-Klausel)
MainView
-
+ Über
@@ -230,57 +235,57 @@ Lizenz: BSD (3-Klausel)
Datenbank importieren
-
+ Export / Import
-
+ Token hinzufügen
-
+ Hier ist nichts
-
+ Nach unten ziehen zum hinzufügen
-
+ Lösche
-
+ Token für
-
+ kopiert
-
+ Nach oben
-
+ Nach unten
-
+ Bearbeiten
-
+ Löschen
@@ -296,32 +301,32 @@ Lizenz: BSD (3-Klausel)
ScanOTP
-
+ Kein Zugriff auf temporäres Verzeichnis.
-
+ Manuell hinzufügen
-
+ Code scannen
-
+ scanne...
-
+ Kein gültiges Token gefunden.
-
+ Vorschau antippen um den Scan zu starten / zu stoppen. Nach unten ziehen um manuell hinzu zu fügen.
diff --git a/i18n/en.ts b/i18n/en.ts
index 72a7a50..75939ea 100644
--- a/i18n/en.ts
+++ b/i18n/en.ts
@@ -4,22 +4,27 @@
About
-
+
-
+
-
+
+
+
+
+ Translators:
+ AddOTP
@@ -207,62 +212,62 @@ License: BSD (3-clause)
MainView
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+ Move up
-
+ Move down
-
+
-
+
@@ -278,32 +283,32 @@ License: BSD (3-clause)
ScanOTP
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/i18n/sv.ts b/i18n/sv.ts
new file mode 100644
index 0000000..01cfa84
--- /dev/null
+++ b/i18n/sv.ts
@@ -0,0 +1,318 @@
+
+
+
+
+ About
+
+
+
+ En enkel Sailfish OTP-generator
+(RFC 6238/4226-kompatibel)
+
+
+
+
+ Copyright: Stefan Brand
+Licens: BSD (3-clause)
+
+
+
+
+ SailOTP använder följande tredjeparts bibliotek:
+
+
+
+
+ Översättare:
+
+
+
+ AddOTP
+
+
+
+ Visa QR-kod
+
+
+
+
+ Kan inte skapa QR-kod från ofullständiga inställningar!
+
+
+
+
+ Spara
+
+
+
+
+ Lägg till
+
+
+
+
+ Typ
+
+
+
+
+ Tidsbaserad (TOTP)
+
+
+
+
+ Räknarbaserad (HOTP)
+
+
+
+
+ Namn
+
+
+
+
+ Namn på OTP:n
+
+
+
+
+ Hemlighet (Minst 16 tecken)
+
+
+
+
+ Hemlig OTP-nyckel
+
+
+
+
+ Nästa räknarvärde
+
+
+
+
+ Nästa värde på räknaren
+
+
+
+ ExportPage
+
+
+
+ Filen finns redan. Välj "Skriv över befintlig" för att skriva över den.
+
+
+
+
+ Angiven fil finns inte!
+
+
+
+
+
+ Exportera
+
+
+
+
+
+ Importera
+
+
+
+
+ Filnamn
+
+
+
+
+ Fil att importera
+
+
+
+
+ Fil att exportera
+
+
+
+
+ Skriv över befintlig
+
+
+
+
+ Lösenord
+
+
+
+
+ Lösenord för filen
+
+
+
+
+ Lösenorden stämmer inte!
+
+
+
+
+ Lösenorden stämmer!
+
+
+
+
+ Upprepat lösenord för filen
+
+
+
+
+ Här kan du importera Token från en fil. Ange filens sökväg och lösenordet du angav vid exporten. Svep åt vänster för att starta importen.
+
+
+
+
+ Här kan du exportera Token till en fil. Den exporterade filen kommer att krypteras med AES-256-CBC och Base64. Välj ett starkt lösenord, filen kommer att innehålla hemligheterna som användes för att generera Token för ditt konto. Svep åt vänster för att starta exporten.
+
+
+
+
+ Fel vid skrivning till fil
+
+
+
+
+ Token-databas exporterad till
+
+
+
+
+ Kunde inte kryptera token. Fel:
+
+
+
+
+ Kunde inte läsa in token från databasen
+
+
+
+
+ Token importerad från
+
+
+
+
+ Kunde inte dekryptera filen. Angav du rätt lösenord?
+
+
+
+
+ Kunde inte läsa från fil
+
+
+
+ MainView
+
+
+
+ Om
+
+
+
+
+ Export / Import
+
+
+
+
+ Lägg till Token
+
+
+
+
+ Inget här
+
+
+
+
+ Dra neråt för att lägga till en OTP
+
+
+
+
+ Tar bort
+
+
+
+
+ Token för
+
+
+
+
+ kopierad till urklipp
+
+
+
+
+ Flytta upp
+
+
+
+
+ Flytta ner
+
+
+
+
+ Redigera
+
+
+
+
+ Ta bort
+
+
+
+ QRPage
+
+
+
+ Kan inte skapa QR-kod från ofullständiga inställningar!
+
+
+
+ ScanOTP
+
+
+
+ Kan inte komma åt temp-mapp
+
+
+
+
+ Lägg till manuellt
+
+
+
+
+ Skanna kod
+
+
+
+
+ Skannar...
+
+
+
+
+ Ingen giltig Token-data hittades.
+
+
+
+
+ Tryck på bilden för att starta / stoppa skanning. Dra neråt för att lägga till Token manuellt.
+
+
+
diff --git a/qml/pages/About.qml b/qml/pages/About.qml
index 1c7a721..6f3031c 100644
--- a/qml/pages/About.qml
+++ b/qml/pages/About.qml
@@ -5,25 +5,25 @@
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
- * 1. Redistributions of source code must retain the above copyright notice, this
+ * 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this
- * list of conditions and the following disclaimer in the documentation and/or other
+ * list of conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution.
- *
- * 3. The names of the contributors may not be used to endorse or promote products
+ *
+ * 3. The names of the contributors may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -33,59 +33,77 @@ import Sailfish.Silica 1.0
// Define the Layout of the About Page
Page {
id: aboutPage
- Image {
- id: logo
- source: "../sailotp.png"
- anchors.horizontalCenter: parent.horizontalCenter
- y: 140
- }
- Label {
- id: name
- anchors.horizontalCenter: parent.horizontalCenter
- y: 260
- font.bold: true
- text: "SailOTP " + Qt.application.version
- }
- TextArea {
- id: desc
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.top: name.bottom
- anchors.topMargin: 20
+ SilicaFlickable {
+ id: flickable
+ anchors.fill: parent
width: parent.width
- horizontalAlignment: TextEdit.Center
- readOnly: true
- text: qsTr("A Simple Sailfish OTP Generator\n(RFC 6238/4226 compatible)")
- color: "white"
- }
- TextArea {
- id: copyright
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.top: desc.bottom
- width: parent.width
- horizontalAlignment: TextEdit.Center
- readOnly: true
- text: qsTr("Copyright: Stefan Brand\nLicense: BSD (3-clause)")
- color: "white"
- }
- Button {
- id: homepage
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.top: copyright.bottom
- text: "Source Code"
- onClicked: {
- Qt.openUrlExternally("https://www.seiichiro0185.org/gitlab/seiichiro0185/harbour-sailotp.git")
+ contentHeight: column.height
+
+ Column {
+ id: column
+ width: parent.width
+ spacing: Theme.paddingLarge
+
+ Image {
+ id: logo
+ source: "../sailotp.png"
+ anchors.topMargin: 20
+ anchors.horizontalCenter: parent.horizontalCenter
+ }
+ Label {
+ id: name
+ anchors.horizontalCenter: parent.horizontalCenter
+ font.bold: true
+ text: "SailOTP " + Qt.application.version
+ }
+ TextArea {
+ id: desc
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: parent.width
+ horizontalAlignment: TextEdit.Center
+ readOnly: true
+ text: qsTr("A Simple Sailfish OTP Generator\n(RFC 6238/4226 compatible)")
+ color: "white"
+ }
+ TextArea {
+ id: copyright
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: parent.width
+ horizontalAlignment: TextEdit.Center
+ readOnly: true
+ text: qsTr("Copyright: Stefan Brand\nLicense: BSD (3-clause)")
+ color: "white"
+ }
+ Button {
+ id: homepage
+ anchors.horizontalCenter: parent.horizontalCenter
+ text: "Source Code"
+ onClicked: {
+ Qt.openUrlExternally("https://www.seiichiro0185.org/gitlab/seiichiro0185/harbour-sailotp.git")
+ }
+ }
+ TextArea {
+ id: acknowledgement
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: parent.width
+ font.pixelSize: Theme.fontSizeSmall
+ horizontalAlignment: TextEdit.Center
+ readOnly: true
+ text: qsTr("SailOTP uses the following third party libs:")+"\n\nhttp://caligatio.github.io/jsSHA/\nhttps://github.com/mdp/gibberish-aes/\nhttp://sourceforge.net/projects/qzxing/\nhttp://fukuchi.org/works/qrencode/"
+ color: "white"
+ }
+
+ TextArea {
+ id: translators
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: parent.width
+ font.pixelSize: Theme.fontSizeSmall
+ horizontalAlignment: TextEdit.Center
+ readOnly: true
+ text: qsTr("Translators:")+"\n\nSwedish: Åke Engelbrektson\nEnglish: Stefan Brand\nGerman: Stefan Brand"
+ color: "white"
+ }
}
- }
- TextArea {
- id: acknowledgement
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.top: homepage.bottom
- anchors.topMargin: 20
- width: parent.width
- font.pixelSize: Theme.fontSizeSmall
- horizontalAlignment: TextEdit.Center
- readOnly: true
- text: qsTr("SailOTP uses the following third party libs:")+"\n\nhttp://caligatio.github.io/jsSHA/\nhttps://github.com/mdp/gibberish-aes/\nhttp://sourceforge.net/projects/qzxing/\nhttp://fukuchi.org/works/qrencode/"
- color: "white"
+ VerticalScrollDecorator { }
}
}
diff --git a/rpm/harbour-sailotp.changes b/rpm/harbour-sailotp.changes
index 294f52e..d0deb1b 100644
--- a/rpm/harbour-sailotp.changes
+++ b/rpm/harbour-sailotp.changes
@@ -1,3 +1,6 @@
+* Sat May 30 2015 Stefan Brand 1.2-1
+- Added Swedish translation (Thanks to Åke Engelbrektson)
+
* Fri May 22 2015 Stefan Brand 1.1-1
- Added URL-decoding for OTP-titles when scanning QR-codes
diff --git a/rpm/harbour-sailotp.yaml b/rpm/harbour-sailotp.yaml
index f481a35..1867833 100644
--- a/rpm/harbour-sailotp.yaml
+++ b/rpm/harbour-sailotp.yaml
@@ -1,6 +1,6 @@
Name: harbour-sailotp
Summary: SailOTP
-Version: 1.1
+Version: 1.2
Release: 1
Group: Security
URL: https://github.com/seiichiro0185/sailotp/