mirror of
https://github.com/seiichiro0185/sailotp.git
synced 2024-11-01 01:38:25 +00:00
Version 1.2
Added swedish translation contributed by Åke Engelbrektson
This commit is contained in:
parent
8725b13639
commit
c0f811d5f6
8 changed files with 466 additions and 109 deletions
|
@ -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.
|
The qrencode library is used for QRCode-encoding existing tokens for export to other devices.
|
||||||
<a href="http://fukuchi.org/works/qrencode/">http://fukuchi.org/works/qrencode/</a>
|
<a href="http://fukuchi.org/works/qrencode/">http://fukuchi.org/works/qrencode/</a>
|
||||||
|
|
||||||
|
## Translations
|
||||||
|
|
||||||
|
The following people have contributed to translating SailOTP:
|
||||||
|
|
||||||
|
* Swedish: Åke Engelbrektson (eson57)
|
||||||
|
* English: Stefan Brand (seiichiro0185)
|
||||||
|
* German: Stefan Brand (seiichiro0185)
|
||||||
|
|
|
@ -47,7 +47,8 @@ lupdate_only {
|
||||||
qml/components/*.qml
|
qml/components/*.qml
|
||||||
|
|
||||||
TRANSLATIONS = i18n/de.ts \
|
TRANSLATIONS = i18n/de.ts \
|
||||||
i18n/en.ts
|
i18n/en.ts \
|
||||||
|
i18n/sv.ts
|
||||||
}
|
}
|
||||||
|
|
||||||
include(src/qzxing/QZXing.pri)
|
include(src/qzxing/QZXing.pri)
|
||||||
|
|
47
i18n/de.ts
47
i18n/de.ts
|
@ -12,24 +12,29 @@
|
||||||
<translation type="vanished">Copyright: Stefan Brand<br/>Lizenz: BSD (3-Klausel)</translation>
|
<translation type="vanished">Copyright: Stefan Brand<br/>Lizenz: BSD (3-Klausel)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="57"/>
|
<location filename="../qml/pages/About.qml" line="65"/>
|
||||||
<source>A Simple Sailfish OTP Generator
|
<source>A Simple Sailfish OTP Generator
|
||||||
(RFC 6238/4226 compatible)</source>
|
(RFC 6238/4226 compatible)</source>
|
||||||
<translation>Ein einfacher Sailfish OTP-Generator
|
<translation>Ein einfacher Sailfish OTP-Generator
|
||||||
(RFC 6238/4226-kompatibel)</translation>
|
(RFC 6238/4226-kompatibel)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="67"/>
|
<location filename="../qml/pages/About.qml" line="74"/>
|
||||||
<source>Copyright: Stefan Brand
|
<source>Copyright: Stefan Brand
|
||||||
License: BSD (3-clause)</source>
|
License: BSD (3-clause)</source>
|
||||||
<translation>Copyright: Stefan Brand
|
<translation>Copyright: Stefan Brand
|
||||||
Lizenz: BSD (3-Klausel)</translation>
|
Lizenz: BSD (3-Klausel)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="88"/>
|
<location filename="../qml/pages/About.qml" line="92"/>
|
||||||
<source>SailOTP uses the following third party libs:</source>
|
<source>SailOTP uses the following third party libs:</source>
|
||||||
<translation>SailOTP verwendet folgende externe Bibliotheken:</translation>
|
<translation>SailOTP verwendet folgende externe Bibliotheken:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="103"/>
|
||||||
|
<source>Translators:</source>
|
||||||
|
<translation>Übersetzer:</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AddOTP</name>
|
<name>AddOTP</name>
|
||||||
|
@ -217,7 +222,7 @@ Lizenz: BSD (3-Klausel)</translation>
|
||||||
<context>
|
<context>
|
||||||
<name>MainView</name>
|
<name>MainView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="102"/>
|
<location filename="../qml/pages/MainView.qml" line="104"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation>Über</translation>
|
<translation>Über</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -230,57 +235,57 @@ Lizenz: BSD (3-Klausel)</translation>
|
||||||
<translation type="vanished">Datenbank importieren</translation>
|
<translation type="vanished">Datenbank importieren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="106"/>
|
<location filename="../qml/pages/MainView.qml" line="108"/>
|
||||||
<source>Export / Import</source>
|
<source>Export / Import</source>
|
||||||
<translation>Export / Import</translation>
|
<translation>Export / Import</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="110"/>
|
<location filename="../qml/pages/MainView.qml" line="112"/>
|
||||||
<source>Add Token</source>
|
<source>Add Token</source>
|
||||||
<translation>Token hinzufügen</translation>
|
<translation>Token hinzufügen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="136"/>
|
<location filename="../qml/pages/MainView.qml" line="138"/>
|
||||||
<source>Nothing here</source>
|
<source>Nothing here</source>
|
||||||
<translation>Hier ist nichts</translation>
|
<translation>Hier ist nichts</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="137"/>
|
<location filename="../qml/pages/MainView.qml" line="139"/>
|
||||||
<source>Pull down to add a OTP</source>
|
<source>Pull down to add a OTP</source>
|
||||||
<translation>Nach unten ziehen zum hinzufügen</translation>
|
<translation>Nach unten ziehen zum hinzufügen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="148"/>
|
<location filename="../qml/pages/MainView.qml" line="150"/>
|
||||||
<source>Deleting</source>
|
<source>Deleting</source>
|
||||||
<translation>Lösche</translation>
|
<translation>Lösche</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="164"/>
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
<source>Token for </source>
|
<source>Token for </source>
|
||||||
<translation>Token für </translation>
|
<translation>Token für </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="164"/>
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
<source> copied to clipboard</source>
|
<source> copied to clipboard</source>
|
||||||
<translation> kopiert</translation>
|
<translation> kopiert</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="232"/>
|
<location filename="../qml/pages/MainView.qml" line="234"/>
|
||||||
<source>Move up</source>
|
<source>Move up</source>
|
||||||
<translation>Nach oben</translation>
|
<translation>Nach oben</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="237"/>
|
<location filename="../qml/pages/MainView.qml" line="239"/>
|
||||||
<source>Move down</source>
|
<source>Move down</source>
|
||||||
<translation>Nach unten</translation>
|
<translation>Nach unten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="242"/>
|
<location filename="../qml/pages/MainView.qml" line="244"/>
|
||||||
<source>Edit</source>
|
<source>Edit</source>
|
||||||
<translation>Bearbeiten</translation>
|
<translation>Bearbeiten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="248"/>
|
<location filename="../qml/pages/MainView.qml" line="250"/>
|
||||||
<source>Delete</source>
|
<source>Delete</source>
|
||||||
<translation>Löschen</translation>
|
<translation>Löschen</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -296,32 +301,32 @@ Lizenz: BSD (3-Klausel)</translation>
|
||||||
<context>
|
<context>
|
||||||
<name>ScanOTP</name>
|
<name>ScanOTP</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ScanOTP.qml" line="53"/>
|
<location filename="../qml/pages/ScanOTP.qml" line="52"/>
|
||||||
<source>Can't access temporary directory</source>
|
<source>Can't access temporary directory</source>
|
||||||
<translation>Kein Zugriff auf temporäres Verzeichnis.</translation>
|
<translation>Kein Zugriff auf temporäres Verzeichnis.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ScanOTP.qml" line="63"/>
|
<location filename="../qml/pages/ScanOTP.qml" line="62"/>
|
||||||
<source>Add manually</source>
|
<source>Add manually</source>
|
||||||
<translation>Manuell hinzufügen</translation>
|
<translation>Manuell hinzufügen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ScanOTP.qml" line="70"/>
|
<location filename="../qml/pages/ScanOTP.qml" line="69"/>
|
||||||
<source>Scan Code</source>
|
<source>Scan Code</source>
|
||||||
<translation>Code scannen</translation>
|
<translation>Code scannen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ScanOTP.qml" line="70"/>
|
<location filename="../qml/pages/ScanOTP.qml" line="69"/>
|
||||||
<source>Scanning...</source>
|
<source>Scanning...</source>
|
||||||
<translation>scanne...</translation>
|
<translation>scanne...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ScanOTP.qml" line="99"/>
|
<location filename="../qml/pages/ScanOTP.qml" line="95"/>
|
||||||
<source>No valid Token data found.</source>
|
<source>No valid Token data found.</source>
|
||||||
<translation>Kein gültiges Token gefunden.</translation>
|
<translation>Kein gültiges Token gefunden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ScanOTP.qml" line="140"/>
|
<location filename="../qml/pages/ScanOTP.qml" line="136"/>
|
||||||
<source>Tap the picture to start / stop scanning. Pull down to add Token manually.</source>
|
<source>Tap the picture to start / stop scanning. Pull down to add Token manually.</source>
|
||||||
<translation>Vorschau antippen um den Scan zu starten / zu stoppen. Nach unten ziehen um manuell hinzu zu fügen.</translation>
|
<translation>Vorschau antippen um den Scan zu starten / zu stoppen. Nach unten ziehen um manuell hinzu zu fügen.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
47
i18n/en.ts
47
i18n/en.ts
|
@ -4,22 +4,27 @@
|
||||||
<context>
|
<context>
|
||||||
<name>About</name>
|
<name>About</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="57"/>
|
<location filename="../qml/pages/About.qml" line="65"/>
|
||||||
<source>A Simple Sailfish OTP Generator
|
<source>A Simple Sailfish OTP Generator
|
||||||
(RFC 6238/4226 compatible)</source>
|
(RFC 6238/4226 compatible)</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="67"/>
|
<location filename="../qml/pages/About.qml" line="74"/>
|
||||||
<source>Copyright: Stefan Brand
|
<source>Copyright: Stefan Brand
|
||||||
License: BSD (3-clause)</source>
|
License: BSD (3-clause)</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="88"/>
|
<location filename="../qml/pages/About.qml" line="92"/>
|
||||||
<source>SailOTP uses the following third party libs:</source>
|
<source>SailOTP uses the following third party libs:</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="103"/>
|
||||||
|
<source>Translators:</source>
|
||||||
|
<translation>Translators:</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AddOTP</name>
|
<name>AddOTP</name>
|
||||||
|
@ -207,62 +212,62 @@ License: BSD (3-clause)</source>
|
||||||
<context>
|
<context>
|
||||||
<name>MainView</name>
|
<name>MainView</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="102"/>
|
<location filename="../qml/pages/MainView.qml" line="104"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="106"/>
|
<location filename="../qml/pages/MainView.qml" line="108"/>
|
||||||
<source>Export / Import</source>
|
<source>Export / Import</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="110"/>
|
<location filename="../qml/pages/MainView.qml" line="112"/>
|
||||||
<source>Add Token</source>
|
<source>Add Token</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="136"/>
|
<location filename="../qml/pages/MainView.qml" line="138"/>
|
||||||
<source>Nothing here</source>
|
<source>Nothing here</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="137"/>
|
<location filename="../qml/pages/MainView.qml" line="139"/>
|
||||||
<source>Pull down to add a OTP</source>
|
<source>Pull down to add a OTP</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="148"/>
|
<location filename="../qml/pages/MainView.qml" line="150"/>
|
||||||
<source>Deleting</source>
|
<source>Deleting</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="164"/>
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
<source>Token for </source>
|
<source>Token for </source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="164"/>
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
<source> copied to clipboard</source>
|
<source> copied to clipboard</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="232"/>
|
<location filename="../qml/pages/MainView.qml" line="234"/>
|
||||||
<source>Move up</source>
|
<source>Move up</source>
|
||||||
<translation>Move up</translation>
|
<translation>Move up</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="237"/>
|
<location filename="../qml/pages/MainView.qml" line="239"/>
|
||||||
<source>Move down</source>
|
<source>Move down</source>
|
||||||
<translation>Move down</translation>
|
<translation>Move down</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="242"/>
|
<location filename="../qml/pages/MainView.qml" line="244"/>
|
||||||
<source>Edit</source>
|
<source>Edit</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="248"/>
|
<location filename="../qml/pages/MainView.qml" line="250"/>
|
||||||
<source>Delete</source>
|
<source>Delete</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -278,32 +283,32 @@ License: BSD (3-clause)</source>
|
||||||
<context>
|
<context>
|
||||||
<name>ScanOTP</name>
|
<name>ScanOTP</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ScanOTP.qml" line="53"/>
|
<location filename="../qml/pages/ScanOTP.qml" line="52"/>
|
||||||
<source>Can't access temporary directory</source>
|
<source>Can't access temporary directory</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ScanOTP.qml" line="63"/>
|
<location filename="../qml/pages/ScanOTP.qml" line="62"/>
|
||||||
<source>Add manually</source>
|
<source>Add manually</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ScanOTP.qml" line="70"/>
|
<location filename="../qml/pages/ScanOTP.qml" line="69"/>
|
||||||
<source>Scan Code</source>
|
<source>Scan Code</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ScanOTP.qml" line="70"/>
|
<location filename="../qml/pages/ScanOTP.qml" line="69"/>
|
||||||
<source>Scanning...</source>
|
<source>Scanning...</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ScanOTP.qml" line="99"/>
|
<location filename="../qml/pages/ScanOTP.qml" line="95"/>
|
||||||
<source>No valid Token data found.</source>
|
<source>No valid Token data found.</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ScanOTP.qml" line="140"/>
|
<location filename="../qml/pages/ScanOTP.qml" line="136"/>
|
||||||
<source>Tap the picture to start / stop scanning. Pull down to add Token manually.</source>
|
<source>Tap the picture to start / stop scanning. Pull down to add Token manually.</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
318
i18n/sv.ts
Normal file
318
i18n/sv.ts
Normal file
|
@ -0,0 +1,318 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="sv_SE">
|
||||||
|
<context>
|
||||||
|
<name>About</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="65"/>
|
||||||
|
<source>A Simple Sailfish OTP Generator
|
||||||
|
(RFC 6238/4226 compatible)</source>
|
||||||
|
<translation>En enkel Sailfish OTP-generator
|
||||||
|
(RFC 6238/4226-kompatibel)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="74"/>
|
||||||
|
<source>Copyright: Stefan Brand
|
||||||
|
License: BSD (3-clause)</source>
|
||||||
|
<translation>Copyright: Stefan Brand
|
||||||
|
Licens: BSD (3-clause)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="92"/>
|
||||||
|
<source>SailOTP uses the following third party libs:</source>
|
||||||
|
<translation>SailOTP använder följande tredjeparts bibliotek:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="103"/>
|
||||||
|
<source>Translators:</source>
|
||||||
|
<translation>Översättare:</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>AddOTP</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="66"/>
|
||||||
|
<source>Show QR-Code</source>
|
||||||
|
<translation>Visa QR-kod</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="69"/>
|
||||||
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
|
<translation>Kan inte skapa QR-kod från ofullständiga inställningar!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="82"/>
|
||||||
|
<source>Save</source>
|
||||||
|
<translation>Spara</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="82"/>
|
||||||
|
<source>Add</source>
|
||||||
|
<translation>Lägg till</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="87"/>
|
||||||
|
<source>Type</source>
|
||||||
|
<translation>Typ</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="89"/>
|
||||||
|
<source>Time-based (TOTP)</source>
|
||||||
|
<translation>Tidsbaserad (TOTP)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="90"/>
|
||||||
|
<source>Counter-based (HOTP)</source>
|
||||||
|
<translation>Räknarbaserad (HOTP)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="96"/>
|
||||||
|
<source>Title</source>
|
||||||
|
<translation>Namn</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="97"/>
|
||||||
|
<source>Title for the OTP</source>
|
||||||
|
<translation>Namn på OTP:n</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="109"/>
|
||||||
|
<source>Secret (at least 16 characters)</source>
|
||||||
|
<translation>Hemlighet (Minst 16 tecken)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="111"/>
|
||||||
|
<source>Secret OTP Key</source>
|
||||||
|
<translation>Hemlig OTP-nyckel</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="123"/>
|
||||||
|
<source>Next Counter Value</source>
|
||||||
|
<translation>Nästa räknarvärde</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="125"/>
|
||||||
|
<source>Next Value of the Counter</source>
|
||||||
|
<translation>Nästa värde på räknaren</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ExportPage</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="61"/>
|
||||||
|
<source>File already exists, choose "Overwrite existing" to overwrite it.</source>
|
||||||
|
<translation>Filen finns redan. Välj "Skriv över befintlig" för att skriva över den.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="70"/>
|
||||||
|
<source>Given file does not exist!</source>
|
||||||
|
<translation>Angiven fil finns inte!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="89"/>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="105"/>
|
||||||
|
<source>Export</source>
|
||||||
|
<translation>Exportera</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="89"/>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="105"/>
|
||||||
|
<source>Import</source>
|
||||||
|
<translation>Importera</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="112"/>
|
||||||
|
<source>Filename</source>
|
||||||
|
<translation>Filnamn</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="113"/>
|
||||||
|
<source>File to import</source>
|
||||||
|
<translation>Fil att importera</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="113"/>
|
||||||
|
<source>File to export</source>
|
||||||
|
<translation>Fil att exportera</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="126"/>
|
||||||
|
<source>Overwrite existing</source>
|
||||||
|
<translation>Skriv över befintlig</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="132"/>
|
||||||
|
<source>Password</source>
|
||||||
|
<translation>Lösenord</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="133"/>
|
||||||
|
<source>Password for the file</source>
|
||||||
|
<translation>Lösenord för filen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="146"/>
|
||||||
|
<source>Passwords don't match!</source>
|
||||||
|
<translation>Lösenorden stämmer inte!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="146"/>
|
||||||
|
<source>Passwords match!</source>
|
||||||
|
<translation>Lösenorden stämmer!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="147"/>
|
||||||
|
<source>Repeated Password for the file</source>
|
||||||
|
<translation>Upprepat lösenord för filen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="171"/>
|
||||||
|
<source>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.</source>
|
||||||
|
<translation>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.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="187"/>
|
||||||
|
<source>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.</source>
|
||||||
|
<translation>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.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="209"/>
|
||||||
|
<source>Error writing to file </source>
|
||||||
|
<translation>Fel vid skrivning till fil </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
||||||
|
<source>Token Database exported to </source>
|
||||||
|
<translation>Token-databas exporterad till </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="214"/>
|
||||||
|
<source>Could not encrypt tokens. Error: </source>
|
||||||
|
<translation>Kunde inte kryptera token. Fel: </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="217"/>
|
||||||
|
<source>Could not read tokens from Database</source>
|
||||||
|
<translation>Kunde inte läsa in token från databasen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="228"/>
|
||||||
|
<source>Tokens imported from </source>
|
||||||
|
<translation>Token importerad från </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="233"/>
|
||||||
|
<source>Unable to decrypt file, did you use the right password?</source>
|
||||||
|
<translation>Kunde inte dekryptera filen. Angav du rätt lösenord?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="236"/>
|
||||||
|
<source>Could not read from file </source>
|
||||||
|
<translation>Kunde inte läsa från fil </translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainView</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="104"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>Om</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="108"/>
|
||||||
|
<source>Export / Import</source>
|
||||||
|
<translation>Export / Import</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="112"/>
|
||||||
|
<source>Add Token</source>
|
||||||
|
<translation>Lägg till Token</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="138"/>
|
||||||
|
<source>Nothing here</source>
|
||||||
|
<translation>Inget här</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="139"/>
|
||||||
|
<source>Pull down to add a OTP</source>
|
||||||
|
<translation>Dra neråt för att lägga till en OTP</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="150"/>
|
||||||
|
<source>Deleting</source>
|
||||||
|
<translation>Tar bort</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
|
<source>Token for </source>
|
||||||
|
<translation>Token för </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
|
<source> copied to clipboard</source>
|
||||||
|
<translation>kopierad till urklipp</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="234"/>
|
||||||
|
<source>Move up</source>
|
||||||
|
<translation>Flytta upp</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="239"/>
|
||||||
|
<source>Move down</source>
|
||||||
|
<translation>Flytta ner</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="244"/>
|
||||||
|
<source>Edit</source>
|
||||||
|
<translation>Redigera</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="250"/>
|
||||||
|
<source>Delete</source>
|
||||||
|
<translation>Ta bort</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>QRPage</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/QRPage.qml" line="71"/>
|
||||||
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
|
<translation>Kan inte skapa QR-kod från ofullständiga inställningar!</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScanOTP</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="52"/>
|
||||||
|
<source>Can't access temporary directory</source>
|
||||||
|
<translation>Kan inte komma åt temp-mapp</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="62"/>
|
||||||
|
<source>Add manually</source>
|
||||||
|
<translation>Lägg till manuellt</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="69"/>
|
||||||
|
<source>Scan Code</source>
|
||||||
|
<translation>Skanna kod</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="69"/>
|
||||||
|
<source>Scanning...</source>
|
||||||
|
<translation>Skannar...</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="95"/>
|
||||||
|
<source>No valid Token data found.</source>
|
||||||
|
<translation>Ingen giltig Token-data hittades.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="136"/>
|
||||||
|
<source>Tap the picture to start / stop scanning. Pull down to add Token manually.</source>
|
||||||
|
<translation>Tryck på bilden för att starta / stoppa skanning. Dra neråt för att lägga till Token manuellt.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
|
@ -33,59 +33,77 @@ import Sailfish.Silica 1.0
|
||||||
// Define the Layout of the About Page
|
// Define the Layout of the About Page
|
||||||
Page {
|
Page {
|
||||||
id: aboutPage
|
id: aboutPage
|
||||||
Image {
|
SilicaFlickable {
|
||||||
id: logo
|
id: flickable
|
||||||
source: "../sailotp.png"
|
anchors.fill: parent
|
||||||
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
|
|
||||||
width: parent.width
|
width: parent.width
|
||||||
horizontalAlignment: TextEdit.Center
|
contentHeight: column.height
|
||||||
readOnly: true
|
|
||||||
text: qsTr("A Simple Sailfish OTP Generator\n(RFC 6238/4226 compatible)")
|
Column {
|
||||||
color: "white"
|
id: column
|
||||||
}
|
width: parent.width
|
||||||
TextArea {
|
spacing: Theme.paddingLarge
|
||||||
id: copyright
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
Image {
|
||||||
anchors.top: desc.bottom
|
id: logo
|
||||||
width: parent.width
|
source: "../sailotp.png"
|
||||||
horizontalAlignment: TextEdit.Center
|
anchors.topMargin: 20
|
||||||
readOnly: true
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
text: qsTr("Copyright: Stefan Brand\nLicense: BSD (3-clause)")
|
}
|
||||||
color: "white"
|
Label {
|
||||||
}
|
id: name
|
||||||
Button {
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
id: homepage
|
font.bold: true
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
text: "SailOTP " + Qt.application.version
|
||||||
anchors.top: copyright.bottom
|
}
|
||||||
text: "<a href=\"https://www.seiichiro0185.org/gitlab/seiichiro0185/harbour-sailotp.git\">Source Code</a>"
|
TextArea {
|
||||||
onClicked: {
|
id: desc
|
||||||
Qt.openUrlExternally("https://www.seiichiro0185.org/gitlab/seiichiro0185/harbour-sailotp.git")
|
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: "<a href=\"https://www.seiichiro0185.org/gitlab/seiichiro0185/harbour-sailotp.git\">Source Code</a>"
|
||||||
|
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"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
VerticalScrollDecorator { }
|
||||||
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"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
* Sat May 30 2015 Stefan Brand <sailfish@seiichiro0185.org> 1.2-1
|
||||||
|
- Added Swedish translation (Thanks to Åke Engelbrektson)
|
||||||
|
|
||||||
* Fri May 22 2015 Stefan Brand <sailfish@seiichiro0185.org> 1.1-1
|
* Fri May 22 2015 Stefan Brand <sailfish@seiichiro0185.org> 1.1-1
|
||||||
- Added URL-decoding for OTP-titles when scanning QR-codes
|
- Added URL-decoding for OTP-titles when scanning QR-codes
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Name: harbour-sailotp
|
Name: harbour-sailotp
|
||||||
Summary: SailOTP
|
Summary: SailOTP
|
||||||
Version: 1.1
|
Version: 1.2
|
||||||
Release: 1
|
Release: 1
|
||||||
Group: Security
|
Group: Security
|
||||||
URL: https://github.com/seiichiro0185/sailotp/
|
URL: https://github.com/seiichiro0185/sailotp/
|
||||||
|
|
Loading…
Reference in a new issue