From b0dcf11fe9afc35b29b308c85868444e6eab40b7 Mon Sep 17 00:00:00 2001 From: Stefan Brand Date: Mon, 2 Apr 2018 09:32:11 +0200 Subject: [PATCH] Version 1.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .gitignore | 1 + README.md | 14 +- harbour-sailotp.pro | 6 +- i18n/de.ts | 76 ++++--- i18n/en.ts | 76 ++++--- i18n/es.ts | 377 +++++++++++++++++++++++++++++++++++ i18n/fi.ts | 381 ++++++++++++++++++++++++++++++++++++ i18n/fr.ts | 76 ++++--- i18n/ru.ts | 381 ++++++++++++++++++++++++++++++++++++ i18n/sv.ts | 80 +++++--- i18n/zh_CN.ts | 376 +++++++++++++++++++++++++++++++++++ qml/harbour-sailotp.qml | 10 + qml/pages/About.qml | 27 ++- qml/pages/ExportPage.qml | 6 +- qml/pages/MainView.qml | 5 + qml/pages/Settings.qml | 63 ++++++ rpm/harbour-sailotp.changes | 7 + rpm/harbour-sailotp.yaml | 2 +- 18 files changed, 1855 insertions(+), 109 deletions(-) create mode 100644 i18n/es.ts create mode 100644 i18n/fi.ts create mode 100644 i18n/ru.ts create mode 100644 i18n/zh_CN.ts create mode 100644 qml/pages/Settings.qml diff --git a/.gitignore b/.gitignore index 04ef584..d2dd984 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ *.pro.user *.pro.user.* rpm/harbour-sailotp.spec +rpm/harbour-sailotp.spec.* i18n/*.qm diff --git a/README.md b/README.md index e4fc753..b3b18ce 100644 --- a/README.md +++ b/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 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 +openssl enc -d -a -A -md md5 -aes-256-cbc -in 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 -If you find any bugs or want to suggest a feature, feel free to use Githubs -Issues feature or write an email to sailfish _AT_ seiichiro0185.org +If you find any bugs or want to suggest a feature, feel free to use Githubs Issues feature at +https://github.com/seiichiro0185/sailotp/issues +or write an email to sailfish _AT_ seiichiro0185.org ## License @@ -40,7 +41,7 @@ SailOTP uses the SHA-1 and HMAC-Implementation from SailOTP also uses the AES-Implementation from -https://github.com/mdp/gibberish-aes +https://code.google.com/archive/p/crypto-js/ 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: + * Chinese: BirdZhang + * Finnish: Johan Heikkilä (hevanaa) + * French: Romain Tartière (smortex) + * Russian: moorchegue + * Spanish: p4moedo * Swedish: Åke Engelbrektson (eson57) * English: Stefan Brand (seiichiro0185) * German: Stefan Brand (seiichiro0185) diff --git a/harbour-sailotp.pro b/harbour-sailotp.pro index 5e77aae..680ecd3 100644 --- a/harbour-sailotp.pro +++ b/harbour-sailotp.pro @@ -47,8 +47,12 @@ lupdate_only { TRANSLATIONS = i18n/de.ts \ i18n/en.ts \ + i18n/es.ts \ + i18n/fi.ts \ i18n/fr.ts \ - i18n/sv.ts + i18n/ru.ts \ + i18n/sv.ts \ + i18n/zh_CN.ts } include(src/qzxing/QZXing.pri) diff --git a/i18n/de.ts b/i18n/de.ts index 2187c75..2a10e0d 100644 --- a/i18n/de.ts +++ b/i18n/de.ts @@ -12,36 +12,36 @@ Copyright: Stefan Brand<br/>Lizenz: BSD (3-Klausel) - + A Simple Sailfish OTP Generator (RFC 6238/4226 compatible) Ein einfacher Sailfish OTP-Generator (RFC 6238/4226-kompatibel) - + Copyright: Stefan Brand License: BSD (3-clause) Copyright: Stefan Brand Lizenz: BSD (3-Klausel) - + SailOTP uses the following third party libs: SailOTP verwendet folgende externe Bibliotheken: - + Contributors: Mitwirkende: - + Support Unterstützung - + Translators: Übersetzer: @@ -49,12 +49,12 @@ Lizenz: BSD (3-Klausel) AddOTP - + Show QR-Code QR-Code anzeigen - + Can't create QR-Code from incomplete settings! Ein QR-Code kann nur mit vollständigen Einstellungen erzeugt werden! @@ -109,28 +109,28 @@ Lizenz: BSD (3-Klausel) Geheimer Schlüssel - + Length Länge - + Length of the Token Länge des Tokens - - + + Time Derivation (Seconds) Zeitabweichung (Sekunden) - + Next Counter Value Nächster Zählerwert - + Next Value of the Counter Nächster Wert für den Zähler @@ -214,6 +214,11 @@ Lizenz: BSD (3-Klausel) 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. 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. + + + To view the content of the export file outside of SailOTP use the following openssl command: + Mit folgendem Openssl-Befehl kann der Inhalt der Exportdatei außerhalb von SailOTP angezeigt werden: + Error writing to file @@ -267,56 +272,61 @@ Lizenz: BSD (3-Klausel) + Settings + Einstellungen + + + Export / Import Export / Import - + Add Token Token hinzufügen - + Nothing here Hier ist nichts - + Pull down to add a OTP Nach unten ziehen zum hinzufügen - + Deleting Lösche - + Token for Token für - + copied to clipboard kopiert - + Move up Nach oben - + Move down Nach unten - + Edit Bearbeiten - + Delete Löschen @@ -366,4 +376,22 @@ Lizenz: BSD (3-Klausel) Vorschau antippen um den Scan zu starten. Nach unten ziehen um manuell hinzu zu fügen. + + Settings + + + Settings + Einstellungen + + + + Behaviour + Verhalten + + + + Show Token as QRCode on Tap + Token bei antippen als QR-Code zeigen + + diff --git a/i18n/en.ts b/i18n/en.ts index 2197812..b68568e 100644 --- a/i18n/en.ts +++ b/i18n/en.ts @@ -4,34 +4,34 @@ About - + A Simple Sailfish OTP Generator (RFC 6238/4226 compatible) - + Copyright: Stefan Brand License: BSD (3-clause) - + SailOTP uses the following third party libs: - + Contributors: Contributor: - + Support support - + Translators: Translators: @@ -39,12 +39,12 @@ License: BSD (3-clause) AddOTP - + Show QR-Code Show QR-Code - + Can't create QR-Code from incomplete settings! Can't create QR-Code from incomplete settings! @@ -99,28 +99,28 @@ License: BSD (3-clause) - + Length Length - + Length of the Token Length of the Token - - + + Time Derivation (Seconds) Time Derivation (Seconds) - + Next Counter Value - + Next Value of the Counter @@ -204,6 +204,11 @@ License: BSD (3-clause) 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. + + + To view the content of the export file outside of SailOTP use the following openssl command: + + Error writing to file @@ -249,56 +254,61 @@ License: BSD (3-clause) - Export / Import + Settings + Export / Import + + + + Add Token - + Nothing here - + Pull down to add a OTP - + Deleting - + Token for - + copied to clipboard - + Move up Move up - + Move down Move down - + Edit - + Delete @@ -344,4 +354,22 @@ License: BSD (3-clause) + + Settings + + + Settings + + + + + Behaviour + + + + + Show Token as QRCode on Tap + + + diff --git a/i18n/es.ts b/i18n/es.ts new file mode 100644 index 0000000..c1376c4 --- /dev/null +++ b/i18n/es.ts @@ -0,0 +1,377 @@ + + + + + About + + + A Simple Sailfish OTP Generator +(RFC 6238/4226 compatible) + Un sencillo generador de códigos OTP +(Compatible con RFC 6238/4226) + + + + Copyright: Stefan Brand +License: BSD (3-clause) + Derechos de autor: Stefan Brand +Licencia: BSD (de 3 cláusulas) + + + + SailOTP uses the following third party libs: + SailOTP usa las siguientes librerías de terceros: + + + + Contributors: + Contribuidor: + + + + Support + soporte + + + + Translators: + Traductores: + + + + AddOTP + + + Show QR-Code + Mostrar código QR + + + + Can't create QR-Code from incomplete settings! + ¡No se puede crear el código QR a partir de una configuración incompleta! + + + + Save + Guardar + + + + Add + Añadir + + + + Type + Tipo + + + + Time-based (TOTP) + Basado en tiempo (TOTP) + + + + Counter-based (HOTP) + Basado en contador (HOTP) + + + + Steam Guard + Steam Guard + + + + Title + Título + + + + Title for the OTP + Nombre para el OTP + + + + Secret (at least 16 characters) + Cadena secreta (al menos 16 caracteres) + + + + Secret OTP Key + Llave secreta OTP + + + + Length + Longitud + + + + Length of the Token + Longitud del token + + + + + Time Derivation (Seconds) + Derivación de tiempo (segundos) + + + + Next Counter Value + Siguiente Contador + + + + Next Value of the Counter + Siguiente valor del contador + + + + ExportPage + + + File already exists, choose "Overwrite existing" to overwrite it. + El fichero ya existe, escoja la opción "Sobreescribir existente" para sobreescribirlo. + + + + Given file does not exist! + ¡El fichero proporcionado no exsiste! + + + + + Export + Exportar + + + + + Import + Importar + + + + Filename + Nombre del fichero + + + + File to import + Fichero a importar + + + + File to export + Fichero a exportar + + + + Overwrite existing + Sobreescribir existente + + + + Password + Contraseña + + + + Password for the file + Contraseña para el fichero + + + + Passwords don't match! + ¡Las contraseñas no coinciden! + + + + Passwords match! + ¡Las contraseñas coinciden! + + + + Repeated Password for the file + Contraseña repetida para el archivo + + + + 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. + 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. + + + + 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. + 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. + + + + To view the content of the export file outside of SailOTP use the following openssl command: + Para ver los contenidos del fichero de exportación fuera de SailOTP utilize el siguiente comando openssl: + + + + Error writing to file + Error escribiendo el fichero + + + + Token Database exported to + Base de datos de Tokens exportada en + + + + Could not encrypt tokens. Error: + No se ha podido encriptar los tokens. Error: + + + + Could not read tokens from Database + No se ha podido leer los tokens desde la Base de datos + + + + Tokens imported from + Tokens importados desde + + + + Unable to decrypt file, did you use the right password? + No se ha podido desencriptar el fichero, ¿ha utilizado el password correcto? + + + + Could not read from file + No se ha podido leer desde el fichero + + + + MainView + + + About + Acerca de + + + + Settings + Configuración + + + + Export / Import + Exportar/Importar + + + + Add Token + Añadir Token + + + + Nothing here + Nada aquí + + + + Pull down to add a OTP + Tire hacia abajo para añadir tokens OTP + + + + Deleting + Borrando + + + + Token for + Token para + + + + copied to clipboard + copiado al portapapeles + + + + Move up + Ascender + + + + Move down + Descender + + + + Edit + Editar + + + + Delete + Borrar + + + + QRPage + + + Can't create QR-Code from incomplete settings! + ¡No se puede crear el código QR a partir de una configuración incompleta! + + + + ScanOTP + + + Can't access temporary directory + No se puede acceder al directorio temporal + + + + Add manually + Añadir manualmente + + + + Scan Code + Escanear código + + + + Scanning... + Escaneando... + + + + No valid Token data found. + No se han encontrado datos válidos + + + + Tap the picture to start / stop scanning. Pull down to add Token manually. + Toque la imagen para comenzar/parar el escaneo. Tire hacia abajo para una configuración manual. + + + + Settings + + + Settings + Configuración + + + + Funcionamiento + + + + + Show Token as QRCode on Tap + Mostrar el token como código QR al tocar + + + diff --git a/i18n/fi.ts b/i18n/fi.ts new file mode 100644 index 0000000..a601bb6 --- /dev/null +++ b/i18n/fi.ts @@ -0,0 +1,381 @@ + + + + + About + + + A Simple Sailfish OTP Generator +(RFC 6238/4226 compatible) + Yksinkertainen Sailfish OTP-generaattori +(RFC 6238/4226-yhteensopiva) + + + + Copyright: Stefan Brand +License: BSD (3-clause) + Copyright: Stefan Brand +Lisenssi: BSD (3-clause) + + + + SailOTP uses the following third party libs: + SailOTP käyttää seuraavat kolmannen osapuolen kirjastot: + + + + Contributors: + Avustajat: + + + + Support + tuki + + + + Translators: + Kääntäjät: + + + + AddOTP + + + Show QR-Code + Näytä QR-koodi + + + + Can't create QR-Code from incomplete settings! + QR-koodin luonti epäonnistui puutteellisten asetuksien takia! + + + + Save + Tallenna + + + + Add + Lisää + + + + Type + Tyyppi + + + + Time-based (TOTP) + Aikapohjainen (TOTP) + + + + Counter-based (HOTP) + Laskentapohjainen (HOTP) + + + + Steam Guard + Steam Guard + + + + Title + Nimi + + + + Title for the OTP + OTP:n nimi + + + + Secret (at least 16 characters) + Salaisuus (vähintään 16 merkkiä) + + + + Secret OTP Key + Salainen OTP-avain + + + + Length + Pituus + + + + Length of the Token + Tunnuksen pituus + + + + + Time Derivation (Seconds) + Aikapoikkeama (sekunneissa) + + + + Next Counter Value + Seuraava laskenta-arvo + + + + Next Value of the Counter + Laskurin seuraava arvo + + + + ExportPage + + + File already exists, choose "Overwrite existing" to overwrite it. + Tiedosto on jo olemassa. Korvaa vanha tiedosto valitsemalla "Ylikirjoita". + + + + Given file does not exist! + Tiedosto ei ole olemassa! + + + + + Export + Eksportoi + + + + + Import + Importoi + + + + Filename + Tiedoston nimi + + + + File to import + Importoitava tiedosto + + + + File to export + Eksportoitava tiedosto + + + + Overwrite existing + Ylikirjoita + + + + Password + Salasana + + + + Password for the file + Tiedoston salasana + + + + Passwords don't match! + Salasanat eivät täsmää! + + + + Passwords match! + Salasanat täsmäävät! + + + + Repeated Password for the file + Tiedoston salasana uudelleen + + + + 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. + Voit importata tunnuksia tiedostosta. Anna tiedoston polku ja salasana jonka annoit eksportoitaessa. Pyyhkäise vasemmalle aloittaaksesi importin. + + + + 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. + 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. + + + + To view the content of the export file outside of SailOTP use the following openssl command: + Translated using Google Translate + Jos haluat tarkastella vientitiedoston sisältöä SailOTP: n ulkopuolella, käytä seuraavaa openssl-komentoa: + + + + Error writing to file + Virhe tiedoston kirjoituksessa + + + + Token Database exported to + Tunnus-tietokanta eksportoitu polkuun + + + + Could not encrypt tokens. Error: + Tunnuksia ei voitu enkryptata. Virhe: + + + + Could not read tokens from Database + Tunnuksia ei voitu lukea tietokannasta + + + + Tokens imported from + Tunnukset importoitu polusta + + + + Unable to decrypt file, did you use the right password? + Tiedoston dekryptaus epäonnistui. Oliko salasana oikea? + + + + Could not read from file + Tiedoston lukeminen epäonnistui + + + + MainView + + + About + Tietoja + + + + Settings + Translated using Google Translate + Asetukset + + + + Export / Import + Eksportoi / Importoi + + + + Add Token + Lisää tunnus + + + + Nothing here + Tyhjä + + + + Pull down to add a OTP + Vedä alaspäin lisääksesi OTP:n + + + + Deleting + Poistaa + + + + Token for + Tunnus + + + + copied to clipboard + kopioitu leikepöydälle + + + + Move up + Siirrä ylös + + + + Move down + Siirrä alas + + + + Edit + Muokkaa + + + + Delete + Poista + + + + QRPage + + + Can't create QR-Code from incomplete settings! + QR-koodin luonti ei onnistu puutteellisten asetusten takia! + + + + ScanOTP + + + Can't access temporary directory + Pääsy temp-hakemistoon on estetty + + + + Add manually + Lisää käsin + + + + Scan Code + Skannaa koodi + + + + Scanning... + Skannataan... + + + + No valid Token data found. + Voimassa olevaa tunnustietoa ei löytynyt. + + + + Tap the picture to start / stop scanning. Pull down to add Token manually. + Käynnistä / lopeta skannaus painamalla kuvaa. Vedä alaspäin lisääksesi tunnuksen käsin. + + + + Settings + + + Settings + Asetukset + + + + Behaviour + Translated using Google Translate + Käytös + + + + Show Token as QRCode on Tap + Translated using Google Translate + Kosketa tokenä QR-koodina + + + diff --git a/i18n/fr.ts b/i18n/fr.ts index 69fe2a6..aba2e52 100644 --- a/i18n/fr.ts +++ b/i18n/fr.ts @@ -4,35 +4,35 @@ About - + A Simple Sailfish OTP Generator (RFC 6238/4226 compatible) Un générateur d'OTP simple pour Sailfish (compatible avec les RFC6238 et 4226) - + Copyright: Stefan Brand License: BSD (3-clause) Copyright: Stefan Brand Licence : BSD (3 clauses) - + SailOTP uses the following third party libs: SailOTP utilise les bibliothèques tierces suivantes : - + Contributors: Contributeurs : - + Support Support - + Translators: Traducteurs : @@ -100,28 +100,28 @@ Licence : BSD (3 clauses) Clé secrète OTP - + Length Longueur - + Length of the Token Longueur du jeton - - + + Time Derivation (Seconds) Dérivation de temps (secondes) - + Next Counter Value Prochaine valeur du compteur - + Next Value of the Counter Prochaine valeur du compteur @@ -205,6 +205,12 @@ Licence : BSD (3 clauses) 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. 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. + + + To view the content of the export file outside of SailOTP use the following openssl command: + Translated using Google Translate + Pour afficher le contenu du fichier d'exportation en dehors de SailOTP, utilisez la commande openssl suivante: + Error writing to file @@ -250,56 +256,62 @@ Licence : BSD (3 clauses) + Settings + Translated using Google Translate + Paramètres + + + Export / Import Exporter / Importer - + Add Token Ajouter un OTP - + Nothing here Aucun mot de passe - + Pull down to add a OTP Glissez vers le bas pour ajouter un OTP - + Deleting Suppression - + Token for OTP pour - + copied to clipboard copié dans le presse-papier - + Move up Déplacer vers le haut - + Move down Déplacer vers le bas - + Edit Modifier - + Delete Supprimer @@ -345,4 +357,24 @@ Licence : BSD (3 clauses) Appuyez sur l'image pour démarrer / arréter le balayage. Glissez vers le bas pour entrer les paramètres manuellement. + + Settings + + + Settings + Paramètres + + + + Behaviour + Translated using Google Translate + Comportement + + + + Show Token as QRCode on Tap + Translated using Google Translate + Touchez le jeton comme un code QR + + diff --git a/i18n/ru.ts b/i18n/ru.ts new file mode 100644 index 0000000..18d2088 --- /dev/null +++ b/i18n/ru.ts @@ -0,0 +1,381 @@ + + + + + About + + + A Simple Sailfish OTP Generator +(RFC 6238/4226 compatible) + Простой генератор OTP для Sailfish +(совместим с RFS 6238/4226) + + + + Copyright: Stefan Brand +License: BSD (3-clause) + Авторские права: Стефан Брэнд +Лицензия: BSD (3-clause) + + + + SailOTP uses the following third party libs: + SailOTP использует следующие сторонние библиотеки: + + + + Contributors: + Участники: + + + + Support + Поддержка + + + + Translators: + Переводчики: + + + + AddOTP + + + Show QR-Code + Показать QR-код + + + + Can't create QR-Code from incomplete settings! + Невозможно создать QR-код из-за неполных настроек! + + + + Save + Сохранить + + + + Add + Добавить + + + + Type + Тип + + + + Time-based (TOTP) + На основе времени (TOTP) + + + + Counter-based (HOTP) + На основе счетчика (HOTP) + + + + Steam Guard + Steam Guard + + + + Title + Заголовок + + + + Title for the OTP + Заголовок для OTP + + + + Secret (at least 16 characters) + Секрет (минимум 16 символов) + + + + Secret OTP Key + Секретный ключ OTP + + + + Length + Длина + + + + Length of the Token + Длина токена + + + + + Time Derivation (Seconds) + Интервал расхождения (секунд) + + + + Next Counter Value + Следующее значение счетчика + + + + Next Value of the Counter + Следующее значение счетчика + + + + ExportPage + + + File already exists, choose "Overwrite existing" to overwrite it. + Файл уже существует, выберите: «Перезаписать существующий» для его перезаписи. + + + + Given file does not exist! + Данный файл не существует! + + + + + Export + Экспорт + + + + + Import + Импорт + + + + Filename + Имя файла + + + + File to import + Файл для импорта + + + + File to export + Файл для экспорта + + + + Overwrite existing + Перезаписать существующий + + + + Password + Пароль + + + + Password for the file + Пароль для файла + + + + Passwords don't match! + Пароли не совпадают! + + + + Passwords match! + Пароли совпадают! + + + + Repeated Password for the file + Повторный пароль для файла + + + + 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. + Здесь можно импортировать токены из файла. Введите путь к файлу и пароль, использованный при экспорте. Потяните влево чтобы начать импорт. + + + + 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. + Здесь можно экспортировать токены в файл. Экспортированный файл будет зашифрован с использованием AES-256-CBC и кодирован в Base64. Выберите сильный пароль — файл будет содержать секреты, использованные для генерации токенов для Ваших аккаунтов. Потяните влево чтобы начать экспорт. + + + + To view the content of the export file outside of SailOTP use the following openssl command: + Translated using Google Translate + Чтобы просмотреть содержимое файла экспорта за пределами SailOTP, используйте следующую команду openssl: + + + + Error writing to file + Ошибка при записи в файл + + + + Token Database exported to + База данных токенов экспортирована в + + + + Could not encrypt tokens. Error: + Не удалось зашифровать токены. Ошибка: + + + + Could not read tokens from Database + Не удалось прочесть токены из базы данных + + + + Tokens imported from + Токены импортированы из + + + + Unable to decrypt file, did you use the right password? + Не удалось расшифровать файл. Был ли введен правильный пароль? + + + + Could not read from file + Не удалось прочесть из файла + + + + MainView + + + About + О приложении + + + + Settings + Translated using Google Translate + настройки + + + + Export / Import + Экспорт / импорт + + + + Add Token + Добавить токен + + + + Nothing here + Ничего нету + + + + Pull down to add a OTP + Потяните вниз чтобы добавить OTP + + + + Deleting + Удаление + + + + Token for + Токен для + + + + copied to clipboard + скопирован в буфер обмена + + + + Move up + Передвинуть вверх + + + + Move down + Передвинуть вниз + + + + Edit + Редактировать + + + + Delete + Удалить + + + + QRPage + + + Can't create QR-Code from incomplete settings! + Не удалось создать QR-код из-за неполных настроек! + + + + ScanOTP + + + Can't access temporary directory + Не удалось получить доступ к временной директории + + + + Add manually + Добавить вручную + + + + Scan Code + Отсканировать код + + + + Scanning... + Сканирование... + + + + No valid Token data found. + Не найдено корректных данных для токена. + + + + Tap the picture to start / stop scanning. Pull down to add Token manually. + Нажмите на изображение чтобы начать / остановить сканирование. Потяните вниз чтобы добавить токен вручную. + + + + Settings + + + Settings + настройки + + + + Behaviour + Translated using Google Translate + поведение + + + + Show Token as QRCode on Tap + Translated using Google Translate + Сенсорный токен как QR-код + + + diff --git a/i18n/sv.ts b/i18n/sv.ts index bc48975..1b28481 100644 --- a/i18n/sv.ts +++ b/i18n/sv.ts @@ -4,36 +4,36 @@ About - + A Simple Sailfish OTP Generator (RFC 6238/4226 compatible) En enkel Sailfish OTP-generator (RFC 6238/4226-kompatibel) - + Copyright: Stefan Brand License: BSD (3-clause) Copyright: Stefan Brand Licens: BSD (3-clause) - + SailOTP uses the following third party libs: SailOTP använder följande tredjeparts bibliotek: - + Contributors: Medarbetare: - + Support försörjning - + Translators: Översättare: @@ -41,12 +41,12 @@ Licens: BSD (3-clause) AddOTP - + Show QR-Code Visa QR-kod - + Can't create QR-Code from incomplete settings! Kan inte skapa QR-kod från ofullständiga inställningar! @@ -101,28 +101,28 @@ Licens: BSD (3-clause) Hemlig OTP-nyckel - + Length längd - + Length of the Token Längden av token - - + + Time Derivation (Seconds) Tidsavvikelsen (sekunder) - + Next Counter Value Nästa räknarvärde - + Next Value of the Counter Nästa värde på räknaren @@ -206,6 +206,12 @@ Licens: BSD (3-clause) 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. 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. + + + To view the content of the export file outside of SailOTP use the following openssl command: + Translated using Google Translate + Om du vill visa innehållet i exportfilen utanför SailOTP använder du följande openssl-kommando: + Error writing to file @@ -251,56 +257,62 @@ Licens: BSD (3-clause) + Settings + Translated using Google Translate + Inställningar + + + Export / Import Export / Import - + Add Token Lägg till Token - + Nothing here Inget här - + Pull down to add a OTP Dra neråt för att lägga till en OTP - + Deleting Tar bort - + Token for Token för - + copied to clipboard kopierad till urklipp - + Move up Flytta upp - + Move down Flytta ner - + Edit Redigera - + Delete Ta bort @@ -346,4 +358,24 @@ Licens: BSD (3-clause) Tryck på bilden för att starta / stoppa skanning. Dra neråt för att lägga till Token manuellt. + + Settings + + + Settings + Inställningar + + + + Behaviour + Translated using Google Translate + Beteende + + + + Show Token as QRCode on Tap + Translated using Google Translate + Peka token som en QR-kod + + diff --git a/i18n/zh_CN.ts b/i18n/zh_CN.ts new file mode 100644 index 0000000..2a759b9 --- /dev/null +++ b/i18n/zh_CN.ts @@ -0,0 +1,376 @@ + + + + + About + + + A Simple Sailfish OTP Generator +(RFC 6238/4226 compatible) + 一个简单的旗鱼OTP生成器<br/>(RFC 6238/4226 兼容) + + + + Copyright: Stefan Brand +License: BSD (3-clause) + 版权所有:Stefan Brand +许可证: BSD (3-clause) + + + + SailOTP uses the following third party libs: + SailOTP使用下面的第三方库: + + + + Contributors: + 贡献者: + + + + Support + 支持 + + + + Translators: + 翻译: + + + + AddOTP + + + Show QR-Code + 显示二维码 + + + + Can't create QR-Code from incomplete settings! + 不能从未完成的设置中创建二维码 + + + + Save + 保存 + + + + Add + 添加 + + + + Type + 类型 + + + + Time-based (TOTP) + 基于时间(TOTP) + + + + Counter-based (HOTP) + 基于计数器(HOTP) + + + + Steam Guard + 时间流守卫 + + + + Title + 标题 + + + + Title for the OTP + OTP的标题 + + + + Secret (at least 16 characters) + 密码(至少16个字符) + + + + Secret OTP Key + OTP密钥 + + + + Length + 长度 + + + + Length of the Token + 令牌的长度 + + + + + Time Derivation (Seconds) + 时间推导(秒) + + + + Next Counter Value + 下一个计数器的值 + + + + Next Value of the Counter + 下一个计数器的值 + + + + ExportPage + + + File already exists, choose "Overwrite existing" to overwrite it. + 文件已经存在,选择"覆盖已存在"来覆盖 + + + + Given file does not exist! + 选择的文件不存在 + + + + + Export + 导出 + + + + + Import + 导入 + + + + Filename + 文件名 + + + + File to import + + + + + File to export + 要导出的文件 + + + + Overwrite existing + 覆盖已存在 + + + + Password + 密码 + + + + Password for the file + 文件加密的密码 + + + + Passwords don't match! + 密码不匹配 + + + + Passwords match! + 密码匹配 + + + + Repeated Password for the file + 替换文件的密码 + + + + 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. + 在这里,你可以从文件导入令牌。输入你在导出时使用的文件位置和密码,向左拉开始导入 + + + + 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. + 在这里,您可以将令牌导出到文件。导出的文件将使用AES-256-CBC和Base64编码进行加密。选择一个强密码,该文件将包含用于为你的帐户生成令牌的密钥。向左拉开始导出 + + + + To view the content of the export file outside of SailOTP use the following openssl command: + 在SailfOTP外面查看导出的文件,使用下面的openssl命令: + + + + Error writing to file + 写入文件错误 + + + + Token Database exported to + 令牌数据导出到 + + + + Could not encrypt tokens. Error: + 不能加密令牌,错误: + + + + Could not read tokens from Database + 不能从数据库中读取令牌 + + + + Tokens imported from + 令牌已从文件导入 + + + + Unable to decrypt file, did you use the right password? + 不能加密文件,确定使用了正确的密码? + + + + Could not read from file + 不能从文件读取 + + + + MainView + + + About + 关于 + + + + Settings + 设置 + + + + Export / Import + 导出/导入 + + + + Add Token + 添加令牌 + + + + Nothing here + 无内容 + + + + Pull down to add a OTP + 下拉添加一个OTP + + + + Deleting + 删除中 + + + + Token for + 令牌 + + + + copied to clipboard + 已复制到剪切板 + + + + Move up + 向上 + + + + Move down + 向下 + + + + Edit + 编辑 + + + + Delete + 删除 + + + + QRPage + + + Can't create QR-Code from incomplete settings! + 不能重未完成的设置中创建二维码 + + + + ScanOTP + + + Can't access temporary directory + 无临时目录访问权限 + + + + Add manually + 手动 + + + + Scan Code + 扫码 + + + + Scanning... + 扫描中... + + + + No valid Token data found. + 没有发现有效的令牌数据。 + + + + Tap the picture to start / stop scanning. Pull down to add Token manually. + 点击照片开始/结束扫描,下拉手动添加 + + + + Settings + + + Settings + 设置 + + + + Behaviour + 行为 + + + + Show Token as QRCode on Tap + 点击后显示令牌为二维码 + + + diff --git a/qml/harbour-sailotp.qml b/qml/harbour-sailotp.qml index 1d08574..eac8785 100644 --- a/qml/harbour-sailotp.qml +++ b/qml/harbour-sailotp.qml @@ -29,6 +29,7 @@ import QtQuick 2.0 import Sailfish.Silica 1.0 +import org.nemomobile.configuration 1.0 import "pages" import "components" @@ -52,6 +53,15 @@ ApplicationWindow // Global Component for showing notification banners NotifyBanner { id: notify } + // Global Settings Storage + ConfigurationGroup + { + id: settings + path: "/apps/harbour-sailotp" + + property bool showQrDefaultAction: false + } + // Add an entry to the list 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": "------"}); diff --git a/qml/pages/About.qml b/qml/pages/About.qml index e04c618..b19e3b3 100644 --- a/qml/pages/About.qml +++ b/qml/pages/About.qml @@ -45,12 +45,19 @@ Page { Column { id: column 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 { id: logo source: "../sailotp.png" - anchors.topMargin: 20 anchors.horizontalCenter: parent.horizontalCenter } Label { @@ -77,12 +84,20 @@ Page { text: qsTr("Copyright: Stefan Brand\nLicense: BSD (3-clause)") color: "white" } + Button { + id: manual + anchors.horizontalCenter: parent.horizontalCenter + text: "Online Manual" + onClicked: { + Qt.openUrlExternally("https://www.seiichiro0185.org/sailfish:apps:sailotp:manual") + } + } Button { id: homepage anchors.horizontalCenter: parent.horizontalCenter - text: "Source Code" + text: "Source Code & Issue Tracker" onClicked: { - Qt.openUrlExternally("https://www.seiichiro0185.org/gitlab/seiichiro0185/harbour-sailotp.git") + Qt.openUrlExternally("https://github.com/seiichiro0185/sailotp/") } } TextArea { @@ -92,7 +107,7 @@ Page { font.pixelSize: Theme.fontSizeSmall horizontalAlignment: TextEdit.Center readOnly: true - text: qsTr("SailOTP uses the following third party libs:")+"\n\nhttp://caligatio.github.io/jsSHA/\nhttps://github.com/mdp/gibberish-aes/\nhttp://sourceforge.net/projects/qzxing/\nhttp://fukuchi.org/works/qrencode/" + 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" } @@ -114,7 +129,7 @@ Page { font.pixelSize: Theme.fontSizeSmall horizontalAlignment: TextEdit.Center 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" } } diff --git a/qml/pages/ExportPage.qml b/qml/pages/ExportPage.qml index d814fd1..131a60f 100644 --- a/qml/pages/ExportPage.qml +++ b/qml/pages/ExportPage.qml @@ -166,7 +166,7 @@ Dialog { wrapMode: Text.Wrap maximumLineCount: 15 - font.pixelSize: Theme.fontSizeSmall + font.pixelSize: Theme.fontSizeTiny color: Theme.secondaryColor visible: mode == "import" @@ -182,11 +182,11 @@ Dialog { wrapMode: Text.Wrap maximumLineCount: 15 - font.pixelSize: Theme.fontSizeSmall + font.pixelSize: Theme.fontSizeTiny color: Theme.secondaryColor 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 " } } } diff --git a/qml/pages/MainView.qml b/qml/pages/MainView.qml index 948b5b9..6e41671 100644 --- a/qml/pages/MainView.qml +++ b/qml/pages/MainView.qml @@ -96,6 +96,11 @@ Page { text: qsTr("About") onClicked: pageStack.push(Qt.resolvedUrl("About.qml")) } + MenuItem { + text: qsTr("Settings") + visible: false + onClicked: pageStack.push(Qt.resolvedUrl("Settings.qml")) + } MenuItem { text: qsTr("Export / Import") onClicked: pageStack.push(Qt.resolvedUrl("ExportPage.qml"), {parentPage: mainPage, mode: "export"}) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml new file mode 100644 index 0000000..52daeec --- /dev/null +++ b/qml/pages/Settings.qml @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2014, Stefan Brand + * 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 { } + } +} diff --git a/rpm/harbour-sailotp.changes b/rpm/harbour-sailotp.changes index 0450dee..f2b13ca 100644 --- a/rpm/harbour-sailotp.changes +++ b/rpm/harbour-sailotp.changes @@ -1,3 +1,10 @@ +* Mon Apr 02 2019 Stefan Brand 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 1.6-1 - Changed AES Engine to cryptojs for Export/Import diff --git a/rpm/harbour-sailotp.yaml b/rpm/harbour-sailotp.yaml index f2acfe4..a083e8f 100644 --- a/rpm/harbour-sailotp.yaml +++ b/rpm/harbour-sailotp.yaml @@ -1,6 +1,6 @@ Name: harbour-sailotp Summary: SailOTP -Version: 1.6 +Version: 1.7 Release: 1 Group: Security URL: https://github.com/seiichiro0185/sailotp/