diff options
| -rw-r--r-- | translations/Passwordsailor-de.ts | 439 | ||||
| -rw-r--r-- | translations/Passwordsailor.ts | 421 |
2 files changed, 838 insertions, 22 deletions
diff --git a/translations/Passwordsailor-de.ts b/translations/Passwordsailor-de.ts index 8f39883..bf7d564 100644 --- a/translations/Passwordsailor-de.ts +++ b/translations/Passwordsailor-de.ts @@ -1,37 +1,462 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.1"> +<TS version="2.1" language="de_DE" sourcelanguage="en_GB"> +<context> + <name>AboutPage</name> + <message> + <source>About PassFish</source> + <translation>Über PassFish</translation> + </message> + <message> + <source> +<p> + PassFish is a native re-implementation of <a href="https://passwordmaker.org/">PasswordMaker</a> for Sailfish OS. + It aims to be mostly compatible to the <a href="https://sourceforge.net/projects/passwordmaker/files/Javascript%20Edition/">Javascript Edition</a>. +</p> +<p> + All credit for the development of the PasswordMaker Pro algorithm goes to the original authors of PasswordMaker Pro, Miquel Burns and Eric H. Jung. +</p> +<p> + As PassFish is not merely a port, but a full reimplementation from scratch, compatibility is not guaranteed. While the original source code was + used as a guideline during implementation, the underlying technology is vastly different. Common use cases are tested by integration tests, but some + edge cases might have been missed. In case you encounter such an issue, please report it on the + <a href="https://github.com/soulsource/passfish/issues">github issue tracker</a> of the project. +</p> +<p> + Speaking of integration tests: The hash algorithms were not re-implemented for this project in order to reduce the risk of introducing bugs. Instead the + QCryptographicHash API is used where possible, and where not, the implementation from the RustCrypto Hashes repository is utilized (see list of dependencies below). +</p> +<p> + This program consists of two parts: The application itself ("<a href="https://github.com/soulsource/passfish">PassFish</a>"), and a Rust crate that contains the + implementation of the business logic ("<a href="https://github.com/soulsource/passwordmaker-rs"><nobr>passwordmaker&#8209;rs</nobr></a>"). + This is important, as the two parts use different licenses. PassFish is published under the GPLv3 license, while <nobr>passwordmaker&#8209;rs</nobr> is published under LGPLv3. Please check the linked github pages for more details. +</p> +<p> + This program utilises several third party libraries. This list is kept up-to-date to the best of my knowledge. Only direct dependencies are listed, + for transitive dependencies please see the linked websites. Similarly, the source code for those third-party dependencies that are published under an + open source license can be found on the linked websites. To my knowledge the only non-open-source dependency is Silica. The listed licenses are just those + used by <i>this</i> project, most libraries are available under multiple licenses. Please see the libraries' websites for details.<br> + These libraries are linked dynamically: + <ul> + <li><a href="https://www.qt.io/">Qt Quick</a>: Used under <a href="https://www.gnu.org/licenses/lgpl-3.0.en.html">LGPLv3</a></li> + <li><a href="https://sailfishos.org/develop/docs/silica/">Sailfish Silica</a>: Proprietary, <a href="https://www.gnu.org/licenses/gpl-3.0">GPL</a> system library exception</li> + <li><a href="https://github.com/sailfishos/libsailfishapp">LibSailfishApp</a>: Used under LGPL 2.1</li> + </ul> + These libraries and their dependencies are linked statically: + <ul> + <li><a href="https://crates.io/crates/libc">libc Rust bindings</a>: Used under MIT license</li> + <li><a href="https://crates.io/crates/serde">serde</a>: Used under MIT license</li> + <li><a href="https://crates.io/crates/toml">toml-rs</a>: Used under MIT license</li> + <li><a href="https://crates.io/crates/dirs">dirs</a>: Used under MIT license</li> + <li><a href="https://crates.io/crates/ripemd">RustCrypto: RIPEMD</a>: Used under MIT license</li> + </ul> + The <nobr>passwordmaker&#8209;rs</nobr> library has the following statically linked runtime dependencies: + <ul> + <li><a href="https://crates.io/crates/unicode-segmentation">unicode-segmentation</a>: Used under MIT license</li> + </ul> + While it is not a runtime dependency, the code generator for the Rust Qt bindings is worth noting: + <ul> + <li><a href="https://invent.kde.org/sdk/rust-qt-binding-generator">Rust Qt Binding Generator</a></li> + </ul> + PassFish uses a modified version, which can be found in the <a href="https://invent.kde.org/soulsource/rust-qt-binding-generator/-/tree/mockall_support">mockall_support</a> branch. +</p> +<p> + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, + either version 3 of the License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. +</p> + </source> + <translation> +<p> + PassFish ist eine native Neu-Implementierung von <a href="https://passwordmaker.org/">PasswordMaker Pro</a> für Sailfish OS, + mit dem Ziel, zu der <a href="https://sourceforge.net/projects/passwordmaker/files/Javascript%20Edition/">Javascript Edition</a> kompatibel zu sein. +</p> +<p> + Der Original-Algorithmus von PasswordMaker Pro stammt von Miquel Burns und Eric H. Jung. +</p> +<p> + Da es sich bei PassFish nicht um einen Port, sondern um eine kompette Neuimplementierung handelt, ist es nicht möglich, vollständige Kompatibilität zu garantieren. + Auch wenn der Original-Quelltext während der Entwicklung als Hilfsmittel herangezogen wurde, gibt es doch grundlegende Unterschiede in der zugrunde liegenden Technologie. + Für typische Inputs wurden zwar Integrations-Tests angelegt, es ist aber mehr als wahrscheinlich, dass der eine oder andere Spezialfall durch die Maschen gerutscht ist. + Falls Sie ein derartiges Problem entdecken, melden Sie es doch bitte im <a href="https://github.com/soulsource/passfish/issues">Github Issue Tracker</a> dieses Projekts. +</p> +<p> + Wenn wir schon bei Integrations-Tests sind: Um möglichst keine neuen Fehler zu verursachen, wurden die Hash-Algorithmen nicht erneut implementiert. + Stattdessen wurde wo möglich die QCryptographicHash API verwendet. Wo dies nicht möglich war, wurde stattdessen auf das RustCrypto Hashes Projekt zurückgegriffen + (mehr Details finden Sie in der Liste der Abhängigkeiten weiter unten). +</p> +<p> + Dieses Programm besteht aus zwei Teilen: Der Anwendung selbst ("<a href="https://github.com/soulsource/passfish">PassFish</a>"), und einer Rust-Crate, welche den Nachbau des + eigentlichen PasswordMaker Pro Algorithmus enthält ("<a href="https://github.com/soulsource/passwordmaker-rs"><nobr>passwordmaker&#8209;rs</nobr></a>"). + Diese Trennung ist insofern wichtig, als dass die beiden Teile unter verschiedenen Lizenzen veröffentlicht wurden. PassFish selbst steht unter der GPLv3 Lizenz, während + <nobr>passwordmaker&#8209;rs</nobr> unter LGPLv3 weiterverwendet werden darf. Die verlinkten Github-Seiten der jeweiligen Repositories enthalten weitere Details. +</p> +<p> + Dieses Programm verwendet Software aus Drittquellen. Die Liste hier wird nach bestem Wissen und Gewissen aktuell gehalten. Hier sind nur die direkten Abhängigkeiten angegeben. + Besuchen Sie bitte die Websites ebenjener, falls Sie Informationen über deren Abhängigkeiten benötigen. Selbiges gilt, falls Sie den Quelltext der als Open Source veröffentlichten Abhängigkeiten abrufen möchten. + So weit ich das sagen kann, ist lediglich Silca selbst unter keiner offenen Lizenz verfügbar. Die hier genannten Lizenzen sind lediglich jene, die von <i>diesem</i> Projekt verwendet werden. Die meisten der gelisteten + Drittanbieter-Projekte sind auch unter anderen Lizenzen verfügbar.<br> + Dies sind die dynamisch verknüpften Abhängigkeiten: + <ul> + <li><a href="https://www.qt.io/">Qt Quick</a>: Verwendet unter <a href="https://www.gnu.org/licenses/lgpl-3.0.en.html">LGPLv3</a></li> + <li><a href="https://sailfishos.org/develop/docs/silica/">Sailfish Silica</a>: Proprietär, <a href="https://www.gnu.org/licenses/gpl-3.0">GPL</a> Ausnahme für Systembibliotheken</li> + <li><a href="https://github.com/sailfishos/libsailfishapp">LibSailfishApp</a>: Verwendet unter LGPL 2.1</li> + </ul> + Diese Bibliotheken (und deren Abhängigkeiten) sind statisch verknüpft: + <ul> + <li><a href="https://crates.io/crates/libc">libc Rust bindings</a>: Verwendet unter MIT Lizenz</li> + <li><a href="https://crates.io/crates/serde">serde</a>: Verwendet unter MIT license</li> + <li><a href="https://crates.io/crates/toml">toml-rs</a>: Verwendet unter MIT license</li> + <li><a href="https://crates.io/crates/dirs">dirs</a>: Verwendet unter MIT license</li> + <li><a href="https://crates.io/crates/ripemd">RustCrypto: RIPEMD</a>: Verwendet unter MIT license</li> + </ul> + Die <nobr>passwordmaker&#8209;rs</nobr> Bibliothek hat wiederum diese Abhängigkeiten: + <ul> + <li><a href="https://crates.io/crates/unicode-segmentation">unicode-segmentation</a>: Verwendet unter MIT license</li> + </ul> + Auch wenn es sich dabei nicht um eine Laufzeit-Abhängigkeit handelt, sollte der Code-Generator für die Qt Bindings für Rust nicht unerwähnt bleiben: + <ul> + <li><a href="https://invent.kde.org/sdk/rust-qt-binding-generator">Rust Qt Binding Generator</a></li> + </ul> + PassFish verwendet eine modifizierte Version vor Rust Qt Binding Generator, welche im <a href="https://invent.kde.org/soulsource/rust-qt-binding-generator/-/tree/mockall_support">mockall_support</a> Zweig verfügbar ist. +</p> +<p> + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, + either version 3 of the License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. +</p> + </translation> + </message> +</context> <context> <name>CoverPage</name> <message> <source>My Cover</source> - <translation>Mein Cover</translation> + <translation type="vanished">Mein Cover</translation> + </message> + <message> + <source>PassFish</source> + <translation>PassFish</translation> + </message> + <message> + <source>Used Text:</source> + <translatorcomment>Might be too long? Needs testing.</translatorcomment> + <translation>Verwendeter Text:</translation> + </message> + <message> + <source>Pass Ready</source> + <translation>Pass Bereit</translation> + </message> + <message> + <source>Input Needed</source> + <translation>Input Benötigt</translation> </message> </context> <context> <name>FirstPage</name> <message> <source>Show Page 2</source> - <translation>Zur Seite 2</translation> + <translation type="vanished">Zur Seite 2</translation> </message> <message> <source>UI Template</source> - <translation>UI-Vorlage</translation> + <translation type="vanished">UI-Vorlage</translation> </message> <message> <source>Hello Sailors</source> - <translation>Hallo Matrosen</translation> + <translation type="vanished">Hallo Matrosen</translation> + </message> +</context> +<context> + <name>MainPage</name> + <message> + <source>App Settings</source> + <translation>Programmeinstellungen</translation> + </message> + <message> + <source>About</source> + <translation>Über PassFish</translation> + </message> + <message> + <source>PassFish</source> + <translation>PassFish</translation> + </message> + <message> + <source>Profile</source> + <translation>Profil</translation> + </message> + <message> + <source>URL</source> + <translation>URL</translation> + </message> + <message> + <source>Master Password</source> + <translation>Hauptschlüssel</translation> + </message> + <message> + <source>Used Text</source> + <translation>Verwendeter Text</translation> + </message> + <message> + <source>Generating</source> + <translation>Am Generieren</translation> + </message> + <message> + <source>Missing text to use</source> + <translation>Kein zu verwendender Text angegeben</translation> + </message> + <message> + <source>Missing master password</source> + <translation>Kein Hauptschlüssel angegeben</translation> + </message> + <message> + <source>Error in profile character list</source> + <translation>Fehler in der Profil-Zeichenliste</translation> + </message> + <message> + <source>Generated Password</source> + <translation>Generiertes Passwort</translation> + </message> + <message> + <source>Saving settings failed.</source> + <translation>Fehler beim Speichern der Einstellungen.</translation> + </message> +</context> +<context> + <name>ProfileEditor</name> + <message> + <source>Edit Profile</source> + <translation>Profil bearbeiten</translation> + </message> + <message> + <source>Required Field</source> + <translation>Benötigtes Feld</translation> + </message> + <message> + <source>Profile Name</source> + <translation>Profilname</translation> + </message> + <message> + <source>Profile name required.</source> + <translation>Profilname wird benötigt.</translation> + </message> + <message> + <source>Use Protocol</source> + <translation>Verwende Protokoll</translation> + </message> + <message> + <source>Include URL protocol (e.g. "http://")</source> + <translation>Nutze Protokoll (z.B. "http://")</translation> + </message> + <message> + <source>Use "undefined" if protocol is missing</source> + <translation>Verwende "undefined" bei fehlendem Protokoll</translation> + </message> + <message> + <source>Enable to mimic weird behaviour of PasswordMaker Pro.</source> + <translation>Einschalten, um das Verhalten von PasswordMaker Pro zu imitieren.</translation> + </message> + <message> + <source>Use Userinfo</source> + <translation>Verwende Nutzerdaten</translation> + </message> + <message> + <source>Include userinfo (e.g "jane_doe:12345"</source> + <translation>Nutze Nutzerinfo (z.B. "jane_doe:12345")</translation> + </message> + <message> + <source>Use Subomain(s)</source> + <translation>Verwende Subdomain(s)</translation> + </message> + <message> + <source>Include URL subdomain(s) (e.g. "www.")</source> + <translation>Nutze Subdomäne(n) (e.g. "www")</translation> + </message> + <message> + <source>Use Domain</source> + <translation>Verwende Domain</translation> + </message> + <message> + <source>Include URL domain (e.g. "example.com")</source> + <translation>Nutze Domain (z.B. "example.com")</translation> + </message> + <message> + <source>Use Port/Path</source> + <translation>Verwende Port/Pfad</translation> + </message> + <message> + <source>Include port and path (e.g ":8080/file")</source> + <translation>Nutze Port und Pfad (z.B. ":8080/datei")</translation> + </message> + <message> + <source>At least one URL part required.</source> + <translation>Mindesteins ein Teil der URL muss genutzt werden.</translation> + </message> + <message> + <source>Password Length</source> + <translation>Passwortlänge</translation> + </message> + <message> + <source>Hash Algorithm</source> + <translation>Hash-Algorithmus</translation> + </message> + <message> + <source>MD5 Version 0.6</source> + <translation>MD5 Version 0.6</translation> + </message> + <message> + <source>HMAC-MD5 Version 0.6</source> + <translation>HMAC-MD5 Version 0.6</translation> + </message> + <message> + <source>Use L33t</source> + <translation>Verwende L33t</translation> + </message> + <message> + <source>not at all</source> + <translation>Gar nicht</translation> + </message> + <message> + <source>before generating</source> + <translation>Vor der Generierung</translation> + </message> + <message> + <source>after generating</source> + <translation>Nach der Generierung</translation> + </message> + <message> + <source>before and after generating</source> + <translation>Vor und nach der Generierung</translation> + </message> + <message> + <source>Leet Level</source> + <translatorcomment>Leet genug für diese Welt?</translatorcomment> + <translation>Leet-Stärke</translation> + </message> + <message> + <source>Default Characters</source> + <translation>Standard-Zeichenliste</translation> + </message> + <message> + <source>Alphanumeric</source> + <translation>Alphanumerisch</translation> + </message> + <message> + <source>Letters only</source> + <translation>Nur Buchstaben</translation> + </message> + <message> + <source>Numbers only</source> + <translation>Nur Ziffern</translation> + </message> + <message> + <source>Special only</source> + <translation>Nur Sonderzeichen</translation> + </message> + <message> + <source>Hex</source> + <translation>Hexadezimal</translation> + </message> + <message> + <source>Custom</source> + <translation>Angepasst</translation> + </message> + <message> + <source>Characters Preset</source> + <translation>Zeichenlistenvorlage</translation> + </message> + <message> + <source>Need at least 2 characters.</source> + <translation>Es werden mindestens 2 Zeichen benötigt.</translation> + </message> + <message> + <source>Characters</source> + <translation>Zeichenliste</translation> + </message> + <message> + <source>Username</source> + <translation>Nutzername</translation> + </message> + <message> + <source>Modifier</source> + <translation>Modifikator</translation> + </message> + <message> + <source>Prefix</source> + <translation>Präfix</translation> + </message> + <message> + <source>Suffix</source> + <translation>Suffix</translation> + </message> +</context> +<context> + <name>ProfilesPage</name> + <message> + <source>Add Profile</source> + <translation>Neues Profil</translation> + </message> + <message> + <source>Select/Edit Profiles</source> + <translation>Profil Auswählen/Bearbeiten</translation> + </message> + <message> + <source>Edit</source> + <translation>Bearbeiten</translation> + </message> + <message> + <source>Remove</source> + <translation>Löschen</translation> + </message> + <message> + <source>Saving profiles failed.</source> + <translation>Fehler beim Speichern der Profile.</translation> </message> </context> <context> <name>SecondPage</name> <message> <source>Nested Page</source> - <translation>Unterseite</translation> + <translation type="vanished">Unterseite</translation> </message> <message> <source>Item</source> - <translation>Element</translation> + <translation type="vanished">Element</translation> + </message> +</context> +<context> + <name>SettingsEditor</name> + <message> + <source>Edit Settings</source> + <translation>Einstellungen Anpassen</translation> + </message> + <message> + <source>Hide Generated Password</source> + <translation>Generiertes Passwort verstecken</translation> + </message> + <message> + <source>Auto-clear generated password</source> + <translation>Generiertes Passwort automatisch löschen</translation> + </message> + <message> + <source>Auto-clear generated pass timeout</source> + <translation>Zeit bis das generierte Passwort gelöscht wird</translation> + </message> + <message> + <source>Auto-clear master password</source> + <translation>Hauptschlüssel automatisch löschen</translation> + </message> + <message> + <source>Auto-clear master pass timeout</source> + <translation>Zeit bis der Hauptschlüssel gelöscht wird</translation> + </message> + <message> + <source>Profiles can be edited directly in the profiles selector.</source> + <translation>Der Profileditor ist über die Profilauswahl erreichbar.</translation> </message> </context> </TS> diff --git a/translations/Passwordsailor.ts b/translations/Passwordsailor.ts index 7fc118e..46805ca 100644 --- a/translations/Passwordsailor.ts +++ b/translations/Passwordsailor.ts @@ -1,37 +1,428 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.1"> +<TS version="2.1" language="en_GB" sourcelanguage="en_GB"> +<context> + <name>AboutPage</name> + <message> + <source>About PassFish</source> + <translation>About PassFish</translation> + </message> + <message> + <source> +<p> + PassFish is a native re-implementation of <a href="https://passwordmaker.org/">PasswordMaker</a> for Sailfish OS. + It aims to be mostly compatible to the <a href="https://sourceforge.net/projects/passwordmaker/files/Javascript%20Edition/">Javascript Edition</a>. +</p> +<p> + All credit for the development of the PasswordMaker Pro algorithm goes to the original authors of PasswordMaker Pro, Miquel Burns and Eric H. Jung. +</p> +<p> + As PassFish is not merely a port, but a full reimplementation from scratch, compatibility is not guaranteed. While the original source code was + used as a guideline during implementation, the underlying technology is vastly different. Common use cases are tested by integration tests, but some + edge cases might have been missed. In case you encounter such an issue, please report it on the + <a href="https://github.com/soulsource/passfish/issues">github issue tracker</a> of the project. +</p> +<p> + Speaking of integration tests: The hash algorithms were not re-implemented for this project in order to reduce the risk of introducing bugs. Instead the + QCryptographicHash API is used where possible, and where not, the implementation from the RustCrypto Hashes repository is utilized (see list of dependencies below). +</p> +<p> + This program consists of two parts: The application itself ("<a href="https://github.com/soulsource/passfish">PassFish</a>"), and a Rust crate that contains the + implementation of the business logic ("<a href="https://github.com/soulsource/passwordmaker-rs"><nobr>passwordmaker&#8209;rs</nobr></a>"). + This is important, as the two parts use different licenses. PassFish is published under the GPLv3 license, while <nobr>passwordmaker&#8209;rs</nobr> is published under LGPLv3. Please check the linked github pages for more details. +</p> +<p> + This program utilises several third party libraries. This list is kept up-to-date to the best of my knowledge. Only direct dependencies are listed, + for transitive dependencies please see the linked websites. Similarly, the source code for those third-party dependencies that are published under an + open source license can be found on the linked websites. To my knowledge the only non-open-source dependency is Silica. The listed licenses are just those + used by <i>this</i> project, most libraries are available under multiple licenses. Please see the libraries' websites for details.<br> + These libraries are linked dynamically: + <ul> + <li><a href="https://www.qt.io/">Qt Quick</a>: Used under <a href="https://www.gnu.org/licenses/lgpl-3.0.en.html">LGPLv3</a></li> + <li><a href="https://sailfishos.org/develop/docs/silica/">Sailfish Silica</a>: Proprietary, <a href="https://www.gnu.org/licenses/gpl-3.0">GPL</a> system library exception</li> + <li><a href="https://github.com/sailfishos/libsailfishapp">LibSailfishApp</a>: Used under LGPL 2.1</li> + </ul> + These libraries and their dependencies are linked statically: + <ul> + <li><a href="https://crates.io/crates/libc">libc Rust bindings</a>: Used under MIT license</li> + <li><a href="https://crates.io/crates/serde">serde</a>: Used under MIT license</li> + <li><a href="https://crates.io/crates/toml">toml-rs</a>: Used under MIT license</li> + <li><a href="https://crates.io/crates/dirs">dirs</a>: Used under MIT license</li> + <li><a href="https://crates.io/crates/ripemd">RustCrypto: RIPEMD</a>: Used under MIT license</li> + </ul> + The <nobr>passwordmaker&#8209;rs</nobr> library has the following statically linked runtime dependencies: + <ul> + <li><a href="https://crates.io/crates/unicode-segmentation">unicode-segmentation</a>: Used under MIT license</li> + </ul> + While it is not a runtime dependency, the code generator for the Rust Qt bindings is worth noting: + <ul> + <li><a href="https://invent.kde.org/sdk/rust-qt-binding-generator">Rust Qt Binding Generator</a></li> + </ul> + PassFish uses a modified version, which can be found in the <a href="https://invent.kde.org/soulsource/rust-qt-binding-generator/-/tree/mockall_support">mockall_support</a> branch. +</p> +<p> + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, + either version 3 of the License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. +</p> + </source> + <translation> +<p> + PassFish is a native re-implementation of <a href="https://passwordmaker.org/">PasswordMaker</a> for Sailfish OS. + It aims to be mostly compatible to the <a href="https://sourceforge.net/projects/passwordmaker/files/Javascript%20Edition/">Javascript Edition</a>. +</p> +<p> + All credit for the development of the PasswordMaker Pro algorithm goes to the original authors of PasswordMaker Pro, Miquel Burns and Eric H. Jung. +</p> +<p> + As PassFish is not merely a port, but a full reimplementation from scratch, compatibility is not guaranteed. While the original source code was + used as a guideline during implementation, the underlying technology is vastly different. Common use cases are tested by integration tests, but some + edge cases might have been missed. In case you encounter such an issue, please report it on the + <a href="https://github.com/soulsource/passfish/issues">github issue tracker</a> of the project. +</p> +<p> + Speaking of integration tests: The hash algorithms were not re-implemented for this project in order to reduce the risk of introducing bugs. Instead the + QCryptographicHash API is used where possible, and where not, the implementation from the RustCrypto Hashes repository is utilized (see list of dependencies below). +</p> +<p> + This program consists of two parts: The application itself ("<a href="https://github.com/soulsource/passfish">PassFish</a>"), and a Rust crate that contains the + implementation of the business logic ("<a href="https://github.com/soulsource/passwordmaker-rs"><nobr>passwordmaker&#8209;rs</nobr></a>"). + This is important, as the two parts use different licenses. PassFish is published under the GPLv3 license, while <nobr>passwordmaker&#8209;rs</nobr> is published under LGPLv3. Please check the linked github pages for more details. +</p> +<p> + This program utilises several third party libraries. This list is kept up-to-date to the best of my knowledge. Only direct dependencies are listed, + for transitive dependencies please see the linked websites. Similarly, the source code for those third-party dependencies that are published under an + open source license can be found on the linked websites. To my knowledge the only non-open-source dependency is Silica. The listed licenses are just those + used by <i>this</i> project, most libraries are available under multiple licenses. Please see the libraries' websites for details.<br> + These libraries are linked dynamically: + <ul> + <li><a href="https://www.qt.io/">Qt Quick</a>: Used under <a href="https://www.gnu.org/licenses/lgpl-3.0.en.html">LGPLv3</a></li> + <li><a href="https://sailfishos.org/develop/docs/silica/">Sailfish Silica</a>: Proprietary, <a href="https://www.gnu.org/licenses/gpl-3.0">GPL</a> system library exception</li> + <li><a href="https://github.com/sailfishos/libsailfishapp">LibSailfishApp</a>: Used under LGPL 2.1</li> + </ul> + These libraries and their dependencies are linked statically: + <ul> + <li><a href="https://crates.io/crates/libc">libc Rust bindings</a>: Used under MIT license</li> + <li><a href="https://crates.io/crates/serde">serde</a>: Used under MIT license</li> + <li><a href="https://crates.io/crates/toml">toml-rs</a>: Used under MIT license</li> + <li><a href="https://crates.io/crates/dirs">dirs</a>: Used under MIT license</li> + <li><a href="https://crates.io/crates/ripemd">RustCrypto: RIPEMD</a>: Used under MIT license</li> + </ul> + The <nobr>passwordmaker&#8209;rs</nobr> library has the following statically linked runtime dependencies: + <ul> + <li><a href="https://crates.io/crates/unicode-segmentation">unicode-segmentation</a>: Used under MIT license</li> + </ul> + While it is not a runtime dependency, the code generator for the Rust Qt bindings is worth noting: + <ul> + <li><a href="https://invent.kde.org/sdk/rust-qt-binding-generator">Rust Qt Binding Generator</a></li> + </ul> + PassFish uses a modified version, which can be found in the <a href="https://invent.kde.org/soulsource/rust-qt-binding-generator/-/tree/mockall_support">mockall_support</a> branch. +</p> +<p> + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, + either version 3 of the License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>. +</p> + </translation> + </message> +</context> <context> <name>CoverPage</name> <message> - <source>My Cover</source> - <translation type="unfinished"></translation> + <source>PassFish</source> + <translation>PassFish</translation> + </message> + <message> + <source>Used Text:</source> + <translation>Used Text:</translation> + </message> + <message> + <source>Pass Ready</source> + <translation>Pass Ready</translation> + </message> + <message> + <source>Input Needed</source> + <translation>Input Needed</translation> + </message> +</context> +<context> + <name>MainPage</name> + <message> + <source>App Settings</source> + <translation>App Settings</translation> + </message> + <message> + <source>About</source> + <translation>About PassFish</translation> + </message> + <message> + <source>PassFish</source> + <translation>PassFish</translation> + </message> + <message> + <source>Profile</source> + <translation>Profile</translation> + </message> + <message> + <source>URL</source> + <translation>URL</translation> + </message> + <message> + <source>Master Password</source> + <translation>Master Password</translation> + </message> + <message> + <source>Used Text</source> + <translation>Used Text</translation> + </message> + <message> + <source>Generating</source> + <translation>Generating</translation> + </message> + <message> + <source>Missing text to use</source> + <translation>Missing text to use</translation> + </message> + <message> + <source>Missing master password</source> + <translation>Missing master password</translation> + </message> + <message> + <source>Error in profile character list</source> + <translation>Error in profile character list</translation> + </message> + <message> + <source>Generated Password</source> + <translation>Generated Password</translation> + </message> + <message> + <source>Saving settings failed.</source> + <translation>Saving settings failed.</translation> + </message> +</context> +<context> + <name>ProfileEditor</name> + <message> + <source>Edit Profile</source> + <translation>Edit Profile</translation> + </message> + <message> + <source>Required Field</source> + <translation>Required Field</translation> + </message> + <message> + <source>Profile Name</source> + <translation>Profile Name</translation> + </message> + <message> + <source>Profile name required.</source> + <translation>Profile name required.</translation> + </message> + <message> + <source>Use Protocol</source> + <translation>Use Protocol</translation> + </message> + <message> + <source>Include URL protocol (e.g. "http://")</source> + <translation>Include URL protocol (e.g. "http://")</translation> + </message> + <message> + <source>Use "undefined" if protocol is missing</source> + <translation>Use "undefined" if protocol is missing</translation> + </message> + <message> + <source>Enable to mimic weird behaviour of PasswordMaker Pro.</source> + <translation>Enable to mimic weird behaviour of PasswordMaker Pro.</translation> + </message> + <message> + <source>Use Userinfo</source> + <translation>Use Userinfo</translation> + </message> + <message> + <source>Include userinfo (e.g "jane_doe:12345"</source> + <translation>Include userinfo (e.g. "jane_doe:12345")</translation> + </message> + <message> + <source>Use Subomain(s)</source> + <translation>Use Subomain(s)</translation> + </message> + <message> + <source>Include URL subdomain(s) (e.g. "www.")</source> + <translation>Include URL subdomain(s) (e.g. "www.")</translation> + </message> + <message> + <source>Use Domain</source> + <translation>Use Domain</translation> + </message> + <message> + <source>Include URL domain (e.g. "example.com")</source> + <translation>Include URL domain (e.g. "example.com")</translation> + </message> + <message> + <source>Use Port/Path</source> + <translation>Use Port/Path</translation> + </message> + <message> + <source>Include port and path (e.g ":8080/file")</source> + <translation>Include port and path (e.g ":8080/file")</translation> + </message> + <message> + <source>At least one URL part required.</source> + <translation>At least one URL part required.</translation> + </message> + <message> + <source>Password Length</source> + <translation>Password Length</translation> + </message> + <message> + <source>Hash Algorithm</source> + <translation>Hash Algorithm</translation> + </message> + <message> + <source>MD5 Version 0.6</source> + <translation>MD5 Version 0.6</translation> + </message> + <message> + <source>HMAC-MD5 Version 0.6</source> + <translation>HMAC-MD5 Version 0.6</translation> + </message> + <message> + <source>Use L33t</source> + <translation>Use L33t</translation> + </message> + <message> + <source>not at all</source> + <translation>not at all</translation> + </message> + <message> + <source>before generating</source> + <translation>before generating</translation> + </message> + <message> + <source>after generating</source> + <translation>after generating</translation> + </message> + <message> + <source>before and after generating</source> + <translation>before and after generating</translation> + </message> + <message> + <source>Leet Level</source> + <translation>Leet Level</translation> + </message> + <message> + <source>Default Characters</source> + <translation>Default Characters</translation> + </message> + <message> + <source>Alphanumeric</source> + <translation>Alphanumeric</translation> + </message> + <message> + <source>Letters only</source> + <translation>Letters only</translation> + </message> + <message> + <source>Numbers only</source> + <translation>Numbers only</translation> + </message> + <message> + <source>Special only</source> + <translation>Special only</translation> + </message> + <message> + <source>Hex</source> + <translation>Hex</translation> + </message> + <message> + <source>Custom</source> + <translation>Custom</translation> + </message> + <message> + <source>Characters Preset</source> + <translation>Characters Preset</translation> + </message> + <message> + <source>Need at least 2 characters.</source> + <translation>Need at least 2 characters.</translation> + </message> + <message> + <source>Characters</source> + <translation>Characters</translation> + </message> + <message> + <source>Username</source> + <translation>Username</translation> + </message> + <message> + <source>Modifier</source> + <translation>Modifier</translation> + </message> + <message> + <source>Prefix</source> + <translation>Prefix</translation> + </message> + <message> + <source>Suffix</source> + <translation>Suffix</translation> </message> </context> <context> - <name>FirstPage</name> + <name>ProfilesPage</name> + <message> + <source>Add Profile</source> + <translation>Add Profile</translation> + </message> <message> - <source>Show Page 2</source> - <translation type="unfinished"></translation> + <source>Select/Edit Profiles</source> + <translation>Select/Edit Profiles</translation> </message> <message> - <source>UI Template</source> - <translation type="unfinished"></translation> + <source>Edit</source> + <translation>Edit</translation> </message> <message> - <source>Hello Sailors</source> - <translation type="unfinished"></translation> + <source>Remove</source> + <translation>Remove</translation> + </message> + <message> + <source>Saving profiles failed.</source> + <translation>Saving profiles failed.</translation> </message> </context> <context> - <name>SecondPage</name> + <name>SettingsEditor</name> + <message> + <source>Edit Settings</source> + <translation>Edit Settings</translation> + </message> + <message> + <source>Hide Generated Password</source> + <translation>Hide Generated Password</translation> + </message> + <message> + <source>Auto-clear generated password</source> + <translation>Auto-clear generated password</translation> + </message> + <message> + <source>Auto-clear generated pass timeout</source> + <translation>Auto-clear generated pass timeout</translation> + </message> + <message> + <source>Auto-clear master password</source> + <translation>Auto-clear master password</translation> + </message> <message> - <source>Nested Page</source> - <translation type="unfinished"></translation> + <source>Auto-clear master pass timeout</source> + <translation>Auto-clear master pass timeout</translation> </message> <message> - <source>Item</source> - <translation type="unfinished"></translation> + <source>Profiles can be edited directly in the profiles selector.</source> + <translation>Profiles can be edited directly in the profiles selector.</translation> </message> </context> </TS> |
