English | čeština | Deutsch | 中文 (简体中文, 中国) | 中文 (繁體, 台灣) | العربية
Als der Entwickler von Saber freue ich mich dir eine App vorzustellen, die deine Art Notizen zu erstellen revolutionieren soll. Saber ist die ultimative handschriftliche Notizen-App, designt um deine Erfahrung beim Erstellen von Notizen zu verbessern! Erfreue dich an der Kunst der Handschrift und lasse mit dieser funktionsreichen, von modernen Technologien unterstützten App deiner Kreativität freien Lauf. Sabers intuitives und modernes Interface macht es spielend leicht Notizen niederzuschreiben, Diagramme zu zeichnen oder PDFs zu kommentieren.
Als ich anfing digitale Notizen zu machen, fand ich keine Open-Source-App die meinen Ansprüchen gerecht wurde und so landete ich erst bei einer proprietären App. Ich entschied mich dazu Saber zu erschaffen, um Menschen eine Open-Source-App als vertrauenswürdige Option zu schaffen. Saber ist komplett Open-Source, somit kann jede:r den Code auf Sicherheit und Datenschutz überprüfen. Saber verschlüsselt deine Daten und kann sie mit einem kompatiblen Server deiner Wahl synchronisieren, damit du die volle Kontrolle über deine Daten behälst.
Machst du lieber Notizen auf deinem Tablet und transferierst sie dann auf deinen Compoter oder bevorzugst du es Notizen auf deinem Laptop zu machen und auf deinem Tablet zu kommentieren? Egal wie dein Workflow aussieht, mit seinem Multi-Plattform-Support bietet Saber dir die Möglichkeit deine Notizen zu jeder Zeit, überall und auf jedem Gerät abzurufen. Saber ist verfügbar für Android, iOS, Windows, macOS und Linux, während deine Notizen automatisch auf all deinen Geräten synchronisiert werden. Falls du Offline bist, synchronisiert Saber deine Dateien automatisch sobald du wieder Online bist.
Saber unterstützt den besten digitalen Marker den du jemals verwendet hast. Hast du jemals mehrere Zeilen markieren müssen und warst genervt, wie die verschiedenen Marker überlappen und ihre Farbe ändern? Um Überlappungen zu handhaben und Farbtreue zu gewährleisten, macht sich Saber fortgeschrittenes Graphic-Processing zu nutze, um deine Marker-Erfahrung besser als auf traditionellem Papier zu gestalten.
Saber hat alles was du brauchst um deine Notizen zu organisieren. Erstelle Ordner innerhalb von Ordnern innerhalb von Ordnern nach Lust und Laune, mit keinem Limit an Verschachtelungen – egal in welchen Tiefen deiner Ordnerstrukturen eine Notiz abgespeichert wurde, kannst du sie ganz einfach über deine letzte Notizen, die immer auf dem Homescreen verfügbar sind, abrufen.
Saber invertiert deine Notizen intelligent, sobald du den Dark Mode nutzt. Das bedeutet, dass du deine gesamte Notizen-Erfahrung, inklusive deiner Bilder, im Dark Mode genießen kannst, wodurch ein beruhigendes und schlüssiges Interface in dunklen Umgebungen gewährleistet wird.
Entdecke einen völlig neuen Weg um mit Saber deine Gedanken zu sammeln und zu organisieren. Egal ob du studierst, arbeitest oder kreativ bist, Saber ist dein vertrauenswürdiger Begleiter fürs digitale von Hand schreiben. Starte jetzt den Download und lass deinen Ideen freien Lauf!
Bitte schaue dir [#1 Saber Progress][progess] an (derzeit nur in Englisch verfügbar).
Klicken um die Installationsanleitung ein- oder auszublenden
Optionen:
-
Download aus dem Play Store
-
Download aus F-Droid
- Der F-Droid-Build ist nicht für Onyx Boox-Geräte optimiert, da dies proprietäre Dependencies von Onyx benötigen würde.
-
Lade die
Saber_{version}.apk
vom aktuellen Release runter und installiere diese.
Option 1 (empfohlen):
Installiere das Flatpak von Flathub: flatpak --user install com.adilhanney.saber
.
Option 2:
Downloade das Saber-{version}-x86_64.AppImage
vom aktuellen Release,
mache es per chmod +x Saber-*-x86_64.AppImage
ausführbar und führe es dann aus.
Option 3:
Es gibt dank @soumyaDghosh ein inoffizielles snap.
sudo snap install saber
Lade die SaberInstaller_{version}.exe
vom aktuellen Release runter und führe diese aus.
Falls du „missing dll“-Fehler erhälst, stelle zuerst sicher, dass du Visual C++ Redistributable installiert hast.
Lade Saber vom App Store runter.
Klicken um die Build-Anleitung ein- oder auszublenden
https://docs.flutter.dev/get-started/install
git clone https://github.com/saber-notes/saber.git
flutter pub get
Das Setup für das super_clipboard-Paket kann wie folgt zusammengefasst werden:
- Installiere Rust
- Installiere NDK 26.1.10909125 falls du einen Build für Android erstellst
sudo apt install libsecret-1-dev libjsoncpp-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev webkit2gtk-4.1-dev
# Or for Fedora...
sudo dnf install libsecret-devel jsoncpp-devel gstreamer1-devel gstreamer1-plugins-base-devel webkit2gtk4.1-devel
flutter build linux
Dies ist ausreichend um es auf dem eigenen Computer zu benutzen, aber falls du deinen Build anderweitig zur Verfügung stellen möchtest, solltest du ein Predictable Environment verwenden: Forke dieses Repo und nutze stattdessen die Github-Aktion Build for Linux.
flutter build apk
Du musst eventuell ein signiertes Zertifikat genieren und eine android/key.properties
-Datei erstellen.
Mehr Informationen in der Flutter-Dokumentation.
Hinweis: F-Droid-Veröffentlichungen sind leicht anders gebuildet:
./patches/remove_proprietary_dependencies.sh
flutter build apk --dart-define=OFFLINE_FONTS_ONLY="true"
flutter build windows
Der Windows-Installer wurde mit Inno Setup erstellt. Um einen eigenen Installer zu kreieren, führe das oben genannte Kommando aus, dann editiere und führe installers/desktop_inno_script.iss mit dem Inno Setup-Compiler aus.
Falls du einen macOS-Computer hast, kannst du mit flutter build ipa
für iOS builden
oder mit flutter build macos
für macOS builden.
Falls nicht, forke dieses Repo und benutze die Github-Aktion Build for macOS and iOS. Alternativ kannst du diesem englischsprachigen Youtube-Tutorial How to compile a flutter application to iPhone with no mac (free | no jailbreak) folgen, um manuell mit Codemagic zu builden.
Alle Übersetzungen sind crowd-sourced. Saber wurde bisher in die folgenden Sprachen übersetzt:
- Englisch (en)
- Arabisch (ar)
- Tschechisch (cs)
- Deutsch (de)
- Spanisch (es)
- Persisch (fa)
- Französisch (fr)
- Ungarisch (hu)
- Italienisch (it)
- Japanisch (ja)
- Brazilianisch Portuguese (pt_BR)
- Russisch (ru)
- Türkisch (tr)
- Chinesisch (vereinfacht) (zh_Hans_CN)
- Chinesisch (traditionell) (zh_Hant_TW)
Besuche _missing_translations.yaml um zu überprüfen ob Übersetzungen fehlen.
- Benutze diesen Link
um
_missing_translations.yaml
zu editieren. - Update deine
_missing_translations.yaml
mit deinen Übersetzungen, z. B. für Deutsch:de: editor: newerFileFormat: title: Diese Notiz wurde mit einer neueren Version von Saber bearbeitet subtitle: Wenn du diese Notiz bearbeitest, können Daten verloren gehen. Möchtest du die Notiz trotzdem öffnen? openAnyway: Trotzdem öffnen cancel: Abbruch # ignore the other languages...
- Öffne einen Pull-Request! Ich erledige den Rest.
- Suche hier nach den zweistelligen Locale-Codes,
z. B.
hi
für Hindi,fr
für Französisch,bn
für Bengalisch,ar
für Arabisch, etc. - Benutze diesen Link
um eine neue Datei in
lib/i18n/
mit dem Namenstrings_XX.i18n.yaml
zu erstellen, wobeiXX
der herausgesuchte Locale-Code ist. - Kopiere den Inhalt in eine existierende Datei, wie z. B.
lib/i18n/strings.i18n.yaml
und ersetze diese mit deiner Eigenen. Falls du keine Übersetzung für die jeweilige Zeile kennst, lösche sie einfach. - Öffne einen Pull-Request!
Besuche slang
's Getting Started für mehr Informationen
Wir haben zwei Formate für App Store-Beschreibungen:
-
F-Droid/Play Store:
i. Öffne
metadata/en-US/
und kopiere diefull_description.txt
- undshort_description.txt
-Dateien in denmetadata/XX/
-Datei, wobeiXX
der herausgesuchte Locale-Code ist. Übersetze dann die Inhalte der Dateien.ii. Changelogs werden automatisch aus der englischen Version übersetzt. Falls du einen Fehler entdeckst, bearbeite bitte das übersetzte Changelog in
metadata/XX/changelogs/<version-code>.txt
, wobeiXX
der herausgesuchte Locale-Code ist. -
Linux .desktop-Datei:
i. Öffne
flatpak/com.adilhanney.saber.desktop
und füge eine Zeile für denComment
-Key mit dem folgenden Format ein, wobeiXX
der herausgesuchte Locale-Code ist:Comment[XX]=Deine Übersetzung
Falls du außerdem den
Name
-Key übersetzen musst, wiederhole die Schritte für eben diesen. -
Flathub (optional):
i. Da der Flathub-Teil etwas technischer ist, kannst du diesen überspringen und ich kopiere die Übersetzungen aus der vorherigen Sektion.
ii. Füge in
flatpak/com.adilhanney.saber.metainfo.xml
vor dem</description>
-Closing-Tag eine Zeile für deine Übersetzung mit dem folgenden Format ein, wobeiXX
der herausgesuchte Locale-Code:<p xml:lang="XX">Deine Übersetzung</p>
iii. Du kannst die Changelogs in der gleichen Datei übersetzen, indem du das Gleiche in den
<release>
-Tags vor den<description>
-Closing-Tags machst.
Falls dir Saber gefällt, bitte denke darüber nach das Projekt wie folgt zu unterstützen:
- Erzähle deinen Freund:innen von Saber!
- Gib dem Projekt auf Github einen Stern!
- Unterstütze mich finanziell über GitHub Sponsors.
- Spende über PayPal.
- Kaufe mehr Speicherplatz auf der Nextcloud. Mehr Informationen unter Pricing.
Klicken um die Entwicklungshinweise ein- oder ausblenden
- Beim Update der app version:
- Führe
./scripts/bump_version.sh <version-name> <version-code>
aus (führe./scripts/bump_version.sh --help
für mehr Informationen aus) - Update die Changelogs in
metadata/en-US/changelogs/
undflatpak/com.adilhanney.saber.metainfo.xml
und führedart scripts/translate_changelogs.dart
nach Anleitung des Skripts aus.
- Führe
- Führe beim Update der icons folgende Befehle aus:
- General:
dart run icons_launcher:create
- Flatpak icons:
cd assets/icon && ./resize-icon.sh
- General:
- Beim Update der translations...
- ...führe die folgenden Befehle aus:
dart run slang apply --locale=XX
(falls du die _missing_translations.yaml anwenden musst)dart run slang
dart run slang analyze --full
- ...falls du eine neue Sprache hinzufügst, update:
CFBundleLocalizations
inios/Runner/Info.plist
CFBundleLocalizations
inmacos/Runner/Info.plist
android/app/src/main/res/xml/locales_config.xml
lib/data/locales.dart
- die Sektion „Übersetzungen“ in der
README.md
- und führe
dart scripts/translate_changelogs.dart
aus, um das Changelog zu übersetzen.
- ...führe die folgenden Befehle aus: