mirror of
https://github.com/seiichiro0185/sailotp.git
synced 2024-11-24 16:19:43 +00:00
Version 1.7
Added Chinese Translation contributed by BirdZhang Added Finnish Translation contributed by Johan Heikkilä (hevanaa) Added Russian Translation contributed by moorchegue Added Spanish Translation contributed by p4moedo Some internal Preparation for future features
This commit is contained in:
parent
c17e8d5113
commit
b0dcf11fe9
18 changed files with 1855 additions and 109 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -2,4 +2,5 @@
|
||||||
*.pro.user
|
*.pro.user
|
||||||
*.pro.user.*
|
*.pro.user.*
|
||||||
rpm/harbour-sailotp.spec
|
rpm/harbour-sailotp.spec
|
||||||
|
rpm/harbour-sailotp.spec.*
|
||||||
i18n/*.qm
|
i18n/*.qm
|
||||||
|
|
14
README.md
14
README.md
|
@ -15,7 +15,7 @@ From the main view a token can be copied to the clipboard by tapping on it.
|
||||||
From the pulley menu the token database can be exported to a file for backup purposes. The backup is a AES-256-CBC encrypted and
|
From the pulley menu the token database can be exported to a file for backup purposes. The backup is a AES-256-CBC encrypted and
|
||||||
Base64 encoded file containing a JSON-representation of the database. It can be decrypted with openssl using the following command:
|
Base64 encoded file containing a JSON-representation of the database. It can be decrypted with openssl using the following command:
|
||||||
|
|
||||||
openssl enc -d -a -aes-256-cbc -in <file>
|
openssl enc -d -a -A -md md5 -aes-256-cbc -in <file>
|
||||||
|
|
||||||
if you need the information outside of SailOTP.
|
if you need the information outside of SailOTP.
|
||||||
|
|
||||||
|
@ -25,8 +25,9 @@ It is also possible to generate tokens for SteamGuard (Steams TOTP-Variant for 2
|
||||||
|
|
||||||
## Contact and Issues
|
## Contact and Issues
|
||||||
|
|
||||||
If you find any bugs or want to suggest a feature, feel free to use Githubs
|
If you find any bugs or want to suggest a feature, feel free to use Githubs Issues feature at
|
||||||
Issues feature or write an email to sailfish _AT_ seiichiro0185.org
|
<a href="https://github.com/seiichiro0185/sailotp/issues" target="_blank">https://github.com/seiichiro0185/sailotp/issues</a>
|
||||||
|
or write an email to sailfish _AT_ seiichiro0185.org
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
@ -40,7 +41,7 @@ SailOTP uses the SHA-1 and HMAC-Implementation from
|
||||||
|
|
||||||
SailOTP also uses the AES-Implementation from
|
SailOTP also uses the AES-Implementation from
|
||||||
|
|
||||||
<a href="https://github.com/mdp/gibberish-aes" target="_blank">https://github.com/mdp/gibberish-aes</a>
|
<a href="https://code.google.com/archive/p/crypto-js/" target="_blank">https://code.google.com/archive/p/crypto-js/</a>
|
||||||
|
|
||||||
The implementation of the TOTP-algorithm was inspired by:
|
The implementation of the TOTP-algorithm was inspired by:
|
||||||
|
|
||||||
|
@ -56,6 +57,11 @@ The qrencode library is used for QRCode-encoding existing tokens for export to o
|
||||||
|
|
||||||
The following people have contributed to translating SailOTP:
|
The following people have contributed to translating SailOTP:
|
||||||
|
|
||||||
|
* Chinese: BirdZhang
|
||||||
|
* Finnish: Johan Heikkilä (hevanaa)
|
||||||
|
* French: Romain Tartière (smortex)
|
||||||
|
* Russian: moorchegue
|
||||||
|
* Spanish: p4moedo
|
||||||
* Swedish: Åke Engelbrektson (eson57)
|
* Swedish: Åke Engelbrektson (eson57)
|
||||||
* English: Stefan Brand (seiichiro0185)
|
* English: Stefan Brand (seiichiro0185)
|
||||||
* German: Stefan Brand (seiichiro0185)
|
* German: Stefan Brand (seiichiro0185)
|
||||||
|
|
|
@ -47,8 +47,12 @@ lupdate_only {
|
||||||
|
|
||||||
TRANSLATIONS = i18n/de.ts \
|
TRANSLATIONS = i18n/de.ts \
|
||||||
i18n/en.ts \
|
i18n/en.ts \
|
||||||
|
i18n/es.ts \
|
||||||
|
i18n/fi.ts \
|
||||||
i18n/fr.ts \
|
i18n/fr.ts \
|
||||||
i18n/sv.ts
|
i18n/ru.ts \
|
||||||
|
i18n/sv.ts \
|
||||||
|
i18n/zh_CN.ts
|
||||||
}
|
}
|
||||||
|
|
||||||
include(src/qzxing/QZXing.pri)
|
include(src/qzxing/QZXing.pri)
|
||||||
|
|
76
i18n/de.ts
76
i18n/de.ts
|
@ -12,36 +12,36 @@
|
||||||
<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="68"/>
|
<location filename="../qml/pages/About.qml" line="75"/>
|
||||||
<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="77"/>
|
<location filename="../qml/pages/About.qml" line="84"/>
|
||||||
<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="95"/>
|
<location filename="../qml/pages/About.qml" line="110"/>
|
||||||
<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>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="106"/>
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
<source>Contributors:</source>
|
<source>Contributors:</source>
|
||||||
<translation>Mitwirkende:</translation>
|
<translation>Mitwirkende:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="106"/>
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
<source>Support</source>
|
<source>Support</source>
|
||||||
<translation>Unterstützung</translation>
|
<translation>Unterstützung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="117"/>
|
<location filename="../qml/pages/About.qml" line="132"/>
|
||||||
<source>Translators:</source>
|
<source>Translators:</source>
|
||||||
<translation>Übersetzer:</translation>
|
<translation>Übersetzer:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -49,12 +49,12 @@ Lizenz: BSD (3-Klausel)</translation>
|
||||||
<context>
|
<context>
|
||||||
<name>AddOTP</name>
|
<name>AddOTP</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="70"/>
|
<location filename="../qml/pages/AddOTP.qml" line="69"/>
|
||||||
<source>Show QR-Code</source>
|
<source>Show QR-Code</source>
|
||||||
<translation>QR-Code anzeigen</translation>
|
<translation>QR-Code anzeigen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="73"/>
|
<location filename="../qml/pages/AddOTP.qml" line="72"/>
|
||||||
<source>Can't create QR-Code from incomplete settings!</source>
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
<translation>Ein QR-Code kann nur mit vollständigen Einstellungen erzeugt werden!</translation>
|
<translation>Ein QR-Code kann nur mit vollständigen Einstellungen erzeugt werden!</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -109,28 +109,28 @@ Lizenz: BSD (3-Klausel)</translation>
|
||||||
<translation>Geheimer Schlüssel</translation>
|
<translation>Geheimer Schlüssel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="127"/>
|
<location filename="../qml/pages/AddOTP.qml" line="128"/>
|
||||||
<source>Length</source>
|
<source>Length</source>
|
||||||
<translation>Länge</translation>
|
<translation>Länge</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="129"/>
|
<location filename="../qml/pages/AddOTP.qml" line="130"/>
|
||||||
<source>Length of the Token</source>
|
<source>Length of the Token</source>
|
||||||
<translation>Länge des Tokens</translation>
|
<translation>Länge des Tokens</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="141"/>
|
<location filename="../qml/pages/AddOTP.qml" line="142"/>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="143"/>
|
<location filename="../qml/pages/AddOTP.qml" line="144"/>
|
||||||
<source>Time Derivation (Seconds)</source>
|
<source>Time Derivation (Seconds)</source>
|
||||||
<translation>Zeitabweichung (Sekunden)</translation>
|
<translation>Zeitabweichung (Sekunden)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="155"/>
|
<location filename="../qml/pages/AddOTP.qml" line="156"/>
|
||||||
<source>Next Counter Value</source>
|
<source>Next Counter Value</source>
|
||||||
<translation>Nächster Zählerwert</translation>
|
<translation>Nächster Zählerwert</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="157"/>
|
<location filename="../qml/pages/AddOTP.qml" line="158"/>
|
||||||
<source>Next Value of the Counter</source>
|
<source>Next Value of the Counter</source>
|
||||||
<translation>Nächster Wert für den Zähler</translation>
|
<translation>Nächster Wert für den Zähler</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -214,6 +214,11 @@ Lizenz: BSD (3-Klausel)</translation>
|
||||||
<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>
|
<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>Hier können Tokens in eine Datei exportiert werden. Die Datei wird mit AES-256-CBC verschlüsselt und Base64-kodiert. Wähle ein starkes Passwort, die Datei enthält die geheimen Schlüssel zur Erzeugung der Tokens für deine Accounts. Nach links ziehen um zu starten.</translation>
|
<translation>Hier können Tokens in eine Datei exportiert werden. Die Datei wird mit AES-256-CBC verschlüsselt und Base64-kodiert. Wähle ein starkes Passwort, die Datei enthält die geheimen Schlüssel zur Erzeugung der Tokens für deine Accounts. Nach links ziehen um zu starten.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="189"/>
|
||||||
|
<source>To view the content of the export file outside of SailOTP use the following openssl command:</source>
|
||||||
|
<translation>Mit folgendem Openssl-Befehl kann der Inhalt der Exportdatei außerhalb von SailOTP angezeigt werden:</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
||||||
<source>Error writing to file </source>
|
<source>Error writing to file </source>
|
||||||
|
@ -267,56 +272,61 @@ Lizenz: BSD (3-Klausel)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="100"/>
|
<location filename="../qml/pages/MainView.qml" line="100"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>Einstellungen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="104"/>
|
||||||
<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="104"/>
|
<location filename="../qml/pages/MainView.qml" line="108"/>
|
||||||
<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="134"/>
|
<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="135"/>
|
<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="146"/>
|
<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="162"/>
|
<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="162"/>
|
<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="230"/>
|
<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="235"/>
|
<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="240"/>
|
<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="246"/>
|
<location filename="../qml/pages/MainView.qml" line="250"/>
|
||||||
<source>Delete</source>
|
<source>Delete</source>
|
||||||
<translation>Löschen</translation>
|
<translation>Löschen</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -366,4 +376,22 @@ Lizenz: BSD (3-Klausel)</translation>
|
||||||
<translation type="vanished">Vorschau antippen um den Scan zu starten. Nach unten ziehen um manuell hinzu zu fügen.</translation>
|
<translation type="vanished">Vorschau antippen um den Scan zu starten. Nach unten ziehen um manuell hinzu zu fügen.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Settings</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="50"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>Einstellungen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="52"/>
|
||||||
|
<source>Behaviour</source>
|
||||||
|
<translation>Verhalten</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="56"/>
|
||||||
|
<source>Show Token as QRCode on Tap</source>
|
||||||
|
<translation>Token bei antippen als QR-Code zeigen</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
76
i18n/en.ts
76
i18n/en.ts
|
@ -4,34 +4,34 @@
|
||||||
<context>
|
<context>
|
||||||
<name>About</name>
|
<name>About</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="68"/>
|
<location filename="../qml/pages/About.qml" line="75"/>
|
||||||
<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="77"/>
|
<location filename="../qml/pages/About.qml" line="84"/>
|
||||||
<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="95"/>
|
<location filename="../qml/pages/About.qml" line="110"/>
|
||||||
<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>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="106"/>
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
<source>Contributors:</source>
|
<source>Contributors:</source>
|
||||||
<translation>Contributor:</translation>
|
<translation>Contributor:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="106"/>
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
<source>Support</source>
|
<source>Support</source>
|
||||||
<translation>support</translation>
|
<translation>support</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="117"/>
|
<location filename="../qml/pages/About.qml" line="132"/>
|
||||||
<source>Translators:</source>
|
<source>Translators:</source>
|
||||||
<translation>Translators:</translation>
|
<translation>Translators:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -39,12 +39,12 @@ License: BSD (3-clause)</source>
|
||||||
<context>
|
<context>
|
||||||
<name>AddOTP</name>
|
<name>AddOTP</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="70"/>
|
<location filename="../qml/pages/AddOTP.qml" line="69"/>
|
||||||
<source>Show QR-Code</source>
|
<source>Show QR-Code</source>
|
||||||
<translation>Show QR-Code</translation>
|
<translation>Show QR-Code</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="73"/>
|
<location filename="../qml/pages/AddOTP.qml" line="72"/>
|
||||||
<source>Can't create QR-Code from incomplete settings!</source>
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
<translation>Can't create QR-Code from incomplete settings!</translation>
|
<translation>Can't create QR-Code from incomplete settings!</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -99,28 +99,28 @@ License: BSD (3-clause)</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="127"/>
|
<location filename="../qml/pages/AddOTP.qml" line="128"/>
|
||||||
<source>Length</source>
|
<source>Length</source>
|
||||||
<translation>Length</translation>
|
<translation>Length</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="129"/>
|
<location filename="../qml/pages/AddOTP.qml" line="130"/>
|
||||||
<source>Length of the Token</source>
|
<source>Length of the Token</source>
|
||||||
<translation>Length of the Token</translation>
|
<translation>Length of the Token</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="141"/>
|
<location filename="../qml/pages/AddOTP.qml" line="142"/>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="143"/>
|
<location filename="../qml/pages/AddOTP.qml" line="144"/>
|
||||||
<source>Time Derivation (Seconds)</source>
|
<source>Time Derivation (Seconds)</source>
|
||||||
<translation>Time Derivation (Seconds)</translation>
|
<translation>Time Derivation (Seconds)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="155"/>
|
<location filename="../qml/pages/AddOTP.qml" line="156"/>
|
||||||
<source>Next Counter Value</source>
|
<source>Next Counter Value</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="157"/>
|
<location filename="../qml/pages/AddOTP.qml" line="158"/>
|
||||||
<source>Next Value of the Counter</source>
|
<source>Next Value of the Counter</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -204,6 +204,11 @@ License: BSD (3-clause)</source>
|
||||||
<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>
|
<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></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="189"/>
|
||||||
|
<source>To view the content of the export file outside of SailOTP use the following openssl command:</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
||||||
<source>Error writing to file </source>
|
<source>Error writing to file </source>
|
||||||
|
@ -249,56 +254,61 @@ License: BSD (3-clause)</source>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="100"/>
|
<location filename="../qml/pages/MainView.qml" line="100"/>
|
||||||
<source>Export / Import</source>
|
<source>Settings</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="104"/>
|
<location filename="../qml/pages/MainView.qml" line="104"/>
|
||||||
|
<source>Export / Import</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="108"/>
|
||||||
<source>Add Token</source>
|
<source>Add Token</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="134"/>
|
<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="135"/>
|
<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="146"/>
|
<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="162"/>
|
<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="162"/>
|
<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="230"/>
|
<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="235"/>
|
<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="240"/>
|
<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="246"/>
|
<location filename="../qml/pages/MainView.qml" line="250"/>
|
||||||
<source>Delete</source>
|
<source>Delete</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -344,4 +354,22 @@ License: BSD (3-clause)</source>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Settings</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="50"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="52"/>
|
||||||
|
<source>Behaviour</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="56"/>
|
||||||
|
<source>Show Token as QRCode on Tap</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
377
i18n/es.ts
Normal file
377
i18n/es.ts
Normal file
|
@ -0,0 +1,377 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="es">
|
||||||
|
<context>
|
||||||
|
<name>About</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="75"/>
|
||||||
|
<source>A Simple Sailfish OTP Generator
|
||||||
|
(RFC 6238/4226 compatible)</source>
|
||||||
|
<translation>Un sencillo generador de códigos OTP
|
||||||
|
(Compatible con RFC 6238/4226)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="84"/>
|
||||||
|
<source>Copyright: Stefan Brand
|
||||||
|
License: BSD (3-clause)</source>
|
||||||
|
<translation>Derechos de autor: Stefan Brand
|
||||||
|
Licencia: BSD (de 3 cláusulas)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="110"/>
|
||||||
|
<source>SailOTP uses the following third party libs:</source>
|
||||||
|
<translation>SailOTP usa las siguientes librerías de terceros:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
|
<source>Contributors:</source>
|
||||||
|
<translation>Contribuidor:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
|
<source>Support</source>
|
||||||
|
<translation>soporte</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="132"/>
|
||||||
|
<source>Translators:</source>
|
||||||
|
<translation>Traductores:</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>AddOTP</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="69"/>
|
||||||
|
<source>Show QR-Code</source>
|
||||||
|
<translation>Mostrar código QR</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="72"/>
|
||||||
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
|
<translation>¡No se puede crear el código QR a partir de una configuración incompleta!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="86"/>
|
||||||
|
<source>Save</source>
|
||||||
|
<translation>Guardar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="86"/>
|
||||||
|
<source>Add</source>
|
||||||
|
<translation>Añadir</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="91"/>
|
||||||
|
<source>Type</source>
|
||||||
|
<translation>Tipo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="93"/>
|
||||||
|
<source>Time-based (TOTP)</source>
|
||||||
|
<translation>Basado en tiempo (TOTP)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="94"/>
|
||||||
|
<source>Counter-based (HOTP)</source>
|
||||||
|
<translation>Basado en contador (HOTP)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="95"/>
|
||||||
|
<source>Steam Guard</source>
|
||||||
|
<translation>Steam Guard</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="101"/>
|
||||||
|
<source>Title</source>
|
||||||
|
<translation>Título</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="102"/>
|
||||||
|
<source>Title for the OTP</source>
|
||||||
|
<translation>Nombre para el OTP</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="114"/>
|
||||||
|
<source>Secret (at least 16 characters)</source>
|
||||||
|
<translation>Cadena secreta (al menos 16 caracteres)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="116"/>
|
||||||
|
<source>Secret OTP Key</source>
|
||||||
|
<translation>Llave secreta OTP</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="128"/>
|
||||||
|
<source>Length</source>
|
||||||
|
<translation>Longitud</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="130"/>
|
||||||
|
<source>Length of the Token</source>
|
||||||
|
<translation>Longitud del token</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="142"/>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="144"/>
|
||||||
|
<source>Time Derivation (Seconds)</source>
|
||||||
|
<translation>Derivación de tiempo (segundos)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="156"/>
|
||||||
|
<source>Next Counter Value</source>
|
||||||
|
<translation>Siguiente Contador</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="158"/>
|
||||||
|
<source>Next Value of the Counter</source>
|
||||||
|
<translation>Siguiente valor del contador</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ExportPage</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="63"/>
|
||||||
|
<source>File already exists, choose "Overwrite existing" to overwrite it.</source>
|
||||||
|
<translation>El fichero ya existe, escoja la opción "Sobreescribir existente" para sobreescribirlo.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="72"/>
|
||||||
|
<source>Given file does not exist!</source>
|
||||||
|
<translation>¡El fichero proporcionado no exsiste!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="91"/>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="107"/>
|
||||||
|
<source>Export</source>
|
||||||
|
<translation>Exportar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="91"/>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="107"/>
|
||||||
|
<source>Import</source>
|
||||||
|
<translation>Importar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="114"/>
|
||||||
|
<source>Filename</source>
|
||||||
|
<translation>Nombre del fichero</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="115"/>
|
||||||
|
<source>File to import</source>
|
||||||
|
<translation>Fichero a importar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="115"/>
|
||||||
|
<source>File to export</source>
|
||||||
|
<translation>Fichero a exportar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="128"/>
|
||||||
|
<source>Overwrite existing</source>
|
||||||
|
<translation>Sobreescribir existente</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="134"/>
|
||||||
|
<source>Password</source>
|
||||||
|
<translation>Contraseña</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="135"/>
|
||||||
|
<source>Password for the file</source>
|
||||||
|
<translation>Contraseña para el fichero</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="148"/>
|
||||||
|
<source>Passwords don't match!</source>
|
||||||
|
<translation>¡Las contraseñas no coinciden!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="148"/>
|
||||||
|
<source>Passwords match!</source>
|
||||||
|
<translation>¡Las contraseñas coinciden!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="149"/>
|
||||||
|
<source>Repeated Password for the file</source>
|
||||||
|
<translation>Contraseña repetida para el archivo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="173"/>
|
||||||
|
<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>Aquí puede Importar Tokens desde un fichero. Ponga la localización del fichero y la contraseña utilizada en la exportación. Tire hacia la izquierda para comenzar la importación.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="189"/>
|
||||||
|
<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>Aquí puede exportar Tokens a un fichero. El fichero exportado será encriptado con AES-256-CBC y codificado en Base64. Escoja una contraseña segura, el fichero contendrá las cadenas secretas utilizadas para la generación de los Tokens. Tire hacia la izquierda para comenzar la exportación.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="189"/>
|
||||||
|
<source>To view the content of the export file outside of SailOTP use the following openssl command:</source>
|
||||||
|
<translation>Para ver los contenidos del fichero de exportación fuera de SailOTP utilize el siguiente comando openssl:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
||||||
|
<source>Error writing to file </source>
|
||||||
|
<translation>Error escribiendo el fichero</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="213"/>
|
||||||
|
<source>Token Database exported to </source>
|
||||||
|
<translation>Base de datos de Tokens exportada en</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="216"/>
|
||||||
|
<source>Could not encrypt tokens. Error: </source>
|
||||||
|
<translation>No se ha podido encriptar los tokens. Error: </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="219"/>
|
||||||
|
<source>Could not read tokens from Database</source>
|
||||||
|
<translation>No se ha podido leer los tokens desde la Base de datos</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="230"/>
|
||||||
|
<source>Tokens imported from </source>
|
||||||
|
<translation>Tokens importados desde</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="235"/>
|
||||||
|
<source>Unable to decrypt file, did you use the right password?</source>
|
||||||
|
<translation>No se ha podido desencriptar el fichero, ¿ha utilizado el password correcto?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="238"/>
|
||||||
|
<source>Could not read from file </source>
|
||||||
|
<translation>No se ha podido leer desde el fichero</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainView</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="96"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>Acerca de</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="100"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>Configuración</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="104"/>
|
||||||
|
<source>Export / Import</source>
|
||||||
|
<translation>Exportar/Importar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="108"/>
|
||||||
|
<source>Add Token</source>
|
||||||
|
<translation>Añadir Token</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="138"/>
|
||||||
|
<source>Nothing here</source>
|
||||||
|
<translation>Nada aquí</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="139"/>
|
||||||
|
<source>Pull down to add a OTP</source>
|
||||||
|
<translation>Tire hacia abajo para añadir tokens OTP</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="150"/>
|
||||||
|
<source>Deleting</source>
|
||||||
|
<translation>Borrando</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
|
<source>Token for </source>
|
||||||
|
<translation>Token para </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
|
<source> copied to clipboard</source>
|
||||||
|
<translation> copiado al portapapeles</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="234"/>
|
||||||
|
<source>Move up</source>
|
||||||
|
<translation>Ascender</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="239"/>
|
||||||
|
<source>Move down</source>
|
||||||
|
<translation>Descender</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="244"/>
|
||||||
|
<source>Edit</source>
|
||||||
|
<translation>Editar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="250"/>
|
||||||
|
<source>Delete</source>
|
||||||
|
<translation>Borrar</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>QRPage</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/QRPage.qml" line="74"/>
|
||||||
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
|
<translation>¡No se puede crear el código QR a partir de una configuración incompleta!</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScanOTP</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="54"/>
|
||||||
|
<source>Can't access temporary directory</source>
|
||||||
|
<translation>No se puede acceder al directorio temporal</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="64"/>
|
||||||
|
<source>Add manually</source>
|
||||||
|
<translation>Añadir manualmente</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="71"/>
|
||||||
|
<source>Scan Code</source>
|
||||||
|
<translation>Escanear código</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="71"/>
|
||||||
|
<source>Scanning...</source>
|
||||||
|
<translation>Escaneando...</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="101"/>
|
||||||
|
<source>No valid Token data found.</source>
|
||||||
|
<translation>No se han encontrado datos válidos</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="142"/>
|
||||||
|
<source>Tap the picture to start / stop scanning. Pull down to add Token manually.</source>
|
||||||
|
<translation>Toque la imagen para comenzar/parar el escaneo. Tire hacia abajo para una configuración manual.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Settings</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="50"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>Configuración</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="52"/>
|
||||||
|
<source>Funcionamiento</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="56"/>
|
||||||
|
<source>Show Token as QRCode on Tap</source>
|
||||||
|
<translation>Mostrar el token como código QR al tocar</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
381
i18n/fi.ts
Normal file
381
i18n/fi.ts
Normal file
|
@ -0,0 +1,381 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="fi_FI">
|
||||||
|
<context>
|
||||||
|
<name>About</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="75"/>
|
||||||
|
<source>A Simple Sailfish OTP Generator
|
||||||
|
(RFC 6238/4226 compatible)</source>
|
||||||
|
<translation>Yksinkertainen Sailfish OTP-generaattori
|
||||||
|
(RFC 6238/4226-yhteensopiva)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="84"/>
|
||||||
|
<source>Copyright: Stefan Brand
|
||||||
|
License: BSD (3-clause)</source>
|
||||||
|
<translation>Copyright: Stefan Brand
|
||||||
|
Lisenssi: BSD (3-clause)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="110"/>
|
||||||
|
<source>SailOTP uses the following third party libs:</source>
|
||||||
|
<translation>SailOTP käyttää seuraavat kolmannen osapuolen kirjastot:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
|
<source>Contributors:</source>
|
||||||
|
<translation>Avustajat:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
|
<source>Support</source>
|
||||||
|
<translation>tuki</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="132"/>
|
||||||
|
<source>Translators:</source>
|
||||||
|
<translation>Kääntäjät:</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>AddOTP</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="69"/>
|
||||||
|
<source>Show QR-Code</source>
|
||||||
|
<translation>Näytä QR-koodi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="72"/>
|
||||||
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
|
<translation>QR-koodin luonti epäonnistui puutteellisten asetuksien takia!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="86"/>
|
||||||
|
<source>Save</source>
|
||||||
|
<translation>Tallenna</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="86"/>
|
||||||
|
<source>Add</source>
|
||||||
|
<translation>Lisää</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="91"/>
|
||||||
|
<source>Type</source>
|
||||||
|
<translation>Tyyppi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="93"/>
|
||||||
|
<source>Time-based (TOTP)</source>
|
||||||
|
<translation>Aikapohjainen (TOTP)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="94"/>
|
||||||
|
<source>Counter-based (HOTP)</source>
|
||||||
|
<translation>Laskentapohjainen (HOTP)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="95"/>
|
||||||
|
<source>Steam Guard</source>
|
||||||
|
<translation>Steam Guard</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="101"/>
|
||||||
|
<source>Title</source>
|
||||||
|
<translation>Nimi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="102"/>
|
||||||
|
<source>Title for the OTP</source>
|
||||||
|
<translation>OTP:n nimi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="114"/>
|
||||||
|
<source>Secret (at least 16 characters)</source>
|
||||||
|
<translation>Salaisuus (vähintään 16 merkkiä)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="116"/>
|
||||||
|
<source>Secret OTP Key</source>
|
||||||
|
<translation>Salainen OTP-avain</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="128"/>
|
||||||
|
<source>Length</source>
|
||||||
|
<translation>Pituus</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="130"/>
|
||||||
|
<source>Length of the Token</source>
|
||||||
|
<translation>Tunnuksen pituus</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="142"/>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="144"/>
|
||||||
|
<source>Time Derivation (Seconds)</source>
|
||||||
|
<translation>Aikapoikkeama (sekunneissa)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="156"/>
|
||||||
|
<source>Next Counter Value</source>
|
||||||
|
<translation>Seuraava laskenta-arvo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="158"/>
|
||||||
|
<source>Next Value of the Counter</source>
|
||||||
|
<translation>Laskurin seuraava arvo</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ExportPage</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="63"/>
|
||||||
|
<source>File already exists, choose "Overwrite existing" to overwrite it.</source>
|
||||||
|
<translation>Tiedosto on jo olemassa. Korvaa vanha tiedosto valitsemalla "Ylikirjoita".</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="72"/>
|
||||||
|
<source>Given file does not exist!</source>
|
||||||
|
<translation>Tiedosto ei ole olemassa!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="91"/>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="107"/>
|
||||||
|
<source>Export</source>
|
||||||
|
<translation>Eksportoi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="91"/>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="107"/>
|
||||||
|
<source>Import</source>
|
||||||
|
<translation>Importoi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="114"/>
|
||||||
|
<source>Filename</source>
|
||||||
|
<translation>Tiedoston nimi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="115"/>
|
||||||
|
<source>File to import</source>
|
||||||
|
<translation>Importoitava tiedosto</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="115"/>
|
||||||
|
<source>File to export</source>
|
||||||
|
<translation>Eksportoitava tiedosto</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="128"/>
|
||||||
|
<source>Overwrite existing</source>
|
||||||
|
<translation>Ylikirjoita</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="134"/>
|
||||||
|
<source>Password</source>
|
||||||
|
<translation>Salasana</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="135"/>
|
||||||
|
<source>Password for the file</source>
|
||||||
|
<translation>Tiedoston salasana</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="148"/>
|
||||||
|
<source>Passwords don't match!</source>
|
||||||
|
<translation>Salasanat eivät täsmää!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="148"/>
|
||||||
|
<source>Passwords match!</source>
|
||||||
|
<translation>Salasanat täsmäävät!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="149"/>
|
||||||
|
<source>Repeated Password for the file</source>
|
||||||
|
<translation>Tiedoston salasana uudelleen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="173"/>
|
||||||
|
<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>Voit importata tunnuksia tiedostosta. Anna tiedoston polku ja salasana jonka annoit eksportoitaessa. Pyyhkäise vasemmalle aloittaaksesi importin.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="189"/>
|
||||||
|
<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>Voit eksportoida tunnukset tiedostoon. Eksportoitu tiedosto enkryptataan AES-256-CBC- ja Base64-salauksella. Valitse vahva salasana, koska tiedostosta voidaan kääntää tiliesi tunnukset. Pyyhkäise vasemmalle aloittaaksesi eksportin.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="189"/>
|
||||||
|
<source>To view the content of the export file outside of SailOTP use the following openssl command:</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Jos haluat tarkastella vientitiedoston sisältöä SailOTP: n ulkopuolella, käytä seuraavaa openssl-komentoa:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
||||||
|
<source>Error writing to file </source>
|
||||||
|
<translation>Virhe tiedoston kirjoituksessa </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="213"/>
|
||||||
|
<source>Token Database exported to </source>
|
||||||
|
<translation>Tunnus-tietokanta eksportoitu polkuun </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="216"/>
|
||||||
|
<source>Could not encrypt tokens. Error: </source>
|
||||||
|
<translation>Tunnuksia ei voitu enkryptata. Virhe: </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="219"/>
|
||||||
|
<source>Could not read tokens from Database</source>
|
||||||
|
<translation>Tunnuksia ei voitu lukea tietokannasta</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="230"/>
|
||||||
|
<source>Tokens imported from </source>
|
||||||
|
<translation>Tunnukset importoitu polusta </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="235"/>
|
||||||
|
<source>Unable to decrypt file, did you use the right password?</source>
|
||||||
|
<translation>Tiedoston dekryptaus epäonnistui. Oliko salasana oikea?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="238"/>
|
||||||
|
<source>Could not read from file </source>
|
||||||
|
<translation>Tiedoston lukeminen epäonnistui </translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainView</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="96"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>Tietoja</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="100"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Asetukset</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="104"/>
|
||||||
|
<source>Export / Import</source>
|
||||||
|
<translation>Eksportoi / Importoi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="108"/>
|
||||||
|
<source>Add Token</source>
|
||||||
|
<translation>Lisää tunnus</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="138"/>
|
||||||
|
<source>Nothing here</source>
|
||||||
|
<translation>Tyhjä</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="139"/>
|
||||||
|
<source>Pull down to add a OTP</source>
|
||||||
|
<translation>Vedä alaspäin lisääksesi OTP:n</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="150"/>
|
||||||
|
<source>Deleting</source>
|
||||||
|
<translation>Poistaa</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
|
<source>Token for </source>
|
||||||
|
<translation>Tunnus </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
|
<source> copied to clipboard</source>
|
||||||
|
<translation> kopioitu leikepöydälle</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="234"/>
|
||||||
|
<source>Move up</source>
|
||||||
|
<translation>Siirrä ylös</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="239"/>
|
||||||
|
<source>Move down</source>
|
||||||
|
<translation>Siirrä alas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="244"/>
|
||||||
|
<source>Edit</source>
|
||||||
|
<translation>Muokkaa</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="250"/>
|
||||||
|
<source>Delete</source>
|
||||||
|
<translation>Poista</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>QRPage</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/QRPage.qml" line="74"/>
|
||||||
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
|
<translation>QR-koodin luonti ei onnistu puutteellisten asetusten takia!</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScanOTP</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="54"/>
|
||||||
|
<source>Can't access temporary directory</source>
|
||||||
|
<translation>Pääsy temp-hakemistoon on estetty</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="64"/>
|
||||||
|
<source>Add manually</source>
|
||||||
|
<translation>Lisää käsin</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="71"/>
|
||||||
|
<source>Scan Code</source>
|
||||||
|
<translation>Skannaa koodi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="71"/>
|
||||||
|
<source>Scanning...</source>
|
||||||
|
<translation>Skannataan...</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="101"/>
|
||||||
|
<source>No valid Token data found.</source>
|
||||||
|
<translation>Voimassa olevaa tunnustietoa ei löytynyt.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="142"/>
|
||||||
|
<source>Tap the picture to start / stop scanning. Pull down to add Token manually.</source>
|
||||||
|
<translation>Käynnistä / lopeta skannaus painamalla kuvaa. Vedä alaspäin lisääksesi tunnuksen käsin.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Settings</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="50"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>Asetukset</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="52"/>
|
||||||
|
<source>Behaviour</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Käytös</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="56"/>
|
||||||
|
<source>Show Token as QRCode on Tap</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Kosketa tokenä QR-koodina</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
76
i18n/fr.ts
76
i18n/fr.ts
|
@ -4,35 +4,35 @@
|
||||||
<context>
|
<context>
|
||||||
<name>About</name>
|
<name>About</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="68"/>
|
<location filename="../qml/pages/About.qml" line="75"/>
|
||||||
<source>A Simple Sailfish OTP Generator
|
<source>A Simple Sailfish OTP Generator
|
||||||
(RFC 6238/4226 compatible)</source>
|
(RFC 6238/4226 compatible)</source>
|
||||||
<translation>Un générateur d'OTP simple pour Sailfish (compatible avec les RFC6238 et 4226)</translation>
|
<translation>Un générateur d'OTP simple pour Sailfish (compatible avec les RFC6238 et 4226)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="77"/>
|
<location filename="../qml/pages/About.qml" line="84"/>
|
||||||
<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
|
||||||
Licence : BSD (3 clauses)</translation>
|
Licence : BSD (3 clauses)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="95"/>
|
<location filename="../qml/pages/About.qml" line="110"/>
|
||||||
<source>SailOTP uses the following third party libs:</source>
|
<source>SailOTP uses the following third party libs:</source>
|
||||||
<translation>SailOTP utilise les bibliothèques tierces suivantes :</translation>
|
<translation>SailOTP utilise les bibliothèques tierces suivantes :</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="106"/>
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
<source>Contributors:</source>
|
<source>Contributors:</source>
|
||||||
<translation>Contributeurs :</translation>
|
<translation>Contributeurs :</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="106"/>
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
<source>Support</source>
|
<source>Support</source>
|
||||||
<translation>Support</translation>
|
<translation>Support</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="117"/>
|
<location filename="../qml/pages/About.qml" line="132"/>
|
||||||
<source>Translators:</source>
|
<source>Translators:</source>
|
||||||
<translation>Traducteurs :</translation>
|
<translation>Traducteurs :</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -100,28 +100,28 @@ Licence : BSD (3 clauses)</translation>
|
||||||
<translation>Clé secrète OTP</translation>
|
<translation>Clé secrète OTP</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="127"/>
|
<location filename="../qml/pages/AddOTP.qml" line="128"/>
|
||||||
<source>Length</source>
|
<source>Length</source>
|
||||||
<translation>Longueur</translation>
|
<translation>Longueur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="129"/>
|
<location filename="../qml/pages/AddOTP.qml" line="130"/>
|
||||||
<source>Length of the Token</source>
|
<source>Length of the Token</source>
|
||||||
<translation>Longueur du jeton</translation>
|
<translation>Longueur du jeton</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="141"/>
|
<location filename="../qml/pages/AddOTP.qml" line="142"/>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="143"/>
|
<location filename="../qml/pages/AddOTP.qml" line="144"/>
|
||||||
<source>Time Derivation (Seconds)</source>
|
<source>Time Derivation (Seconds)</source>
|
||||||
<translation>Dérivation de temps (secondes)</translation>
|
<translation>Dérivation de temps (secondes)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="155"/>
|
<location filename="../qml/pages/AddOTP.qml" line="156"/>
|
||||||
<source>Next Counter Value</source>
|
<source>Next Counter Value</source>
|
||||||
<translation>Prochaine valeur du compteur</translation>
|
<translation>Prochaine valeur du compteur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="157"/>
|
<location filename="../qml/pages/AddOTP.qml" line="158"/>
|
||||||
<source>Next Value of the Counter</source>
|
<source>Next Value of the Counter</source>
|
||||||
<translation>Prochaine valeur du compteur</translation>
|
<translation>Prochaine valeur du compteur</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -205,6 +205,12 @@ Licence : BSD (3 clauses)</translation>
|
||||||
<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>
|
<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>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.</translation>
|
<translation>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.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="189"/>
|
||||||
|
<source>To view the content of the export file outside of SailOTP use the following openssl command:</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Pour afficher le contenu du fichier d'exportation en dehors de SailOTP, utilisez la commande openssl suivante:</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
||||||
<source>Error writing to file </source>
|
<source>Error writing to file </source>
|
||||||
|
@ -250,56 +256,62 @@ Licence : BSD (3 clauses)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="100"/>
|
<location filename="../qml/pages/MainView.qml" line="100"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Paramètres</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="104"/>
|
||||||
<source>Export / Import</source>
|
<source>Export / Import</source>
|
||||||
<translation>Exporter / Importer</translation>
|
<translation>Exporter / Importer</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="104"/>
|
<location filename="../qml/pages/MainView.qml" line="108"/>
|
||||||
<source>Add Token</source>
|
<source>Add Token</source>
|
||||||
<translation>Ajouter un OTP</translation>
|
<translation>Ajouter un OTP</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="134"/>
|
<location filename="../qml/pages/MainView.qml" line="138"/>
|
||||||
<source>Nothing here</source>
|
<source>Nothing here</source>
|
||||||
<translation>Aucun mot de passe</translation>
|
<translation>Aucun mot de passe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="135"/>
|
<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>Glissez vers le bas pour ajouter un OTP</translation>
|
<translation>Glissez vers le bas pour ajouter un OTP</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="146"/>
|
<location filename="../qml/pages/MainView.qml" line="150"/>
|
||||||
<source>Deleting</source>
|
<source>Deleting</source>
|
||||||
<translation>Suppression</translation>
|
<translation>Suppression</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="162"/>
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
<source>Token for </source>
|
<source>Token for </source>
|
||||||
<translation>OTP pour </translation>
|
<translation>OTP pour </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="162"/>
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
<source> copied to clipboard</source>
|
<source> copied to clipboard</source>
|
||||||
<translation> copié dans le presse-papier</translation>
|
<translation> copié dans le presse-papier</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="230"/>
|
<location filename="../qml/pages/MainView.qml" line="234"/>
|
||||||
<source>Move up</source>
|
<source>Move up</source>
|
||||||
<translation>Déplacer vers le haut</translation>
|
<translation>Déplacer vers le haut</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="235"/>
|
<location filename="../qml/pages/MainView.qml" line="239"/>
|
||||||
<source>Move down</source>
|
<source>Move down</source>
|
||||||
<translation>Déplacer vers le bas</translation>
|
<translation>Déplacer vers le bas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="240"/>
|
<location filename="../qml/pages/MainView.qml" line="244"/>
|
||||||
<source>Edit</source>
|
<source>Edit</source>
|
||||||
<translation>Modifier</translation>
|
<translation>Modifier</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="246"/>
|
<location filename="../qml/pages/MainView.qml" line="250"/>
|
||||||
<source>Delete</source>
|
<source>Delete</source>
|
||||||
<translation>Supprimer</translation>
|
<translation>Supprimer</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -345,4 +357,24 @@ Licence : BSD (3 clauses)</translation>
|
||||||
<translation>Appuyez sur l'image pour démarrer / arréter le balayage. Glissez vers le bas pour entrer les paramètres manuellement.</translation>
|
<translation>Appuyez sur l'image pour démarrer / arréter le balayage. Glissez vers le bas pour entrer les paramètres manuellement.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Settings</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="50"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>Paramètres</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="52"/>
|
||||||
|
<source>Behaviour</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Comportement</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="56"/>
|
||||||
|
<source>Show Token as QRCode on Tap</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Touchez le jeton comme un code QR</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
381
i18n/ru.ts
Normal file
381
i18n/ru.ts
Normal file
|
@ -0,0 +1,381 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="ru_RU">
|
||||||
|
<context>
|
||||||
|
<name>About</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="75"/>
|
||||||
|
<source>A Simple Sailfish OTP Generator
|
||||||
|
(RFC 6238/4226 compatible)</source>
|
||||||
|
<translation>Простой генератор OTP для Sailfish
|
||||||
|
(совместим с RFS 6238/4226)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="84"/>
|
||||||
|
<source>Copyright: Stefan Brand
|
||||||
|
License: BSD (3-clause)</source>
|
||||||
|
<translation>Авторские права: Стефан Брэнд
|
||||||
|
Лицензия: BSD (3-clause)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="110"/>
|
||||||
|
<source>SailOTP uses the following third party libs:</source>
|
||||||
|
<translation>SailOTP использует следующие сторонние библиотеки:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
|
<source>Contributors:</source>
|
||||||
|
<translation>Участники:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
|
<source>Support</source>
|
||||||
|
<translation>Поддержка</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="132"/>
|
||||||
|
<source>Translators:</source>
|
||||||
|
<translation>Переводчики:</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>AddOTP</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="69"/>
|
||||||
|
<source>Show QR-Code</source>
|
||||||
|
<translation>Показать QR-код</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="72"/>
|
||||||
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
|
<translation>Невозможно создать QR-код из-за неполных настроек!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="86"/>
|
||||||
|
<source>Save</source>
|
||||||
|
<translation>Сохранить</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="86"/>
|
||||||
|
<source>Add</source>
|
||||||
|
<translation>Добавить</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="91"/>
|
||||||
|
<source>Type</source>
|
||||||
|
<translation>Тип</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="93"/>
|
||||||
|
<source>Time-based (TOTP)</source>
|
||||||
|
<translation>На основе времени (TOTP)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="94"/>
|
||||||
|
<source>Counter-based (HOTP)</source>
|
||||||
|
<translation>На основе счетчика (HOTP)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="95"/>
|
||||||
|
<source>Steam Guard</source>
|
||||||
|
<translation>Steam Guard</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="101"/>
|
||||||
|
<source>Title</source>
|
||||||
|
<translation>Заголовок</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="102"/>
|
||||||
|
<source>Title for the OTP</source>
|
||||||
|
<translation>Заголовок для OTP</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="114"/>
|
||||||
|
<source>Secret (at least 16 characters)</source>
|
||||||
|
<translation>Секрет (минимум 16 символов)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="116"/>
|
||||||
|
<source>Secret OTP Key</source>
|
||||||
|
<translation>Секретный ключ OTP</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="128"/>
|
||||||
|
<source>Length</source>
|
||||||
|
<translation>Длина</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="130"/>
|
||||||
|
<source>Length of the Token</source>
|
||||||
|
<translation>Длина токена</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="142"/>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="144"/>
|
||||||
|
<source>Time Derivation (Seconds)</source>
|
||||||
|
<translation>Интервал расхождения (секунд)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="156"/>
|
||||||
|
<source>Next Counter Value</source>
|
||||||
|
<translation>Следующее значение счетчика</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="158"/>
|
||||||
|
<source>Next Value of the Counter</source>
|
||||||
|
<translation>Следующее значение счетчика</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ExportPage</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="63"/>
|
||||||
|
<source>File already exists, choose "Overwrite existing" to overwrite it.</source>
|
||||||
|
<translation>Файл уже существует, выберите: «Перезаписать существующий» для его перезаписи.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="72"/>
|
||||||
|
<source>Given file does not exist!</source>
|
||||||
|
<translation>Данный файл не существует!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="91"/>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="107"/>
|
||||||
|
<source>Export</source>
|
||||||
|
<translation>Экспорт</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="91"/>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="107"/>
|
||||||
|
<source>Import</source>
|
||||||
|
<translation>Импорт</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="114"/>
|
||||||
|
<source>Filename</source>
|
||||||
|
<translation>Имя файла</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="115"/>
|
||||||
|
<source>File to import</source>
|
||||||
|
<translation>Файл для импорта</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="115"/>
|
||||||
|
<source>File to export</source>
|
||||||
|
<translation>Файл для экспорта</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="128"/>
|
||||||
|
<source>Overwrite existing</source>
|
||||||
|
<translation>Перезаписать существующий</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="134"/>
|
||||||
|
<source>Password</source>
|
||||||
|
<translation>Пароль</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="135"/>
|
||||||
|
<source>Password for the file</source>
|
||||||
|
<translation>Пароль для файла</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="148"/>
|
||||||
|
<source>Passwords don't match!</source>
|
||||||
|
<translation>Пароли не совпадают!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="148"/>
|
||||||
|
<source>Passwords match!</source>
|
||||||
|
<translation>Пароли совпадают!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="149"/>
|
||||||
|
<source>Repeated Password for the file</source>
|
||||||
|
<translation>Повторный пароль для файла</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="173"/>
|
||||||
|
<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>Здесь можно импортировать токены из файла. Введите путь к файлу и пароль, использованный при экспорте. Потяните влево чтобы начать импорт.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="189"/>
|
||||||
|
<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>Здесь можно экспортировать токены в файл. Экспортированный файл будет зашифрован с использованием AES-256-CBC и кодирован в Base64. Выберите сильный пароль — файл будет содержать секреты, использованные для генерации токенов для Ваших аккаунтов. Потяните влево чтобы начать экспорт.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="189"/>
|
||||||
|
<source>To view the content of the export file outside of SailOTP use the following openssl command:</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Чтобы просмотреть содержимое файла экспорта за пределами SailOTP, используйте следующую команду openssl:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
||||||
|
<source>Error writing to file </source>
|
||||||
|
<translation>Ошибка при записи в файл </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="213"/>
|
||||||
|
<source>Token Database exported to </source>
|
||||||
|
<translation>База данных токенов экспортирована в </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="216"/>
|
||||||
|
<source>Could not encrypt tokens. Error: </source>
|
||||||
|
<translation>Не удалось зашифровать токены. Ошибка: </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="219"/>
|
||||||
|
<source>Could not read tokens from Database</source>
|
||||||
|
<translation>Не удалось прочесть токены из базы данных</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="230"/>
|
||||||
|
<source>Tokens imported from </source>
|
||||||
|
<translation>Токены импортированы из </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="235"/>
|
||||||
|
<source>Unable to decrypt file, did you use the right password?</source>
|
||||||
|
<translation>Не удалось расшифровать файл. Был ли введен правильный пароль?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="238"/>
|
||||||
|
<source>Could not read from file </source>
|
||||||
|
<translation>Не удалось прочесть из файла </translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainView</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="96"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>О приложении</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="100"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>настройки</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="104"/>
|
||||||
|
<source>Export / Import</source>
|
||||||
|
<translation>Экспорт / импорт</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="108"/>
|
||||||
|
<source>Add Token</source>
|
||||||
|
<translation>Добавить токен</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="138"/>
|
||||||
|
<source>Nothing here</source>
|
||||||
|
<translation>Ничего нету</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="139"/>
|
||||||
|
<source>Pull down to add a OTP</source>
|
||||||
|
<translation>Потяните вниз чтобы добавить OTP</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="150"/>
|
||||||
|
<source>Deleting</source>
|
||||||
|
<translation>Удаление</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
|
<source>Token for </source>
|
||||||
|
<translation>Токен для </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
|
<source> copied to clipboard</source>
|
||||||
|
<translation> скопирован в буфер обмена</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="234"/>
|
||||||
|
<source>Move up</source>
|
||||||
|
<translation>Передвинуть вверх</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="239"/>
|
||||||
|
<source>Move down</source>
|
||||||
|
<translation>Передвинуть вниз</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="244"/>
|
||||||
|
<source>Edit</source>
|
||||||
|
<translation>Редактировать</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="250"/>
|
||||||
|
<source>Delete</source>
|
||||||
|
<translation>Удалить</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>QRPage</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/QRPage.qml" line="74"/>
|
||||||
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
|
<translation>Не удалось создать QR-код из-за неполных настроек!</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScanOTP</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="54"/>
|
||||||
|
<source>Can't access temporary directory</source>
|
||||||
|
<translation>Не удалось получить доступ к временной директории</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="64"/>
|
||||||
|
<source>Add manually</source>
|
||||||
|
<translation>Добавить вручную</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="71"/>
|
||||||
|
<source>Scan Code</source>
|
||||||
|
<translation>Отсканировать код</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="71"/>
|
||||||
|
<source>Scanning...</source>
|
||||||
|
<translation>Сканирование...</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="101"/>
|
||||||
|
<source>No valid Token data found.</source>
|
||||||
|
<translation>Не найдено корректных данных для токена.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="142"/>
|
||||||
|
<source>Tap the picture to start / stop scanning. Pull down to add Token manually.</source>
|
||||||
|
<translation>Нажмите на изображение чтобы начать / остановить сканирование. Потяните вниз чтобы добавить токен вручную.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Settings</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="50"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>настройки</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="52"/>
|
||||||
|
<source>Behaviour</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>поведение</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="56"/>
|
||||||
|
<source>Show Token as QRCode on Tap</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Сенсорный токен как QR-код</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
80
i18n/sv.ts
80
i18n/sv.ts
|
@ -4,36 +4,36 @@
|
||||||
<context>
|
<context>
|
||||||
<name>About</name>
|
<name>About</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="68"/>
|
<location filename="../qml/pages/About.qml" line="75"/>
|
||||||
<source>A Simple Sailfish OTP Generator
|
<source>A Simple Sailfish OTP Generator
|
||||||
(RFC 6238/4226 compatible)</source>
|
(RFC 6238/4226 compatible)</source>
|
||||||
<translation>En enkel Sailfish OTP-generator
|
<translation>En enkel Sailfish OTP-generator
|
||||||
(RFC 6238/4226-kompatibel)</translation>
|
(RFC 6238/4226-kompatibel)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="77"/>
|
<location filename="../qml/pages/About.qml" line="84"/>
|
||||||
<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
|
||||||
Licens: BSD (3-clause)</translation>
|
Licens: BSD (3-clause)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="95"/>
|
<location filename="../qml/pages/About.qml" line="110"/>
|
||||||
<source>SailOTP uses the following third party libs:</source>
|
<source>SailOTP uses the following third party libs:</source>
|
||||||
<translation>SailOTP använder följande tredjeparts bibliotek:</translation>
|
<translation>SailOTP använder följande tredjeparts bibliotek:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="106"/>
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
<source>Contributors:</source>
|
<source>Contributors:</source>
|
||||||
<translation>Medarbetare:</translation>
|
<translation>Medarbetare:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="106"/>
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
<source>Support</source>
|
<source>Support</source>
|
||||||
<translation>försörjning</translation>
|
<translation>försörjning</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/About.qml" line="117"/>
|
<location filename="../qml/pages/About.qml" line="132"/>
|
||||||
<source>Translators:</source>
|
<source>Translators:</source>
|
||||||
<translation>Översättare:</translation>
|
<translation>Översättare:</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -41,12 +41,12 @@ Licens: BSD (3-clause)</translation>
|
||||||
<context>
|
<context>
|
||||||
<name>AddOTP</name>
|
<name>AddOTP</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="70"/>
|
<location filename="../qml/pages/AddOTP.qml" line="69"/>
|
||||||
<source>Show QR-Code</source>
|
<source>Show QR-Code</source>
|
||||||
<translation>Visa QR-kod</translation>
|
<translation>Visa QR-kod</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="73"/>
|
<location filename="../qml/pages/AddOTP.qml" line="72"/>
|
||||||
<source>Can't create QR-Code from incomplete settings!</source>
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
<translation>Kan inte skapa QR-kod från ofullständiga inställningar!</translation>
|
<translation>Kan inte skapa QR-kod från ofullständiga inställningar!</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -101,28 +101,28 @@ Licens: BSD (3-clause)</translation>
|
||||||
<translation>Hemlig OTP-nyckel</translation>
|
<translation>Hemlig OTP-nyckel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="127"/>
|
<location filename="../qml/pages/AddOTP.qml" line="128"/>
|
||||||
<source>Length</source>
|
<source>Length</source>
|
||||||
<translation>längd</translation>
|
<translation>längd</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="129"/>
|
<location filename="../qml/pages/AddOTP.qml" line="130"/>
|
||||||
<source>Length of the Token</source>
|
<source>Length of the Token</source>
|
||||||
<translation>Längden av token</translation>
|
<translation>Längden av token</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="141"/>
|
<location filename="../qml/pages/AddOTP.qml" line="142"/>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="143"/>
|
<location filename="../qml/pages/AddOTP.qml" line="144"/>
|
||||||
<source>Time Derivation (Seconds)</source>
|
<source>Time Derivation (Seconds)</source>
|
||||||
<translation>Tidsavvikelsen (sekunder)</translation>
|
<translation>Tidsavvikelsen (sekunder)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="155"/>
|
<location filename="../qml/pages/AddOTP.qml" line="156"/>
|
||||||
<source>Next Counter Value</source>
|
<source>Next Counter Value</source>
|
||||||
<translation>Nästa räknarvärde</translation>
|
<translation>Nästa räknarvärde</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/AddOTP.qml" line="157"/>
|
<location filename="../qml/pages/AddOTP.qml" line="158"/>
|
||||||
<source>Next Value of the Counter</source>
|
<source>Next Value of the Counter</source>
|
||||||
<translation>Nästa värde på räknaren</translation>
|
<translation>Nästa värde på räknaren</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -206,6 +206,12 @@ Licens: BSD (3-clause)</translation>
|
||||||
<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>
|
<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>
|
<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>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="189"/>
|
||||||
|
<source>To view the content of the export file outside of SailOTP use the following openssl command:</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Om du vill visa innehållet i exportfilen utanför SailOTP använder du följande openssl-kommando:</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
||||||
<source>Error writing to file </source>
|
<source>Error writing to file </source>
|
||||||
|
@ -251,56 +257,62 @@ Licens: BSD (3-clause)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="100"/>
|
<location filename="../qml/pages/MainView.qml" line="100"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Inställningar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="104"/>
|
||||||
<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="104"/>
|
<location filename="../qml/pages/MainView.qml" line="108"/>
|
||||||
<source>Add Token</source>
|
<source>Add Token</source>
|
||||||
<translation>Lägg till Token</translation>
|
<translation>Lägg till Token</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="134"/>
|
<location filename="../qml/pages/MainView.qml" line="138"/>
|
||||||
<source>Nothing here</source>
|
<source>Nothing here</source>
|
||||||
<translation>Inget här</translation>
|
<translation>Inget här</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="135"/>
|
<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>Dra neråt för att lägga till en OTP</translation>
|
<translation>Dra neråt för att lägga till en OTP</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="146"/>
|
<location filename="../qml/pages/MainView.qml" line="150"/>
|
||||||
<source>Deleting</source>
|
<source>Deleting</source>
|
||||||
<translation>Tar bort</translation>
|
<translation>Tar bort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="162"/>
|
<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="162"/>
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
<source> copied to clipboard</source>
|
<source> copied to clipboard</source>
|
||||||
<translation>kopierad till urklipp</translation>
|
<translation>kopierad till urklipp</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="230"/>
|
<location filename="../qml/pages/MainView.qml" line="234"/>
|
||||||
<source>Move up</source>
|
<source>Move up</source>
|
||||||
<translation>Flytta upp</translation>
|
<translation>Flytta upp</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="235"/>
|
<location filename="../qml/pages/MainView.qml" line="239"/>
|
||||||
<source>Move down</source>
|
<source>Move down</source>
|
||||||
<translation>Flytta ner</translation>
|
<translation>Flytta ner</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="240"/>
|
<location filename="../qml/pages/MainView.qml" line="244"/>
|
||||||
<source>Edit</source>
|
<source>Edit</source>
|
||||||
<translation>Redigera</translation>
|
<translation>Redigera</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/pages/MainView.qml" line="246"/>
|
<location filename="../qml/pages/MainView.qml" line="250"/>
|
||||||
<source>Delete</source>
|
<source>Delete</source>
|
||||||
<translation>Ta bort</translation>
|
<translation>Ta bort</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -346,4 +358,24 @@ Licens: BSD (3-clause)</translation>
|
||||||
<translation>Tryck på bilden för att starta / stoppa skanning. Dra neråt för att lägga till Token manuellt.</translation>
|
<translation>Tryck på bilden för att starta / stoppa skanning. Dra neråt för att lägga till Token manuellt.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Settings</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="50"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>Inställningar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="52"/>
|
||||||
|
<source>Behaviour</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Beteende</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="56"/>
|
||||||
|
<source>Show Token as QRCode on Tap</source>
|
||||||
|
<translatorcomment>Translated using Google Translate</translatorcomment>
|
||||||
|
<translation>Peka token som en QR-kod</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
376
i18n/zh_CN.ts
Normal file
376
i18n/zh_CN.ts
Normal file
|
@ -0,0 +1,376 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="zh_CN">
|
||||||
|
<context>
|
||||||
|
<name>About</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="75"/>
|
||||||
|
<source>A Simple Sailfish OTP Generator
|
||||||
|
(RFC 6238/4226 compatible)</source>
|
||||||
|
<translation>一个简单的旗鱼OTP生成器<br/>(RFC 6238/4226 兼容)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="84"/>
|
||||||
|
<source>Copyright: Stefan Brand
|
||||||
|
License: BSD (3-clause)</source>
|
||||||
|
<translation>版权所有:Stefan Brand
|
||||||
|
许可证: BSD (3-clause)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="110"/>
|
||||||
|
<source>SailOTP uses the following third party libs:</source>
|
||||||
|
<translation>SailOTP使用下面的第三方库:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
|
<source>Contributors:</source>
|
||||||
|
<translation>贡献者:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="121"/>
|
||||||
|
<source>Support</source>
|
||||||
|
<translation>支持</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/About.qml" line="132"/>
|
||||||
|
<source>Translators:</source>
|
||||||
|
<translation>翻译:</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>AddOTP</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="69"/>
|
||||||
|
<source>Show QR-Code</source>
|
||||||
|
<translation>显示二维码</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="72"/>
|
||||||
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
|
<translation>不能从未完成的设置中创建二维码</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="86"/>
|
||||||
|
<source>Save</source>
|
||||||
|
<translation>保存</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="86"/>
|
||||||
|
<source>Add</source>
|
||||||
|
<translation>添加</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="91"/>
|
||||||
|
<source>Type</source>
|
||||||
|
<translation>类型</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="93"/>
|
||||||
|
<source>Time-based (TOTP)</source>
|
||||||
|
<translation>基于时间(TOTP)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="94"/>
|
||||||
|
<source>Counter-based (HOTP)</source>
|
||||||
|
<translation>基于计数器(HOTP)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="95"/>
|
||||||
|
<source>Steam Guard</source>
|
||||||
|
<translation>时间流守卫</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="101"/>
|
||||||
|
<source>Title</source>
|
||||||
|
<translation>标题</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="102"/>
|
||||||
|
<source>Title for the OTP</source>
|
||||||
|
<translation>OTP的标题</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="114"/>
|
||||||
|
<source>Secret (at least 16 characters)</source>
|
||||||
|
<translation>密码(至少16个字符)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="116"/>
|
||||||
|
<source>Secret OTP Key</source>
|
||||||
|
<translation>OTP密钥</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="128"/>
|
||||||
|
<source>Length</source>
|
||||||
|
<translation>长度</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="130"/>
|
||||||
|
<source>Length of the Token</source>
|
||||||
|
<translation>令牌的长度</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="142"/>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="144"/>
|
||||||
|
<source>Time Derivation (Seconds)</source>
|
||||||
|
<translation>时间推导(秒)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="156"/>
|
||||||
|
<source>Next Counter Value</source>
|
||||||
|
<translation>下一个计数器的值</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/AddOTP.qml" line="158"/>
|
||||||
|
<source>Next Value of the Counter</source>
|
||||||
|
<translation>下一个计数器的值</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ExportPage</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="63"/>
|
||||||
|
<source>File already exists, choose "Overwrite existing" to overwrite it.</source>
|
||||||
|
<translation>文件已经存在,选择"覆盖已存在"来覆盖</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="72"/>
|
||||||
|
<source>Given file does not exist!</source>
|
||||||
|
<translation>选择的文件不存在</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="91"/>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="107"/>
|
||||||
|
<source>Export</source>
|
||||||
|
<translation>导出</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="91"/>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="107"/>
|
||||||
|
<source>Import</source>
|
||||||
|
<translation>导入</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="114"/>
|
||||||
|
<source>Filename</source>
|
||||||
|
<translation>文件名</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="115"/>
|
||||||
|
<source>File to import</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="115"/>
|
||||||
|
<source>File to export</source>
|
||||||
|
<translation>要导出的文件</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="128"/>
|
||||||
|
<source>Overwrite existing</source>
|
||||||
|
<translation>覆盖已存在</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="134"/>
|
||||||
|
<source>Password</source>
|
||||||
|
<translation>密码</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="135"/>
|
||||||
|
<source>Password for the file</source>
|
||||||
|
<translation>文件加密的密码</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="148"/>
|
||||||
|
<source>Passwords don't match!</source>
|
||||||
|
<translation>密码不匹配</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="148"/>
|
||||||
|
<source>Passwords match!</source>
|
||||||
|
<translation>密码匹配</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="149"/>
|
||||||
|
<source>Repeated Password for the file</source>
|
||||||
|
<translation>替换文件的密码</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="173"/>
|
||||||
|
<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>在这里,你可以从文件导入令牌。输入你在导出时使用的文件位置和密码,向左拉开始导入</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="189"/>
|
||||||
|
<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>在这里,您可以将令牌导出到文件。导出的文件将使用AES-256-CBC和Base64编码进行加密。选择一个强密码,该文件将包含用于为你的帐户生成令牌的密钥。向左拉开始导出</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="189"/>
|
||||||
|
<source>To view the content of the export file outside of SailOTP use the following openssl command:</source>
|
||||||
|
<translation>在SailfOTP外面查看导出的文件,使用下面的openssl命令:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="211"/>
|
||||||
|
<source>Error writing to file </source>
|
||||||
|
<translation>写入文件错误 </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="213"/>
|
||||||
|
<source>Token Database exported to </source>
|
||||||
|
<translation>令牌数据导出到 </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="216"/>
|
||||||
|
<source>Could not encrypt tokens. Error: </source>
|
||||||
|
<translation>不能加密令牌,错误:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="219"/>
|
||||||
|
<source>Could not read tokens from Database</source>
|
||||||
|
<translation>不能从数据库中读取令牌</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="230"/>
|
||||||
|
<source>Tokens imported from </source>
|
||||||
|
<translation>令牌已从文件导入 </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="235"/>
|
||||||
|
<source>Unable to decrypt file, did you use the right password?</source>
|
||||||
|
<translation>不能加密文件,确定使用了正确的密码?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ExportPage.qml" line="238"/>
|
||||||
|
<source>Could not read from file </source>
|
||||||
|
<translation>不能从文件读取 </translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainView</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="96"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>关于</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="100"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>设置</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="104"/>
|
||||||
|
<source>Export / Import</source>
|
||||||
|
<translation>导出/导入</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="108"/>
|
||||||
|
<source>Add Token</source>
|
||||||
|
<translation>添加令牌</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="138"/>
|
||||||
|
<source>Nothing here</source>
|
||||||
|
<translation>无内容</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="139"/>
|
||||||
|
<source>Pull down to add a OTP</source>
|
||||||
|
<translation>下拉添加一个OTP</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="150"/>
|
||||||
|
<source>Deleting</source>
|
||||||
|
<translation>删除中</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
|
<source>Token for </source>
|
||||||
|
<translation>令牌</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="166"/>
|
||||||
|
<source> copied to clipboard</source>
|
||||||
|
<translation> 已复制到剪切板</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="234"/>
|
||||||
|
<source>Move up</source>
|
||||||
|
<translation>向上</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="239"/>
|
||||||
|
<source>Move down</source>
|
||||||
|
<translation>向下</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="244"/>
|
||||||
|
<source>Edit</source>
|
||||||
|
<translation>编辑</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/MainView.qml" line="250"/>
|
||||||
|
<source>Delete</source>
|
||||||
|
<translation>删除</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>QRPage</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/QRPage.qml" line="74"/>
|
||||||
|
<source>Can't create QR-Code from incomplete settings!</source>
|
||||||
|
<translation>不能重未完成的设置中创建二维码</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScanOTP</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="54"/>
|
||||||
|
<source>Can't access temporary directory</source>
|
||||||
|
<translation>无临时目录访问权限</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="64"/>
|
||||||
|
<source>Add manually</source>
|
||||||
|
<translation>手动</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="71"/>
|
||||||
|
<source>Scan Code</source>
|
||||||
|
<translation>扫码</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="71"/>
|
||||||
|
<source>Scanning...</source>
|
||||||
|
<translation>扫描中...</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="101"/>
|
||||||
|
<source>No valid Token data found.</source>
|
||||||
|
<translation>没有发现有效的令牌数据。</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/ScanOTP.qml" line="142"/>
|
||||||
|
<source>Tap the picture to start / stop scanning. Pull down to add Token manually.</source>
|
||||||
|
<translation>点击照片开始/结束扫描,下拉手动添加</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>Settings</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="50"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation>设置</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="52"/>
|
||||||
|
<source>Behaviour</source>
|
||||||
|
<translation>行为</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/pages/Settings.qml" line="56"/>
|
||||||
|
<source>Show Token as QRCode on Tap</source>
|
||||||
|
<translation>点击后显示令牌为二维码</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
|
@ -29,6 +29,7 @@
|
||||||
|
|
||||||
import QtQuick 2.0
|
import QtQuick 2.0
|
||||||
import Sailfish.Silica 1.0
|
import Sailfish.Silica 1.0
|
||||||
|
import org.nemomobile.configuration 1.0
|
||||||
import "pages"
|
import "pages"
|
||||||
import "components"
|
import "components"
|
||||||
|
|
||||||
|
@ -52,6 +53,15 @@ ApplicationWindow
|
||||||
// Global Component for showing notification banners
|
// Global Component for showing notification banners
|
||||||
NotifyBanner { id: notify }
|
NotifyBanner { id: notify }
|
||||||
|
|
||||||
|
// Global Settings Storage
|
||||||
|
ConfigurationGroup
|
||||||
|
{
|
||||||
|
id: settings
|
||||||
|
path: "/apps/harbour-sailotp"
|
||||||
|
|
||||||
|
property bool showQrDefaultAction: false
|
||||||
|
}
|
||||||
|
|
||||||
// Add an entry to the list
|
// Add an entry to the list
|
||||||
function appendOTP(title, secret, type, counter, fav, len, diff) {
|
function appendOTP(title, secret, type, counter, fav, len, diff) {
|
||||||
listModel.append({"secret": secret, "title": title, "fav": fav, "type": type, "counter": counter, "len": len, "diff": diff, "otp": "------"});
|
listModel.append({"secret": secret, "title": title, "fav": fav, "type": type, "counter": counter, "len": len, "diff": diff, "otp": "------"});
|
||||||
|
|
|
@ -45,12 +45,19 @@ Page {
|
||||||
Column {
|
Column {
|
||||||
id: column
|
id: column
|
||||||
width: parent.width
|
width: parent.width
|
||||||
spacing: Theme.paddingLarge
|
spacing: Theme.paddingSmall
|
||||||
|
|
||||||
|
TextArea {
|
||||||
|
id: spacer
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
width: parent.width
|
||||||
|
readOnly: true
|
||||||
|
text: ""
|
||||||
|
height: Theme.paddingLarge*2
|
||||||
|
}
|
||||||
Image {
|
Image {
|
||||||
id: logo
|
id: logo
|
||||||
source: "../sailotp.png"
|
source: "../sailotp.png"
|
||||||
anchors.topMargin: 20
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
}
|
}
|
||||||
Label {
|
Label {
|
||||||
|
@ -77,12 +84,20 @@ Page {
|
||||||
text: qsTr("Copyright: Stefan Brand\nLicense: BSD (3-clause)")
|
text: qsTr("Copyright: Stefan Brand\nLicense: BSD (3-clause)")
|
||||||
color: "white"
|
color: "white"
|
||||||
}
|
}
|
||||||
|
Button {
|
||||||
|
id: manual
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
text: "<a href=\"https://www.seiichiro0185.org/sailfish:apps:sailotp:manual\">Online Manual</a>"
|
||||||
|
onClicked: {
|
||||||
|
Qt.openUrlExternally("https://www.seiichiro0185.org/sailfish:apps:sailotp:manual")
|
||||||
|
}
|
||||||
|
}
|
||||||
Button {
|
Button {
|
||||||
id: homepage
|
id: homepage
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
text: "<a href=\"https://www.seiichiro0185.org/gitlab/seiichiro0185/harbour-sailotp.git\">Source Code</a>"
|
text: "<a href=\"https://github.com/seiichiro0185/sailotp/\">Source Code & Issue Tracker</a>"
|
||||||
onClicked: {
|
onClicked: {
|
||||||
Qt.openUrlExternally("https://www.seiichiro0185.org/gitlab/seiichiro0185/harbour-sailotp.git")
|
Qt.openUrlExternally("https://github.com/seiichiro0185/sailotp/")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TextArea {
|
TextArea {
|
||||||
|
@ -92,7 +107,7 @@ Page {
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
horizontalAlignment: TextEdit.Center
|
horizontalAlignment: TextEdit.Center
|
||||||
readOnly: true
|
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/"
|
text: "\n"+qsTr("SailOTP uses the following third party libs:")+"\n\nhttp://caligatio.github.io/jsSHA/\nhttps://code.google.com/archive/p/crypto-js/\nhttp://sourceforge.net/projects/qzxing/\nhttp://fukuchi.org/works/qrencode/"
|
||||||
color: "white"
|
color: "white"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -114,7 +129,7 @@ Page {
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
horizontalAlignment: TextEdit.Center
|
horizontalAlignment: TextEdit.Center
|
||||||
readOnly: true
|
readOnly: true
|
||||||
text: qsTr("Translators:")+"\n\nSwedish: Åke Engelbrektson\nFrench: Romain Tartière\nEnglish: Stefan Brand\nGerman: Stefan Brand"
|
text: qsTr("Translators:")+"\n\nChinese: BirdZhang\nFinnish: Johan Heikkilä\nFrench: Romain Tartière\nRussian: moorchegue\nSpanish: p4moedo\nSwedish: Åke Engelbrektson\nEnglish: Stefan Brand\nGerman: Stefan Brand"
|
||||||
color: "white"
|
color: "white"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,7 +166,7 @@ Dialog {
|
||||||
|
|
||||||
wrapMode: Text.Wrap
|
wrapMode: Text.Wrap
|
||||||
maximumLineCount: 15
|
maximumLineCount: 15
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
font.pixelSize: Theme.fontSizeTiny
|
||||||
color: Theme.secondaryColor
|
color: Theme.secondaryColor
|
||||||
|
|
||||||
visible: mode == "import"
|
visible: mode == "import"
|
||||||
|
@ -182,11 +182,11 @@ Dialog {
|
||||||
|
|
||||||
wrapMode: Text.Wrap
|
wrapMode: Text.Wrap
|
||||||
maximumLineCount: 15
|
maximumLineCount: 15
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
font.pixelSize: Theme.fontSizeTiny
|
||||||
color: Theme.secondaryColor
|
color: Theme.secondaryColor
|
||||||
|
|
||||||
visible: mode == "export"
|
visible: mode == "export"
|
||||||
text: qsTr("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.")
|
text: qsTr("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.")+"\n\n"+qsTr("To view the content of the export file outside of SailOTP use the following openssl command:") + "\n\nopenssl enc -d -a -A -md md5 -aes-256-cbc -in <file>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,6 +96,11 @@ Page {
|
||||||
text: qsTr("About")
|
text: qsTr("About")
|
||||||
onClicked: pageStack.push(Qt.resolvedUrl("About.qml"))
|
onClicked: pageStack.push(Qt.resolvedUrl("About.qml"))
|
||||||
}
|
}
|
||||||
|
MenuItem {
|
||||||
|
text: qsTr("Settings")
|
||||||
|
visible: false
|
||||||
|
onClicked: pageStack.push(Qt.resolvedUrl("Settings.qml"))
|
||||||
|
}
|
||||||
MenuItem {
|
MenuItem {
|
||||||
text: qsTr("Export / Import")
|
text: qsTr("Export / Import")
|
||||||
onClicked: pageStack.push(Qt.resolvedUrl("ExportPage.qml"), {parentPage: mainPage, mode: "export"})
|
onClicked: pageStack.push(Qt.resolvedUrl("ExportPage.qml"), {parentPage: mainPage, mode: "export"})
|
||||||
|
|
63
qml/pages/Settings.qml
Normal file
63
qml/pages/Settings.qml
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2014, Stefan Brand <seiichiro@seiichiro0185.org>
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
* 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
|
||||||
|
* materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* 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,
|
||||||
|
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
import QtQuick 2.0
|
||||||
|
import Sailfish.Silica 1.0
|
||||||
|
|
||||||
|
|
||||||
|
Page {
|
||||||
|
id: settingsPage
|
||||||
|
allowedOrientations: Orientation.All
|
||||||
|
|
||||||
|
SilicaFlickable {
|
||||||
|
id: flickable
|
||||||
|
anchors.fill: parent
|
||||||
|
width: parent.width
|
||||||
|
contentHeight: column.height
|
||||||
|
|
||||||
|
Column {
|
||||||
|
id: column
|
||||||
|
width: parent.width
|
||||||
|
spacing: Theme.paddingSmall
|
||||||
|
|
||||||
|
PageHeader { title: qsTr("Settings") }
|
||||||
|
|
||||||
|
SectionHeader { text: qsTr("Behaviour") }
|
||||||
|
TextSwitch {
|
||||||
|
id: showQrDefault
|
||||||
|
checked: settings.showQrDefaultAction
|
||||||
|
text: qsTr("Show Token as QRCode on Tap")
|
||||||
|
onClicked: settings.showQrDefaultAction = !settings.showQrDefaultAction
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
VerticalScrollDecorator { }
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,3 +1,10 @@
|
||||||
|
* Mon Apr 02 2019 Stefan Brand <sailfish@seiichiro0185.org> 1.7-1
|
||||||
|
- Added Chinese Translation
|
||||||
|
- Added Finnish Translation
|
||||||
|
- Added Russian Translation
|
||||||
|
- Added Spanish Translation
|
||||||
|
- Some internal Preparation for future features
|
||||||
|
|
||||||
* Mon Oct 30 2017 Stefan Brand <sailfish@seiichiro0185.org> 1.6-1
|
* Mon Oct 30 2017 Stefan Brand <sailfish@seiichiro0185.org> 1.6-1
|
||||||
- Changed AES Engine to cryptojs for Export/Import
|
- Changed AES Engine to cryptojs for Export/Import
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Name: harbour-sailotp
|
Name: harbour-sailotp
|
||||||
Summary: SailOTP
|
Summary: SailOTP
|
||||||
Version: 1.6
|
Version: 1.7
|
||||||
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