Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saber-notes/saber
The cross-platform open-source app built for handwriting
https://github.com/saber-notes/saber
android cross-platform dart f-droid flatpak flutter handwritten-notes ios linux macos notes notes-app saber windows
Last synced: 6 days ago
JSON representation
The cross-platform open-source app built for handwriting
- Host: GitHub
- URL: https://github.com/saber-notes/saber
- Owner: saber-notes
- License: gpl-3.0
- Created: 2022-07-22T03:39:01.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-27T14:58:06.000Z (3 months ago)
- Last Synced: 2024-10-29T15:35:08.061Z (3 months ago)
- Topics: android, cross-platform, dart, f-droid, flatpak, flutter, handwritten-notes, ios, linux, macos, notes, notes-app, saber, windows
- Language: Dart
- Homepage: https://saber.adil.hanney.org
- Size: 125 MB
- Stars: 2,175
- Watchers: 17
- Forks: 139
- Open Issues: 242
-
Metadata Files:
- Readme: README-ar.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-list - saber-notes/saber - The cross-platform open-source app built for handwriting (Dart)
README
# Saber
[][google_play]
[][f-droid]
[][app_store]
[][download_windows]
[][flathub]
[][download_appimage]Unofficial packages:
[][snap]
[][copr][English](https://github.com/saber-notes/saber/blob/main/README.md) |
[čeština](https://github.com/saber-notes/saber/blob/main/README-cs.md) |
[Deutsch](https://github.com/saber-notes/saber/blob/main/README-de.md) |
[中文 (简体中文, 中国)](https://github.com/saber-notes/saber/blob/main/README-zh-CN.md) |
[中文 (繁體, 台灣)](https://github.com/saber-notes/saber/blob/main/README-zh-TW.md) |
[العربية](https://github.com/saber-notes/saber/blob/main/README-ar.md)ان Saber هو تطبيق ملاحظات مصمم للكتابة اليدوية.
تم تصميمه ليكون بسيطًا وسهل الاستخدام قدر الإمكان، مع تقديم ميزات فريدة ستستخدمها بالفعل. بالإضافة إلى ذلك، يتوفر Saber على جميع أجهزتك، سواء الكبيرة أو الصغيرة، ويتزامن بينها بسلاسة.
أحد أبرز ميزاته هو القدرة على عكس ألوان الملاحظات عند استخدام وضع الظلام. هذا يتيح لك الكتابة بالحبر الأبيض على خلفية سوداء، مما يسهل القراءة في البيئات ذات الإضاءة المنخفضة، مثل عندما يقوم المعلم بإطفاء الأضواء في الفصل. يتم أيضًا عكس الصور وملفات الـ PDF، حتى تتمكن من استخدام المطبوعات الرقمية أو الكتب المدرسية بدون أي تعقيدات.
يستخدم Saber نظام حماية بكلمتي مرور لحماية ملاحظاتك من أي شخص غيرك، حتى لو كان لديه سيطرة كاملة على الخادم. يمكنك تخزين ملاحظاتك بأمان على الخادم الرسمي لـ Saber، أو على خادم آخر، أو حتى استضافة الخادم الخاص بك!
التطبيق مفتوح المصدر تمامًا، مما يسمح لأي شخص بمراجعة الكود وفهم كيفية عمله وكيفية تعامله مع بياناتك. العديد من تطبيقات تدوين الملاحظات الأخرى مغلقة المصدر وخاصة، مما يعني أن طريقة عملها تعتبر غامضة للجمهور.
بصفتي شخصًا يدرس الرياضيات، كان تمييز المعادلات متعددة الأسطر دائمًا أمرًا مزعجًا في التطبيقات الأخرى، حيث كان لون القلم الفسفوري يتغير عند تداخله مع نفسه. مشكلة أخرى واجهتها كانت في بعض التطبيقات، حيث يتم تمييز النص ويصبح باهتًا، مما يجعل من الصعب قراءته. قلم التمييز في Saber لا يعاني من مثل هذه المشاكل. فهو يستخدم تقنية تركيب اللوحات (Canvas Compositing) لرسم القلم بطريقة تتوافق أو تتفوق على الورق التقليدي، حيث يتعامل مع التداخلات ويحافظ على ثبات اللون.
يحتوي Saber على كل ما تحتاجه لتنظيم ملاحظاتك. يمكنك إنشاء مجلدات داخل مجلدات داخل مجلدات بدون حد لعدد المجلدات المتداخلة. وحتى لو كانت الملاحظة مدفونة بعمق داخل مجلد متداخل، لا يزال بإمكانك الوصول إليها بسهولة مع عرض أحدث ملاحظاتك دائمًا على الشاشة الرئيسية.
اكتشف طريقة جديدة تمامًا لالتقاط وتنظيم أفكارك مع Saber. سواء كنت طالبًا أو محترفًا أو ذو فكر إبداعي، فإن Saber هو رفيقك الموثوق للكتابة اليدوية الرقمية. قم بتنزيله الآن ودع أفكارك تتدفق بحرية!
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/saber-notes/saber)](https://github.com/saber-notes/saber/releases/latest)
[![Flathub](https://img.shields.io/flathub/v/com.adilhanney.saber)](https://flathub.org/apps/details/com.adilhanney.saber)
[![F-Droid](https://img.shields.io/f-droid/v/com.adilhanney.saber)](https://f-droid.org/en/packages/com.adilhanney.saber/)
[![GitHub all releases](https://img.shields.io/github/downloads/saber-notes/saber/total?label=GitHub%20downloads)](https://github.com/saber-notes/saber/releases)
[![Flathub](https://img.shields.io/flathub/downloads/com.adilhanney.saber?label=Flathub%20downloads)](https://flathub.org/apps/details/com.adilhanney.saber)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/adil192)](https://github.com/sponsors/adil192)
[![GitHub](https://img.shields.io/github/license/saber-notes/saber)](https://github.com/saber-notes/saber/blob/main/LICENSE.md)
[![codecov](https://codecov.io/gh/saber-notes/saber/branch/main/graph/badge.svg?token=EGQSN0THW2)](https://codecov.io/gh/saber-notes/saber)اضغط لعرض/اخفاء صور التقاط الشاشة
## المميزات
يرجى الاطلاع [#1 Saber progress][progress].
## التنزيل
اضغط لعرض/اخفاء تعليمات التنزيل
#### اندرويد Android
خيارات:
1- تحميل من متجر Play.
2- تحميل من F-Droid.
لاحظ أن إصدار F-Droid غير مُحسّن لأجهزة Onyx Boox لأن ذلك يتطلب
[ اعتماديات خاصة](https://github.com/saber-notes/saber/issues/219) من Onyx.3- قم بتنزيل وتثبيت `Saber_{version}.apk` من أحدث [اصدار][releases].
#### لينوكس Linux
الخيار 1 (موصى به): قم بتثبيت الحزمة المسطحة من [Flathub][flathub] باستخدام : `flatpak --user install com.adilhanney.saber`.
الخيار 2:
قم بتنزيل `Saber-{version}-x86_64.AppImage` من اخر [اصدار][releases],
واجعله قابلاً للتنفيذ باستخدام `chmod +x Saber-*-x86_64.AppImage`, ثم قم بتشغيله.الخيار 3:
هناك حزمة [snap][snap] غير رسمية متوفرة بفضل @soumyaDghosh.
باستخدام `sudo snap install saber`الخيار 4:
There's an unofficial Fedora Copr [repo][copr] available thanks to @jyo64.
`sudo dnf copr enable jyo64/Saber && sudo dnf install saber`#### ويندوز Windows
قم بتنزيل وتثبيت `SaberInstaller_{version}.exe` من أحدث [اصدار][releases].
إذا ظهرت لك أخطاء بسبب ملفات dll المفقودة، تأكد من تثبيت [Visual C++ Redistributable](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist) .
#### اجهزة الايفون iOS and macOS
قم بتنزيل Saber من متجر التطبيقات [App Store][app_store].
## البناء من المصدر
البناء من المصدر
اضغط لعرض/إخفاء تعليمات البناء### 1. قم بتثبيت flutter
https://docs.flutter.dev/get-started/install
### 2. قم استنساخ هذا المشروع```bash
git clone https://github.com/saber-notes/saber.git
```
### 3. احصل على التبعيات dependencies
```bash
flutter pub get
```### 4. قم بتثبيت التبعيات الإضافية additional dependencies
يمكن تلخيص إعداد الحزمة [super_clipboard](https://pub.dev/packages/super_clipboard)
كالاتي:
- قم بتثبيت [Rust](https://www.rust-lang.org/tools/install)
- قم بتثبيت NDK 26.1.10909125 إذا كنت تقوم بالبناء لنظام Android
### 5. البناء لـ...#### لينكس Linux
`sudo apt install libsecret-1-dev libjsoncpp-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev webkit2gtk-4.1-dev`
`flutter build linux`هذا يكفي لاستخدام التطبيق على جهاز الكمبيوتر الخاص بك، ولكن إذا كنت ترغب في توزيع بنائك، عليك استخدام بيئة قابلة للتنبؤ: استنسخ هذا repo واستخدم GitHub Action
[البناء باستخدام لينيكس](https://github.com/saber-notes/saber/actions/workflows/linux.yml) بدلا من ذلك.#### اندرويد Android
`flutter build apk`
قد تحتاج إلى إنشاء شهادة توقيع وإنشاء ملف android/key.properties. المزيد من المعلومات هنا: https://docs.flutter.dev/deployment/android#create-an-upload-keystore
ملاحظة:
يتم بناء الإصدارات مفتوحة المصدر FOSS/[F-Droid][f-droid-manifest] بطريقة مختلفة قليلاً:
```bash
./patches/remove_proprietary_dependencies.sh
flutter build apk
```#### ويندوز Windows
`flutter build windows`
تم إنشاء مثبت ويندوز باستخدام [Inno Setup](https://jrsoftware.org/isinfo.php).
لإنشاء المثبت الخاص بك، قم بتشغيل أمر البناء أعلاه، ثم قم بتعديل وتشغيل
[installers/desktop_inno_script.iss](https://github.com/saber-notes/saber/blob/main/installers/desktop_inno_script.iss)
باستخدام Inno Setup Compiler.#### الايفون iOS and macOS
إذا كنت تمتلك جهاز macOS، يمكنك
[البناء لنظام iOS ](https://docs.flutter.dev/deployment/ios#create-an-app-bundle)
باستخدام الامر `flutter build ipa` او
[البناء لنظام macOS](https://docs.flutter.dev/deployment/macos#create-a-build-archive-with-xcode)
باستخدام `flutter build macos`.إذا لم يكن لديك جهاز macOS، استنسخ هذا repo واستخدم GitHub Action
[Build for macOS and iOS](https://github.com/saber-notes/saber/actions/workflows/apple.yml).
بدلاً من ذلك، اتبع هذا الفيديو التعليمي على اليوتيوب
[How to compile a flutter application to iPhone with no mac (free | no jailbreak)](https://www.youtube.com/watch?v=m3_6z2wfHiY)
للبناء يدويًا باستخدام [Codemagic](https://codemagic.io/start/).## روابط خارجية
- [Nextcloud server][nextcloud]
- [Privacy policy][privacy]
- [License][license]
- [Releases][releases]## الترجمة
جميع الترجمات مصدرها المجتمع. حتى الآن تم ترجمة تطبيق Saber إلى:
- الانجليزية ([en](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings.i18n.yaml))
- العربية ([ar](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_ar.i18n.yaml))
- التشيكية ([cs](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_cs.i18n.yaml))
- الالمانية ([de](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_de.i18n.yaml))
- الاسبانية ([es](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_es.i18n.yaml))
- الفارسية ([fa](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_fa.i18n.yaml))
- الفرنسية ([fr](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_fr.i18n.yaml))
- العبرية ([he](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_he.i18n.yaml))
- الهنغارية ([hu](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_hu.i18n.yaml))
- الايطالية ([it](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_it.i18n.yaml))
- اليابانية ([ja](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_ja.i18n.yaml))
- البرتغالية البرازيلية ([pt_BR](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_pt_BR.i18n.yaml))
- الروسية ([ru](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_ru.i18n.yaml))
- التركية ([tr](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_tr.i18n.yaml))
- الصينية المبسطة ([zh_Hans_CN](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_zh_Hans_CN.i18n.yaml))
- الصينية التقليدية ([zh_Hant_TW](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings_zh_Hant_TW.i18n.yaml))قوم حاليًا بتجربة استخدام
[Weblate](https://hosted.weblate.org/projects/saber-notes/saber/)
لترجمة التطبيق من قبل المجتمع. مزيد من المعلومات قريبًا.
### توسيع اللغات الحاليةتحقق من [_missing_translations.yaml](https://github.com/saber-notes/saber/blob/main/lib/i18n/_missing_translations.yaml)
لمعرفة ما إذا كانت هناك أي ترجمات مفقودة.
1. استخدم [هذا الرابط](https://github.com/saber-notes/saber/edit/main/lib/i18n/_missing_translations.yaml)
لتعديل `_missing_translations.yaml`.
2. قم بتحديث ملف `_missing_translations.yaml` الخاص بك مع الترجمات، على سبيل المثال تحديث اللغة الألمانية (de):
```yaml
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...
```
3. قم بعمل pull request انا سأقوم بالباقي!### اضافة لغة جديدة
1. ابحث عن كود اللغة الخاص بك [هنا](https://saimana.com/list-of-country-locale-code/),
ثل hi للهندية، fr للفرنسية، bn للبنغالية، ar للعربية، إلخ
2. استخدم [هذا الرابط](https://github.com/saber-notes/saber/new/main/lib/i18n/)
لإنشاء ملف جديد في `lib/i18n/` يدعى `strings_XX.i18n.yaml`
حيث يمثل `XX` كود اللغة الخاصة بك.
3. انسخ محتويات ملف موجود مثل
[`lib/i18n/strings.i18n.yaml`](https://github.com/saber-notes/saber/blob/main/lib/i18n/strings.i18n.yaml)
وقم باستبدال الترجمات بترجماتك الخاصة. إذا كنت لا تعرف الترجمة لعبارة ما، فقط احذف السطر.
4. قم بعمل pull request!انظر ايضا [`slang`'s Getting Started](https://pub.dev/packages/slang#getting-started) للحصول على مزيد من المعلومات.
### ترجمة أوصاف المتاجر
لدينا صيغتان لأوصاف متجر التطبيقات:
1. F-Droid/Play Store:1. قم بفتح `metadata/en-US/` وانسخ الملفات
[`full_description.txt`](https://github.com/saber-notes/saber/blob/main/metadata/en-US/full_description.txt)
و
[`short_description.txt`](https://github.com/saber-notes/saber/blob/main/metadata/en-US/short_description.txt)
الى مجلد `metadata/XX/` حيث `XX` هو كود اللغة الخاصة بك.
ثم قم بترجمة محتويات الملفات.2. يتم ترجمة التغييرات تلقائيًا من النسخة الإنجليزية. إذا لاحظت خطأ، يرجى تعديل السجل المترجم في
`metadata/XX/changelogs/.txt` حيث `XX` كود اللغة الخاصة بك.2. لينيكس Linux .desktop file:
1. افتح
[`flatpak/com.adilhanney.saber.desktop`](https://github.com/saber-notes/saber/blob/main/flatpak/com.adilhanney.saber.desktop)
وأضف سطرًا للمفتاح `Comment` بالتنسيق التالي حيث يمثل `XX` كود اللغة الخاصة بك.
```ini
Comment[XX]=Your translation
```
إذا كنت بحاجة أيضًا إلى ترجمة المفتاح `Name` , قم بنفس الاجراء .3. (اختياري) Flathub :
1.نظرًا لأن هذا أكثر تقنية، يمكنك تخطي جزء Flathub إذا كنت ترغب في ذلك وسأقوم بنسخ الترجمات من القسم أعلاه.
2. في [`flatpak/com.adilhanney.saber.metainfo.xml`](https://github.com/saber-notes/saber/blob/main/flatpak/com.adilhanney.saber.metainfo.xml)
قبل وسم الإغلاق `` ,أضف سطرًا للترجمة بالتنسيق التالي حيث يمثل `XX` كود اللغة الخاصة بك:
```html
Your translation
```3. في نفس الملف، يمكنك ترجمة التغييرات بنفس الطريقة داخل وسوم `` قبل وسم `` .
## دعم تطبيق Saber
If you like Saber, please consider supporting it by:
-نشر الكلمة!
-إضافة نجمة للمشروع على GitHub
- رعايتي على [GitHub Sponsors](https://github.com/sponsors/adil192)
- التبرع عبر [PayPal](https://paypal.me/adilhanney)
- شراء المزيد من مساحة التخزين على خادم Nextcloud: انظر [الاسعار](pricing.md)## ملاحظات التطوير
إظهار/إخفاء ملاحظات التطوير
- عند تحديث **اصدار التطبيق**:
- قم بتشغيل `./scripts/bump_version.sh `
(قم بتشغيل `./scripts/bump_version.sh --help`لمزيد من المعلومات)
- عند تحديث إصدار التطبيق: `metadata/en-US/changelogs/`
و `flatpak/com.adilhanney.saber.metainfo.xml`,
ثم قم بتشغيل `dart scripts/translate_changelogs.dart` كما يوجهك سكريبت الاوامر.
- عند تحديث **الايقونات **, قم بتشغيل الأوامر التالية:
- عام: `dart run icons_launcher:create`
- ايقونات Flatpak : `cd assets/icon && ./resize-icon.sh`
- عند تحديث **الترجمات**...
-قم بتشغيل الأوامر التالية:
- `dart run slang apply --locale=XX` اذا كنت تريد تطبيق _missing_translations.yaml
- `dart run slang`
- `dart run slang analyze --full`
- إذا كنت تضيف لغة جديدة، قم بتحديث:
- `CFBundleLocalizations` في `ios/Runner/Info.plist`
- `CFBundleLocalizations` في `macos/Runner/Info.plist`
- `android/app/src/main/res/xml/locales_config.xml`
- `lib/data/locales.dart`
- `README.md` في الاعلى في قسم "Translating" .
- ثم قم بتشغيل `dart scripts/translate_changelogs.dart` لترجمة سجل التغييرات.[f-droid]: https://f-droid.org/packages/com.adilhanney.saber/
[flathub]: https://flathub.org/apps/details/com.adilhanney.saber
[google_play]: https://play.google.com/store/apps/details?id=com.adilhanney.saber
[snap]: https://snapcraft.io/saber
[app_store]: https://apps.apple.com/us/app/saber/id1671523739
[download_windows]: https://github.com/saber-notes/saber/releases/download/v0.25.3/SaberInstaller_v0.25.3.exe
[download_appimage]: https://github.com/saber-notes/saber/releases/download/v0.25.3/Saber-0.25.3-x86_64.AppImage[nextcloud]: https://nc.saber.adil.hanney.org/
[privacy]: https://github.com/saber-notes/saber/blob/main/privacy_policy.md
[license]: https://github.com/saber-notes/saber/blob/main/LICENSE.md[releases]: https://github.com/saber-notes/saber/releases
[issues]: https://github.com/saber-notes/saber/issues
[progress]: https://github.com/saber-notes/saber/discussions/1[f-droid-manifest]: https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/com.adilhanney.saber.yml