Skip to content

Commit

Permalink
🎨 Support local file system sync & backup (#13663)
Browse files Browse the repository at this point in the history
* 🎨 Use local file system sync & backup

* ⬆️ dejavu

* 🎨 Add the settings panel of local file system sync & backup

* 📝 Update user guides of local file system sync & backup

* 🎨 Adjust supported runtime environments
  • Loading branch information
Zuoqiu-Yingyi authored Dec 31, 2024
1 parent 0386bc9 commit 6ee4705
Show file tree
Hide file tree
Showing 27 changed files with 408 additions and 32 deletions.
5 changes: 4 additions & 1 deletion app/appearance/langs/ar_SA.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"localFlieSystem": "نظام الملفات المحلي",
"deviceNotSupport": "الجهاز الحالي غير مدعوم",
"second": "ثانية",
"syncInterval": "الفاصل الزمني للمزامنة",
"syncIntervalTip": "مزامنة البيانات تلقائياً بعد أن توقف عن التغيير",
Expand Down Expand Up @@ -475,6 +477,7 @@
"syncOfficialProviderIntro": "‫المحدد حاليا هو خدمة تخزين السحابة التي توفرها رسميا SiYuan، والتي تدعم فقط المستخدمين المشتركين المدفوعة‬",
"syncThirdPartyProviderS3Intro": "‫المحدد حاليا هو خدمة تخزين سحابية تابعة لطرف ثالث متوافقة مع بروتوكول Amazon S3 (على سبيل المثال <a href=\"https://s.qiniu.com/VbQfeu\" target=\"_blank\">Qiniu</a>، <a href=\"https://www.aliyun.com/product/oss?userCode=yqovuas2\" target=\"_blank\">Aliyun OSS</a>، <a href=\"https://www.cloudflare.com/\" target=\"_blank\">Cloudflare R2</a>)‬",
"syncThirdPartyProviderWebDAVIntro": "‫المحدد حاليا هو خدمة تخزين سحابية لطرف ثالث مع بروتوكول WebDAV. بسبب ضعف أداء هذا البروتوكول وعدم كفاية استقراره، يوصى باختيار خدمة S3 أولا‬",
"syncThirdPartyProviderLocalIntro": "‫المحدد حاليا هو خدمة تخزين سحابية لطرف ثالث مع بروتوكوليتم حاليًا اختيار خدمة التخزين التي يوفرها نظام الملفات المحلي. الرجاء إدخال المسار الكامل للمجلد المحلي في حقل <code class='fn__code'>Endpoint</code>‬",
"syncThirdPartyProviderTip": "‫قبل استخدام هذه الميزة، يرجى الانتباه إلى القيود التقنية وبنود الفوترة لخدمة التخزين السحابي من الطرف الثالث: <div class=\\\"b3-label__text\\\"><ul class='fn__list'><li>القيود التقنية مثل تكرار استدعاء الواجهة وعرض النطاق الترددي</li><li>بنود الفوترة مثل مساحة التخزين وحركة المرور</li><li>شروط الاستخدام وضمان التوفر</li></ul></div><div class='fn__hr'></div>إخلاء المسؤولية: للمزيد من التفاصيل، يرجى الرجوع إلى الشروط ذات الصلة في ترخيص المصدر المفتوح AGPLv3 المستخدم في SiYuan‬",
"syncProvider": "موفر خدمات التخزين السحابي",
"syncProviderTip": "إذا تم اختياره، سيتم استخدام خدمة التخزين السحابية لهذا الموفر لتحقيق مزامنة السحابة ووظائف النسخ الاحتياطي",
Expand Down Expand Up @@ -1581,4 +1584,4 @@
"251": "‫مجموع الأصول غير المستخدمة [%d]، [%d] فقط منها مدرج هنا‬",
"252": "\uD83D\uDEA8 قد يقوم Microsoft Defender بحذف النواة عن طريق الخطأ، وحذف البيانات وتقليل الأداء بشكل كبير. يوصى بإضافة مسار التثبيت ومسار مساحة العمل الخاصة بـ SiYuan إلى قائمة الاستثناءات<span class=\"fn__space\"></span><button id=\"addMicrosoftDefenderExclusion\" class=\"b3-button b3-button--white\">إضافة</button><span class=\"fn__space\"></span>"
}
}
}
3 changes: 3 additions & 0 deletions app/appearance/langs/de_DE.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"localFlieSystem": "Lokales Dateisystem",
"deviceNotSupport": "Das aktuelle Gerät wird nicht unterstützt",
"second": "Sekunde",
"syncInterval": "Synchronisierungsintervall",
"syncIntervalTip": "Automatische Datensynchronisierung, nachdem die Daten nicht mehr geändert werden",
Expand Down Expand Up @@ -475,6 +477,7 @@
"syncOfficialProviderIntro": "Derzeit ausgewählt ist der von SiYuan offiziell bereitgestellte Cloud-Speicherdienst, der nur abonnierte Benutzer unterstützt.",
"syncThirdPartyProviderS3Intro": "Derzeit ausgewählt ist ein Drittanbieter-Cloudspeicherdienst, der mit dem Amazon S3-Protokoll kompatibel ist (z. B. <a href=\"https://s.qiniu.com/VbQfeu\" target=\"_blank\">Qiniu</a>, <a href=\"https://www.aliyun.com/product/oss?userCode=yqovuas2\" target=\"_blank\">Aliyun OSS</a>, <a href=\"https://www.cloudflare.com/\" target=\"_blank\">Cloudflare R2</a>)",
"syncThirdPartyProviderWebDAVIntro": "Derzeit ausgewählt ist ein Drittanbieter-Cloudspeicherdienst mit dem WebDAV-Protokoll. Aufgrund der schlechten Leistung und unzureichenden Stabilität dieses Protokolls wird empfohlen, zuerst den S3-Dienst auszuwählen.",
"syncThirdPartyProviderLocalIntro": "Derzeit wird der vom lokalen Dateisystem bereitgestellte Speicherdienst ausgewählt. Bitte geben Sie im Feld <code class='fn__code'>Endpoint</code> den vollständigen Pfad des lokalen Ordners ein",
"syncThirdPartyProviderTip": "Bitte beachten Sie vor der Nutzung dieser Funktion die technischen Einschränkungen und Abrechnungspositionen des Drittanbieter-Cloudspeicherdienstes: <div class=\"b3-label__text\"><ul class='fn__list'><li>Technische Einschränkungen wie Schnittstellenaufruffrequenz und Bandbreite</li><li>Abrechnungspositionen wie Speicherplatz und Datenverkehr</li><li>Nutzungsbedingungen und Verfügbarkeitsgarantie</li></ul></div><div class='fn__hr'></div>Haftungsausschluss: Für Details konsultieren Sie bitte die entsprechenden Bestimmungen in der Open Source Lizenz AGPLv3, die von SiYuan verwendet wird.",
"syncProvider": "Cloud-Speicherdienstanbieter",
"syncProviderTip": "Wenn ausgewählt, wird der Cloud-Speicherdienst dieses Anbieters verwendet, um Cloud-Synchronisations- und Backup-Funktionen zu erreichen.",
Expand Down
3 changes: 3 additions & 0 deletions app/appearance/langs/en_US.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"localFlieSystem": "Local file system",
"deviceNotSupport": "The current device is not supported",
"second": "second",
"syncInterval": "sync interval",
"syncIntervalTip": "Automatically sync data after it stops changing",
Expand Down Expand Up @@ -475,6 +477,7 @@
"syncOfficialProviderIntro": "Currently selected is the cloud storage service officially provided by SiYuan, which only supports paid subscription users",
"syncThirdPartyProviderS3Intro": "The current selected is a third-party cloud storage service compatible with the Amazon S3 protocol (eg <a href=\"https://s.qiniu.com/VbQfeu\" target=\"_blank\">Qiniu</a>, <a href=\"https://www.aliyun.com/product/oss?userCode=yqovuas2\" target=\"_blank\">Aliyun OSS</a>, <a href=\"https://www.cloudflare.com/\" target=\"_blank\">Cloudflare R2</a>)",
"syncThirdPartyProviderWebDAVIntro": "The currently selected is a third-party cloud storage service with the WebDAV protocol. Due to the poor performance and insufficient stability of this protocol, it is recommended to choose the S3 service first",
"syncThirdPartyProviderLocalIntro": "The storage service provided by the local file system is currently selected. Please enter the full path of the local folder in the <code class='fn__code'>Endpoint</code> field",
"syncThirdPartyProviderTip": "Before using this feature, please pay attention to the technical limitations and billing items of the third-party cloud storage service: <div class=\"b3-label__text\"><ul class='fn__list'><li>Technical limitations such as interface calling frequency and bandwidth</li><li>Billing items such as storage space and traffic</li><li>Terms of use and availability guarantee</li></ul></div><div class='fn__hr'></div>Disclaimer: For details, please refer to the relevant terms in the open source license AGPLv3 used by SiYuan",
"syncProvider": "Cloud storage service provider",
"syncProviderTip": "If selected, the cloud storage service of this provider will be used to achieve cloud synchronization and backup functions",
Expand Down
3 changes: 3 additions & 0 deletions app/appearance/langs/es_ES.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"localFlieSystem": "Sistema de archivos local",
"deviceNotSupport": "El dispositivo actual no es compatible",
"second": "segundo",
"syncInterval": "intervalo de sincronización",
"syncIntervalTip": "Sincronización automática de datos después de que los datos dejen de cambiar",
Expand Down Expand Up @@ -475,6 +477,7 @@
"syncOfficialProviderIntro": "Actualmente seleccionado es el servicio de almacenamiento en la nube proporcionado oficialmente por SiYuan, que solo admite usuarios de suscripción paga",
"syncThirdPartyProviderS3Intro": "El actual seleccionado es un servicio de almacenamiento en la nube de terceros compatible con el protocolo Amazon S3",
"syncThirdPartyProviderWebDAVIntro": "El servicio de almacenamiento en la nube de terceros del protocolo WebDAV está actualmente seleccionado. Debido al bajo rendimiento y la estabilidad insuficiente de este protocolo, se recomienda elegir primero el servicio S3",
"syncThirdPartyProviderLocalIntro": "Actualmente está seleccionado el servicio de almacenamiento proporcionado por el sistema de archivos local. Por favor, ingrese la ruta completa de la carpeta local en el campo <code class='fn__code'>Endpoint</code>",
"syncThirdPartyProviderTip": "Antes de usar esta función, preste atención a las limitaciones técnicas y los elementos de facturación del servicio de almacenamiento en la nube de terceros: <div class=\"b3-label__text\"><ul class='fn__list'><li>Limitaciones técnicas, como la frecuencia de llamada de la interfaz y el ancho de banda</li><li >Artículos de facturación como espacio de almacenamiento y tráfico</li><li>Términos de uso y garantía de disponibilidad</li></ul></div><div class='fn__hr'></div>Descargo de responsabilidad: para obtener más información, consulte los términos relevantes en la licencia de código abierto AGPLv3 utilizado por SiYuan",
"syncProvider": "Proveedor de servicios de almacenamiento en la nube",
"syncProviderTip": "Si se selecciona, el servicio de almacenamiento en la nube de este proveedor se usará para lograr funciones de sincronización y copia de seguridad en la nube",
Expand Down
3 changes: 3 additions & 0 deletions app/appearance/langs/fr_FR.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"localFlieSystem": "Système de fichiers local",
"deviceNotSupport": "L'appareil actuel n'est pas pris en charge",
"second": "seconde",
"syncInterval": "intervalle de synchronisation",
"syncIntervalTip": "Synchronisation automatique des données après l'arrêt des modifications",
Expand Down Expand Up @@ -475,6 +477,7 @@
"syncOfficialProviderIntro": "Actuellement sélectionné est le service de stockage en nuage officiellement fourni par SiYuan, qui ne prend en charge que les utilisateurs d'abonnement payant",
"syncThirdPartyProviderS3Intro": "L'actuel sélectionné est un service de stockage cloud tiers compatible avec le protocole Amazon S3",
"syncThirdPartyProviderWebDAVIntro": "Le service de stockage cloud tiers du protocole WebDAV est actuellement sélectionné. En raison des performances médiocres et de la stabilité insuffisante de ce protocole, il est recommandé de choisir d'abord le service S3",
"syncThirdPartyProviderLocalIntro": "Le service de stockage fourni par le système de fichiers local est actuellement sélectionné. Veuillez saisir le chemin complet du dossier local dans le champ <code class='fn__code'>Endpoint</code>",
"syncThirdPartyProviderTip": "Avant d'utiliser cette fonctionnalité, veuillez prêter attention aux limitations techniques et aux éléments de facturation du service de stockage cloud tiers : <div class=\"b3-label__text\"><ul class='fn__list'><li>Limitations techniques telles que la fréquence d'appel et la bande passante de l'interface</li><li >Éléments de facturation tels que l'espace de stockage et le trafic</li><li>Conditions d'utilisation et garantie de disponibilité</li></ul></div><div class='fn__hr'></div>Avis de non-responsabilité : pour plus de détails, veuillez vous référer aux termes pertinents dans la licence open source AGPLv3 utilisé par SiYuan",
"syncProvider": "Fournisseur de services de stockage en nuage",
"syncProviderTip": "Si sélectionné, le service de stockage cloud de ce fournisseur sera utilisé pour réaliser les fonctions de synchronisation et de sauvegarde cloud",
Expand Down
3 changes: 3 additions & 0 deletions app/appearance/langs/he_IL.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"localFlieSystem": "מערכת קבצים מקומית",
"deviceNotSupport": "המכשיר הנוכחי אינו נתמך",
"second": "שנייה",
"syncInterval": "מרווח סנכרון",
"syncIntervalTip": "סנכרון נתונים אוטומטי לאחר שהנתונים מפסיקים להשתנות",
Expand Down Expand Up @@ -475,6 +477,7 @@
"syncOfficialProviderIntro": "נבחר עתה הוא שירות האחסון בענן המוצע רשמית על ידי SiYuan, אשר תומך רק במשתמשים בתשלום",
"syncThirdPartyProviderS3Intro": "הנבחר עתה הוא שירות אחסון בענן צד שלישי תואם עם פרוטוקול Amazon S3 (למשל <a href=\"https://s.qiniu.com/VbQfeu\" target=\"_blank\">Qiniu</a>, <a href=\"https://www.aliyun.com/product/oss?userCode=yqovuas2\" target=\"_blank\">Aliyun OSS</a>, <a href=\"https://www.cloudflare.com/\" target=\"_blank\">Cloudflare R2</a>)",
"syncThirdPartyProviderWebDAVIntro": "הנבחר עתה הוא שירות אחסון בענן צד שלישי עם פרוטוקול WebDAV. בשל ביצועים לקויים ויציבות בלתי מתאימה של פרוטוקול זה, הכרחי לבחור קודם בשירות S3",
"syncThirdPartyProviderLocalIntro": "שירות האחסון שסופק על ידי מערכת הקבצים המקומית נבחר כעת. אנא הזן את הנתיב המלא של התיקייה המקומית בשדה <code class='fn__code'>Endpoint</code>",
"syncThirdPartyProviderTip": "לפני השימוש בתכונה זו, אנא שים לב למגבלות טכניות ופריטי חיוב של שירות האחסון בענן של צד שלישי: <div class=\"b3-label__text\"><ul class='fn__list'><li>מגבלות טכניות כמו תדירות קריאות ממשק ורוחב פס</li><li>פריטי חיוב כמו שטח אחסון ותעבורה</li><li>תנאי שימוש והתחייבות זמינות</li></ul></div><div class='fn__hr'></div>הבהרה: למידע נוסף, עיין בתנאים הרלוונטיים ברישיון הקוד הפתוח AGPLv3 בו משתמשת SiYuan",
"syncProvider": "ספק שירות אחסון בענן",
"syncProviderTip": "אם נבחר, שירות האחסון בענן של ספק זה ישמש כדי להשיג פונקציות סנכרון וגיבוי בענן",
Expand Down
3 changes: 3 additions & 0 deletions app/appearance/langs/it_IT.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"localFlieSystem": "File system locale",
"deviceNotSupport": "Il dispositivo corrente non è supportato",
"second": "secondo",
"syncInterval": "intervallo di sincronizzazione",
"syncIntervalTip": "Sincronizzazione automatica dei dati dopo che non ci sono più variazioni",
Expand Down Expand Up @@ -475,6 +477,7 @@
"syncOfficialProviderIntro": "Attualmente è selezionato il servizio di archiviazione cloud ufficiale fornito da SiYuan, che supporta solo utenti abbonati a pagamento",
"syncThirdPartyProviderS3Intro": "Attualmente è selezionato un servizio di archiviazione cloud di terze parti compatibile con il protocollo Amazon S3 (es. <a href=\"https://s.qiniu.com/VbQfeu\" target=\"_blank\">Qiniu</a>, <a href=\"https://www.aliyun.com/product/oss?userCode=yqovuas2\" target=\"_blank\">Aliyun OSS</a>, <a href=\"https://www.cloudflare.com/\" target=\"_blank\">Cloudflare R2</a>)",
"syncThirdPartyProviderWebDAVIntro": "Attualmente è selezionato un servizio di archiviazione cloud di terze parti con protocollo WebDAV. A causa delle scarse prestazioni e della stabilità insufficiente di questo protocollo, si consiglia di scegliere prima il servizio S3",
"syncThirdPartyProviderLocalIntro": "Attualmente è selezionato il servizio di archiviazione fornito dal file system locale. Inserisci il percorso completo della cartella locale nel campo <code class='fn__code'>Endpoint</code>",
"syncThirdPartyProviderTip": "Prima di utilizzare questa funzione, presta attenzione ai limiti tecnici e agli elementi di fatturazione del servizio di archiviazione cloud di terze parti: <div class=\"b3-label__text\"><ul class='fn__list'><li>Limitazioni tecniche come la frequenza delle chiamate dell'interfaccia e la larghezza di banda</li><li>Elementi di fatturazione come lo spazio di archiviazione e il traffico</li><li>Termini di utilizzo e garanzia di disponibilità</li></ul></div><div class='fn__hr'></div>Disclaimer: Per dettagli, si prega di consultare i termini pertinenti nella licenza open source AGPLv3 utilizzata da SiYuan",
"syncProvider": "Provider di servizio di archiviazione cloud",
"syncProviderTip": "Se selezionato, verrà utilizzato il servizio di archiviazione cloud di questo provider per sincronizzare e fare il backup dei dati",
Expand Down
3 changes: 3 additions & 0 deletions app/appearance/langs/ja_JP.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
{
"localFlieSystem": "ローカルファイルシステム",
"deviceNotSupport": "現在のデバイスはサポートされていません",
"second": "",
"syncInterval": "同期間隔",
"syncIntervalTip": "データが変動しなくなった後に自動的にデータを同期します",
Expand Down Expand Up @@ -475,6 +477,7 @@
"syncOfficialProviderIntro": "現在選択されているのは SiYuan が公式に提供するクラウドストレージサービスで、有料サブスクリプションユーザーのみが利用可能です",
"syncThirdPartyProviderS3Intro": "現在選択されているのは Amazon S3 プロトコルに準拠したサードパーティのクラウドストレージサービスです (例: <a href=\"https://s.qiniu.com/VbQfeu\" target=\"_blank\">Qiniu</a>、<a href=\"https://www.aliyun.com/product/oss?userCode=yqovuas2\" target=\"_blank\">Aliyun OSS</a>、<a href=\"https://www.cloudflare.com/\" target=\"_blank\">Cloudflare R2</a>)",
"syncThirdPartyProviderWebDAVIntro": "現在選択されているのは WebDAV プロトコルに対応したサードパーティのクラウドストレージサービスです。このプロトコルはパフォーマンスが低く安定性に欠けるため、S3 サービスを優先して選択することをお勧めします",
"syncThirdPartyProviderLocalIntro": "現在、ローカルファイルシステムが提供するストレージサービスが選択されています。<code class='fn__code'>Endpoint</code>フィールドにローカルフォルダの完全なパスを入力してください",
"syncThirdPartyProviderTip": "この機能を使用する前にサードパーティのクラウドストレージサービスの技術的な制限と請求項目に注意してください: <div class=\"b3-label__text\"><ul class='fn__list'><li>インターフェース呼び出し頻度や帯域幅などの技術的制限</li><li>ストレージ容量やトラフィックなどの請求項目</li><li>利用規約と可用性の保証</li></ul></div><div class='fn__hr'></div>免責事項: 詳細は SiYuan が使用するオープンソースライセンス AGPLv3 の関連規約を参照してください",
"syncProvider": "クラウドストレージサービスプロバイダー",
"syncProviderTip": "選択したプロバイダーのクラウドストレージサービスがクラウド同期とバックアップ機能を実現するために使用されます",
Expand Down
Loading

0 comments on commit 6ee4705

Please sign in to comment.