English | čeština | Deutsch | 中文 (简体中文, 中国) | 中文 (繁體, 台灣) | العربية
Saber是一個專為手寫而生的筆記應用程式。
它被設計得盡可能簡單和直觀,同時仍提供您實際會使用的獨特功能。此外,Saber可以在您所有的設備上使用,無論大小,並在它們之間無縫同步。
值得注意的是,當您處於深色模式時,它可以反轉您的筆記。這使您可以在黑色背景上用白色墨水書寫,這在低光源環境下,例如老師在課堂上關燈時,對眼睛更加友好。圖片和PDF文件也會反轉,因此您仍然可以使用數位教科書而無需煩惱。
Saber使用雙密碼系統來保護您的筆記,使其只能被您存取,即使有人對伺服器擁有完全控制權也是如此。您可以安全地將筆記存儲在官方的Saber伺服器上,或者是其他伺服器,甚至是自己搭建!
本應用程式是完全開源的,任何人都可以查看原始碼,了解它的具體運作方式以及如何處理您的資料。許多其他筆記應用程式是閉源和專有的,這意味著它們的內部運作對公眾來說是一個謎。
作為一名數學生,我在其他應用中經常遇到的問題之一是,使用其他應用時,突出顯示多行方程總是很麻煩,因為突出顯示在重疊時會改變顏色。我遇到的另一個問題是,在某些應用程式中,突出顯示會在文字上方渲染,將其淡化,使其難以閱讀。Saber的突出顯示沒有這些問題。它使用的畫布合成技術以一種優於傳統紙張相一致的方式呈現突出顯示,在處理重疊時保持顏色一致。
Saber具有使筆記井井有條所需的一切功能。在無限嵌套的資料夾中創建資料夾,盡情發揮您的創意,而且對於嵌套資料夾的數量沒有限制。即使筆記可能深藏在嵌套的資料夾中,您仍然可以輕鬆存取,因為最近的筆記始終顯示在主螢幕上。
透過Saber,發現一種全新的捕捉和組織思緒的方式。無論您是學生、專業人士還是具有創造力的思維者,Saber都是您在數位手寫中信賴的伙伴。立即下載,讓您的思想自由流暢!
點擊顯示/隱藏安裝說明
選項:
-
從 Play 商店 下載
-
從 F-Droid 下載
- 請注意,F-Droid 版本並未針對 Onyx Boox 裝置進行最佳化,因為這需要來自 Onyx 的 專有依賴項。
-
從最新的 Release 下載並安裝
Saber_{version}.apk
。
選項 1(推薦):
從 Flathub 安裝 flatpak: flatpak --user install com.adilhanney.saber
。
選項 2:
從最新的 Release 下載 Saber-{version}-x86_64.AppImage
,
使用 chmod +x Saber-*-x86_64.AppImage
使其可執行,然後運行它。
選項 3:
感謝 @soumyaDghosh,有一個非官方的 snap 可用。
sudo snap install saber
從最新的 Release 下載並安裝 SaberInstaller_{version}.exe
。
如果出現缺少 dll 錯誤,請確保安裝了 Visual C++ Redistributable。
在 App Store 下載 Saber。
點擊以顯示/隱藏構建說明
https://docs.flutter.dev/get-started/install
git clone https://github.com/saber-notes/saber.git
flutter pub get
super_clipboard 的設定 套件可以概括為: -安裝 Rust -如果您正在針對 Android 進行構建,請安裝 NDK 26.1.10909125
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
這足以在您自己的電腦上使用,但如果您想重新分發您的構建, 您需要使用可預測的環境:分叉此倉庫並使用 GitHub Action 為 Linux 構建。
flutter build apk
您可能需要生成簽名證書並創建 android/key.properties
檔案。
有關 https://docs.flutter.dev/deployment/android#create-an-upload-keystore 的更多資訊
注意:F-Droid 版本的構建略有不同:
./patches/remove_proprietary_dependencies.sh
flutter build apk --dart-define=OFFLINE_FONTS_ONLY="true"
flutter build windows
Windows 安裝程式是使用 Inno Setup 創建的。 要創建您自己的安裝程式,請運行上面的構建指令,然後編輯並運行 installers/desktop_inno_script.iss 使用 Inno 安裝編譯器。
如果您有 macOS 電腦,您可以
針對 iOS 構建
使用 flutter build ipa
或
針對 macOS 構建
使用 flutter build macos
。
如果不這樣做,請分叉此倉庫並使用 GitHub Action 針對 macOS 和 iOS 構建。 或者,按照此 YouTube 教學進行操作 How to compile a flutter application to iPhone with no mac (free | no jailbreak) 使用 Codemagic 手動構建。
所有翻譯都是群眾外包的。 Saber 目前已被翻譯成:
- 英文 (en)
- 阿拉伯文 (ar)
- 捷克文 (cs)
- 德文 (de)
- 西班牙文 (es)
- 波斯文 (fa)
- 法文 (fr)
- 匈牙利文 (hu)
- 義大利文 (it)
- 日文 (ja)
- 葡萄牙語(巴西) (pt_BR)
- 俄文 (ru)
- 土耳其文 (tr)
- 簡體中文 (zh_Hans_CN)
- 繁體中文 (zh_Hant_TW)
檢查 _missing_translations.yaml 是否缺少任何翻譯。
- 使用此連結編輯
_missing_translations.yaml
。 - 使用您的翻譯更新您的
_missing_translations.yaml
檔案,例如更新德文 (de)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 # 忽略其他語言...
- 打開拉取請求,剩下的我來做!
- 在此處查找您的區域代碼,例如
hi
代表印地文,fr
代表法文,bn
代表孟加拉文,ar
代表阿拉伯文,等等。 - 使用此連結在
lib/i18n/
中創建一個名為strings_XX.i18n.yaml
的新檔案,其中XX
是您的區代域碼。 - 複製現有檔案的內容,例如
lib/i18n/strings.i18n.yaml
,並將字串替換為您自己的翻譯。如果您不知道字串的翻譯,只需刪除該行即可。 - 打開拉取請求!
另請參閱 slang
's Getting Started 了解更多資訊。
我們有 2 種應用程式商店的描述格式:
-
F-Droid/Play Store:
i. 打開
metadata/en-US/
並複制full_description.txt
和short_description.txt
檔案放入metadata/XX/
資料夾,其中XX
是您的區域代碼。然後翻譯檔案的內容。ii. 變更日誌會自動從英文版本翻譯,如果您發現錯誤,請編輯翻譯後的變更日誌
metadata/XX/changelogs/<version-code>.txt
其中XX
是您的區域代碼。 -
Linux .desktop 檔案:
i. 打開
flatpak/com.adilhanney.saber.desktop
並使用以下格式為Comment
鍵添加一行,其中XX
是您的區域代碼:Comment[XX]=您的翻譯
如果您還需要翻譯
Name
鍵,請執行相同的操作。 -
Flathub (選擇性):
i. 由於技術性稍強,您可以跳過 Flathub 部分,我將複製上一步的翻譯。
ii. 在
flatpak/com.adilhanney.saber.metainfo.xml
在</description>
標記之前,添加一行翻譯內容,使用以下格式,其中XX
是您的區域代碼:<p xml:lang="XX">您的翻譯</p>
iii. 在同一個檔案中,您可以透過執行相同的操作來翻譯變更日誌位於
<release>
標籤中</description>
標籤之前的內容。
如果您喜歡 Saber,請考慮通過以下方式支持它:
- 傳播這個詞!
- 在 GitHub 上為該倉庫加星標
- 在 GitHub Sponsors 上贊助
- 通過 PayPal 贊助
- 在 Nextcloud 伺服器上購買更多存儲空間,請參閱定價
顯示/隱藏開發筆記
- When updating the app version:
- Run
./scripts/bump_version.sh <version-name> <version-code>
(Run./scripts/bump_version.sh --help
for more info) - Update the changelogs in
metadata/en-US/changelogs/
andflatpak/com.adilhanney.saber.metainfo.xml
, and rundart scripts/translate_changelogs.dart
as directed by the script.
- Run
- When updating the icons, run the following commands:
- General:
dart run icons_launcher:create
- Flatpak icons:
cd assets/icon && ./resize-icon.sh
- General:
- When updating the translations...
- Run the following commands:
dart run slang apply --locale=XX
if you need to apply _missing_translations.yamldart run slang
dart run slang analyze --full
- If you're adding a new language, update:
CFBundleLocalizations
inios/Runner/Info.plist
CFBundleLocalizations
inmacos/Runner/Info.plist
android/app/src/main/res/xml/locales_config.xml
lib/data/locales.dart
README.md
above in the "Translating" section.- and run
dart scripts/translate_changelogs.dart
to translate the changelog.
- Run the following commands: