Skip to content

Latest commit

 

History

History
358 lines (272 loc) · 20.8 KB

README-ar.md

File metadata and controls

358 lines (272 loc) · 20.8 KB

Logo Saber

Get it on Google Play   Get it on F-Droid   Download on the App Store   Download for Windows   Download on Flathub   Get it as an AppImage

Unofficial packages: Get it from the Snap Store   [Get it from Fedora Copr][copr]

English | čeština | Deutsch | 中文 (简体中文, 中国) | 中文 (繁體, 台灣) | العربية

ان Saber هو تطبيق ملاحظات مصمم للكتابة اليدوية.

تم تصميمه ليكون بسيطًا وسهل الاستخدام قدر الإمكان، مع تقديم ميزات فريدة ستستخدمها بالفعل. بالإضافة إلى ذلك، يتوفر Saber على جميع أجهزتك، سواء الكبيرة أو الصغيرة، ويتزامن بينها بسلاسة.

أحد أبرز ميزاته هو القدرة على عكس ألوان الملاحظات عند استخدام وضع الظلام. هذا يتيح لك الكتابة بالحبر الأبيض على خلفية سوداء، مما يسهل القراءة في البيئات ذات الإضاءة المنخفضة، مثل عندما يقوم المعلم بإطفاء الأضواء في الفصل. يتم أيضًا عكس الصور وملفات الـ PDF، حتى تتمكن من استخدام المطبوعات الرقمية أو الكتب المدرسية بدون أي تعقيدات.

يستخدم Saber نظام حماية بكلمتي مرور لحماية ملاحظاتك من أي شخص غيرك، حتى لو كان لديه سيطرة كاملة على الخادم. يمكنك تخزين ملاحظاتك بأمان على الخادم الرسمي لـ Saber، أو على خادم آخر، أو حتى استضافة الخادم الخاص بك!

التطبيق مفتوح المصدر تمامًا، مما يسمح لأي شخص بمراجعة الكود وفهم كيفية عمله وكيفية تعامله مع بياناتك. العديد من تطبيقات تدوين الملاحظات الأخرى مغلقة المصدر وخاصة، مما يعني أن طريقة عملها تعتبر غامضة للجمهور.

بصفتي شخصًا يدرس الرياضيات، كان تمييز المعادلات متعددة الأسطر دائمًا أمرًا مزعجًا في التطبيقات الأخرى، حيث كان لون القلم الفسفوري يتغير عند تداخله مع نفسه. مشكلة أخرى واجهتها كانت في بعض التطبيقات، حيث يتم تمييز النص ويصبح باهتًا، مما يجعل من الصعب قراءته. قلم التمييز في Saber لا يعاني من مثل هذه المشاكل. فهو يستخدم تقنية تركيب اللوحات (Canvas Compositing) لرسم القلم بطريقة تتوافق أو تتفوق على الورق التقليدي، حيث يتعامل مع التداخلات ويحافظ على ثبات اللون.

يحتوي Saber على كل ما تحتاجه لتنظيم ملاحظاتك. يمكنك إنشاء مجلدات داخل مجلدات داخل مجلدات بدون حد لعدد المجلدات المتداخلة. وحتى لو كانت الملاحظة مدفونة بعمق داخل مجلد متداخل، لا يزال بإمكانك الوصول إليها بسهولة مع عرض أحدث ملاحظاتك دائمًا على الشاشة الرئيسية.

اكتشف طريقة جديدة تمامًا لالتقاط وتنظيم أفكارك مع Saber. سواء كنت طالبًا أو محترفًا أو ذو فكر إبداعي، فإن Saber هو رفيقك الموثوق للكتابة اليدوية الرقمية. قم بتنزيله الآن ودع أفكارك تتدفق بحرية!

GitHub release (latest by date) Flathub F-Droid GitHub all releases Flathub GitHub Sponsors GitHub codecov

اضغط لعرض/اخفاء صور التقاط الشاشة

المميزات

يرجى الاطلاع #1 Saber progress.

التنزيل

اضغط لعرض/اخفاء تعليمات التنزيل

اندرويد Android

خيارات:

1- تحميل من متجر Play.

2- تحميل من F-Droid.

لاحظ أن إصدار F-Droid غير مُحسّن لأجهزة Onyx Boox لأن ذلك يتطلب اعتماديات خاصة من Onyx.

3- قم بتنزيل وتثبيت Saber_{version}.apk من أحدث اصدار.

لينوكس Linux

الخيار 1 (موصى به): قم بتثبيت الحزمة المسطحة من Flathub باستخدام : flatpak --user install com.adilhanney.saber.

الخيار 2: قم بتنزيل Saber-{version}-x86_64.AppImage من اخر اصدار, واجعله قابلاً للتنفيذ باستخدام chmod +x Saber-*-x86_64.AppImage, ثم قم بتشغيله.

الخيار 3: هناك حزمة 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 من أحدث اصدار.

إذا ظهرت لك أخطاء بسبب ملفات dll المفقودة، تأكد من تثبيت Visual C++ Redistributable .

اجهزة الايفون iOS and macOS

قم بتنزيل Saber من متجر التطبيقات App Store.

البناء من المصدر

البناء من المصدر اضغط لعرض/إخفاء تعليمات البناء

1. قم بتثبيت flutter

https://docs.flutter.dev/get-started/install

2. قم استنساخ هذا المشروع

git clone https://github.com/saber-notes/saber.git

3. احصل على التبعيات dependencies

flutter pub get

4. قم بتثبيت التبعيات الإضافية additional dependencies

