1
0
Fork 0
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:
seiichiro 2015-06-17 21:17:55 +02:00
parent 8725b13639
commit c0f811d5f6
8 changed files with 466 additions and 109 deletions

View file

@ -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)

View file

@ -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)

View file

@ -12,24 +12,29 @@
<translation type="vanished">Copyright: Stefan Brand&lt;br/&gt;Lizenz: BSD (3-Klausel)</translation> <translation type="vanished">Copyright: Stefan Brand&lt;br/&gt;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&apos;t access temporary directory</source> <source>Can&apos;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>

View file

@ -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&apos;t access temporary directory</source> <source>Can&apos;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
View 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&apos;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 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 räknaren</translation>
</message>
</context>
<context>
<name>ExportPage</name>
<message>
<location filename="../qml/pages/ExportPage.qml" line="61"/>
<source>File already exists, choose &quot;Overwrite existing&quot; to overwrite it.</source>
<translation>Filen finns redan. Välj &quot;Skriv över befintlig&quot; 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&apos;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&apos;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&apos;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 bilden för att starta / stoppa skanning. Dra neråt för att lägga till Token manuellt.</translation>
</message>
</context>
</TS>

View file

@ -5,25 +5,25 @@
* Redistribution and use in source and binary forms, with or without modification, * Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met: * 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. * list of conditions and the following disclaimer.
* *
* 2. Redistributions in binary form must reproduce the above copyright notice, this * 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. * 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. * derived from this software without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * (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 * 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 * 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, * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * 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 // 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"
} }
} }

View file

@ -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

View file

@ -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/