يمكن تلخيص إعداد الحزمة super_clipboard كالاتي:

  • قم بتثبيت Rust
  • قم بتثبيت 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 البناء باستخدام لينيكس بدلا من ذلك.

اندرويد Android

flutter build apk

قد تحتاج إلى إنشاء شهادة توقيع وإنشاء ملف android/key.properties. المزيد من المعلومات هنا: https://docs.flutter.dev/deployment/android#create-an-upload-keystore

ملاحظة: يتم بناء الإصدارات مفتوحة المصدر FOSS/F-Droid بطريقة مختلفة قليلاً:

./patches/remove_proprietary_dependencies.sh
flutter build apk

ويندوز Windows

flutter build windows

تم إنشاء مثبت ويندوز باستخدام Inno Setup. لإنشاء المثبت الخاص بك، قم بتشغيل أمر البناء أعلاه، ثم قم بتعديل وتشغيل installers/desktop_inno_script.iss باستخدام Inno Setup Compiler.

الايفون iOS and macOS

إذا كنت تمتلك جهاز macOS، يمكنك البناء لنظام iOS باستخدام الامر flutter build ipa او البناء لنظام macOS باستخدام flutter build macos.

إذا لم يكن لديك جهاز macOS، استنسخ هذا repo واستخدم GitHub Action Build for macOS and iOS. بدلاً من ذلك، اتبع هذا الفيديو التعليمي على اليوتيوب How to compile a flutter application to iPhone with no mac (free | no jailbreak) للبناء يدويًا باستخدام Codemagic.

روابط خارجية

الترجمة

جميع الترجمات مصدرها المجتمع. حتى الآن تم ترجمة تطبيق Saber إلى:

  • الانجليزية (en)
  • العربية (ar)
  • التشيكية (cs)
  • الالمانية (de)
  • الاسبانية (es)
  • الفارسية (fa)
  • الفرنسية (fr)
  • العبرية (he)
  • الهنغارية (hu)
  • الايطالية (it)
  • اليابانية (ja)
  • البرتغالية البرازيلية (pt_BR)
  • الروسية (ru)
  • التركية (tr)
  • الصينية المبسطة (zh_Hans_CN)
  • الصينية التقليدية (zh_Hant_TW)

قوم حاليًا بتجربة استخدام Weblate لترجمة التطبيق من قبل المجتمع. مزيد من المعلومات قريبًا.

توسيع اللغات الحالية

تحقق من _missing_translations.yaml لمعرفة ما إذا كانت هناك أي ترجمات مفقودة.

  1. استخدم هذا الرابط لتعديل _missing_translations.yaml.
  2. قم بتحديث ملف _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
    # ignore the other languages...
  3. قم بعمل pull request انا سأقوم بالباقي!

اضافة لغة جديدة

  1. ابحث عن كود اللغة الخاص بك هنا, ثل hi للهندية، fr للفرنسية، bn للبنغالية، ar للعربية، إلخ
  2. استخدم هذا الرابط لإنشاء ملف جديد في lib/i18n/ يدعى strings_XX.i18n.yaml حيث يمثل XX كود اللغة الخاصة بك.
  3. انسخ محتويات ملف موجود مثل lib/i18n/strings.i18n.yaml وقم باستبدال الترجمات بترجماتك الخاصة. إذا كنت لا تعرف الترجمة لعبارة ما، فقط احذف السطر.
  4. قم بعمل pull request!

انظر ايضا slang's Getting Started للحصول على مزيد من المعلومات.

ترجمة أوصاف المتاجر

لدينا صيغتان لأوصاف متجر التطبيقات:

  1. F-Droid/Play Store:

    1. قم بفتح metadata/en-US/ وانسخ الملفات full_description.txt و short_description.txt الى مجلد metadata/XX/ حيث XX هو كود اللغة الخاصة بك. ثم قم بترجمة محتويات الملفات.

    2. يتم ترجمة التغييرات تلقائيًا من النسخة الإنجليزية. إذا لاحظت خطأ، يرجى تعديل السجل المترجم في metadata/XX/changelogs/<version-code>.txt حيث XX كود اللغة الخاصة بك.

  2. لينيكس Linux .desktop file:

    1. افتح flatpak/com.adilhanney.saber.desktop وأضف سطرًا للمفتاح Comment بالتنسيق التالي حيث يمثل XX كود اللغة الخاصة بك.
    Comment[XX]=Your translation

إذا كنت بحاجة أيضًا إلى ترجمة المفتاح Name , قم بنفس الاجراء .

  1. (اختياري) Flathub :

    1.نظرًا لأن هذا أكثر تقنية، يمكنك تخطي جزء Flathub إذا كنت ترغب في ذلك وسأقوم بنسخ الترجمات من القسم أعلاه.

    1. في flatpak/com.adilhanney.saber.metainfo.xml قبل وسم الإغلاق </description> ,أضف سطرًا للترجمة بالتنسيق التالي حيث يمثل XX كود اللغة الخاصة بك:
    <p xml:lang="XX">Your translation</p>
    1. في نفس الملف، يمكنك ترجمة التغييرات بنفس الطريقة داخل وسوم <release> قبل وسم </description> .

دعم تطبيق Saber

If you like Saber, please consider supporting it by: -نشر الكلمة! -إضافة نجمة للمشروع على GitHub

ملاحظات التطوير

إظهار/إخفاء ملاحظات التطوير
  • عند تحديث اصدار التطبيق:
    • قم بتشغيل ./scripts/bump_version.sh <version-name> <version-code> (قم بتشغيل ./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 لترجمة سجل التغييرات.