From 8de169c38c23a7be658c72474ba332e0915ab144 Mon Sep 17 00:00:00 2001 From: Elelan's Macbook Pro Date: Mon, 23 Jun 2025 14:44:10 +0530 Subject: [PATCH 1/4] localization fixes from next branch added to backup branch --- app/src/main/res/values-ar/strings.xml | 324 +++++++++++++++------ app/src/main/res/values-es/strings.xml | 341 +++++++++++++++------- app/src/main/res/values-fa/strings.xml | 379 ++++++++++++++++++++++--- app/src/main/res/values-fr/strings.xml | 356 +++++++++++++++++++++-- app/src/main/res/values-tr/strings.xml | 232 ++++++++++++--- app/src/main/res/values/strings.xml | 6 +- 6 files changed, 1336 insertions(+), 302 deletions(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 5dfee08a..9f9503e4 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -1,9 +1,11 @@ - أرشِف وسائطك تعرف على المزيد + اللوحة الجانبية مفتوحة + اللوحة الجانبية مغلقة - تسجيل الدخول + أرشِف وسائطك\nتعرف على المزيد +تسجيل الدخول البدء الأول التحميلات @@ -13,21 +15,50 @@ ‫موقع Internet Archive + ‫حمّل وسائطك إلى حساب عمومي مجاني أو خصوصي مدفوع على موقع Internet Archive. + ‫خدمة DWeb + اتصل بالانترنت اللامركزي + حمّل إلى Google Drive + تسجيل الدخول أو إنشاء حساب مع Google Drive + + الخوادم + إضافة حساب آخر + + إعادة تسمية المجلد + ‮تحديد الوسائط + إزالة المجلد + + إعادة تسمية المجلد + ‮تحديد الوسائط + أرشفة المجلد + إزالة المجلد من التطبيق + + لا يمكن ترك اسم المجلد فارغا + تمت إعادة تسمية المجلد + لم يتم العثور على المجلد + تمت إزالة المجلد + تمت أرشفة المجلد + + + تعطيل رمز المرور + هل أنت متيقِّن من تعطيل رمز المرور؟ + - صورة رئيسية + صورة رئيسة إلغاء موافق + تأكيد تأكيد البريد الإلكتروني - ‫يرجى تأكيد عنوان بريدك الإلكتروني والعودة للدخول إلى حسابك في Internet Archive. + ‫يرجى تأكيد عنوان بريدك الإلكتروني والعودة للدخول إلى حسابك في موقع Internet Archive. + + الترخيص السماح لأي شخص بالتعديل والمشاركة ؟ - اطلب من الأفراد المشاركة مثلما سبق لك أيضا المشاركة ؟ + الطلب من الأفراد المشاركة مثلما سبق لك أيضا المشاركة ؟ السماح بالاستخدام التجاري ؟ أزِل الوسائط + ‫سوف يتم حذف هذا الوسيط من Save.\nسيظل في الخادم وفي تطبيق صورك. اضغط لإضافة علامة محتوى مميز - نعم - لا + ‮نعم + ‮لا إلغاء @@ -51,197 +85,250 @@ تشغيل التوجيه البصلي النقل عبر شبكة « تور » فقط - الرجاء تثبيت « أوربوت » لتفعيله + يُرجى تثبيت « أوربوت » لتفعيله حظر لقطات الشاشة - منع أخذ لقطات الشاشة وتسجيل الشاشة لهذا التطبيق. + منع حفظ لقطات الشاشة وتسجيل الشاشة لهذا التطبيق. التقديم السمة - تغيير سِمة Save إلى نهارية أو ليلية + + ‫تغيير سِمة Save إلى نهارية أو ليلية يتحكم فيها النظام - نهاري - ليلي + نهارية + ليلية تفعيل ProofMode - التقاط البيانات الوصفية الإضافية وتوثيق جميع الوسائط. + ‫مشاركة مفتاح ProofMode العمومي + تعرَّف على المزيد هنا]]> + لمساعدتك في التحقق من المكان الذي تم فيه التقاط وسائطك، يجمع ProofMode بيانات من أبراج الخلايا القريبة لإثبات موقعك. لزيادة المصداقية والسياق، فإنه يُدمِج ملفا منفصلا للبيانات الوصفية مع وسائطك. فلا Save ولا OpenArchive يمكنهما الوصول إلى بيانات موقعك ولا حتى تخزينها، سيكون ذلك متاحا فقط لمن له حق الوصول إلى ملفات الخادم. يطلب أندرويد حق الوصول إلى الموقع للحصول على تلك المعلومة. هوية ProofMode مشاركة مفتاح ProofMode العمومي + + إذن معرفة الموقع مطلوبة + - اسم المستخدم - ‮كلمة السر + اسم المستخدم + عنوان البريد الإلكتروني + كلمة السر + + ‪\@string/prompt_email + أدخل عنوان البريد الإلكتروني أو اسم المستخدم + ‪\@string/prompt_password‪ + أدخل كلمة السر + الولوج اسم المستخدم أو كلمة السر غير صحيحة - هذا الحقل مطلوب + عنوان البريد الإلكتروني أو كلمة السر غير صحيحة + هذا الحقل ضروري - يجري استيراد الوسائط… + ‫يجري استيراد الوسائط… مرحباً سياسة الخصوصية - ‫عن %s + ‫‫عن %s إضافة مجلد تصفح المجلدات الموجودة تصفح الموجودة مدير التحميل - الملفات المُحمَّلة - يجري التحميل… - ‫يجري التحميل… (%d متبقية) + التحميلات + تعديل قائمة الانتظار + التحميل متوقف مؤقتا + ‫يجري التحميل… + ‫‫يجري التحميل… (%d متبقية) تظهر هذه الإشعارات أثناء قيام هذا التطبيق بتحميل الوسائط. - تحميل + رفع + + + إن التطبيق مُقفَل بسبب عدة محاولات فاشلة. يرجى المحاولة مرة أخرى لاحقا. + لم يتم تعيين رمز للمرور + رمز المرور غير صحيح، بقيت لك %1$d محاولات. + عدد المحاولات الفاشلة كثير. التطبيق مُقفَل. + + قفل التطبيق برمز مرور + أدخل رمز مرورك + رمزا المرور غير متطابقَين، يرجى المحاولة مرة أخرى. + + أكِّد رمز المرور + حدد رمز المرور + تيقَّن من تذكُّر هذا الرمز. إذا نسيته، فسيحتاج الأمر إلى إعادة تعيين التطبيق، وسيتم مسح جميع البيانات. + - المس الزر أدناه لإضافة الوسائط. - لبدء الاستخدام، اتصل بخادم لتخزين وسائطك. + المس الزر أدناه لإضافة الوسائط + المس الزر أدناه لإضافة مجلد + المس الزر أدناه لإضافة خادم + لبدء الاستخدام، اتصل بخادم لتخزين وسائطك + يمكنك إضافة خوادم خصوصية متعددة\n‫وحساب خادم IA أو حساب DWEB في أي وقت. + يمكنك إضافة خوادم خصوصية متعددة\n‫وحساب خادم IA واحد في أي وقت. في القائمة الجانبية، يمكنك إضافة خادم آخر والاتصال بخوادم متعددة - إرسال إلى خادم webdav - تحميل إلى IA - يتصل Save فقط بالخوادم المتوافقة مع WebDAV، مثل Nextcloud و ownCloud. + ‫اتصل بخادم WebDAV آمن + اتصل بخادم عمومي مجاني أو بخادم خصوصي مدفوع الثمن + ‫اتصل بالخوادم المتوافقة مع WebDAV، على سبيل المثال Nextcloud و ownCloud. التالي تم محتوى مميز حدِّد مكان تخزين وسائطك. لقد اتصلت بخادم خاص بنجاح ! - لقد اتصلت بـ Dropbox بنجاح ! - لقد اتصلت بـ Internet Archive بنجاح ! + ‫لقد اتصلت بـ Dropbox بنجاح ! + ‫لقد اتصلت بـ Internet Archive بنجاح ! + ‫لقد اتصلت بـ Google Drive بنجاح ! إنشاء مجلد جديد - تحرير + أولا، يرجى إطلاق اسم على مجلدك + ‫سيتم إنشاء هذا المجلد على خادمك ثم سيُضاف تلقائيا إلى Save + أدخل اسم المجلد + تعديل تم - أزِل من التطبيق - هل أنت متأكد من أنك تريد إزالة مشروعك ؟ + إزالة من التطبيق + هل أنت متيقِّن من أنك تريد إزالة مشروعك ؟ إزالة - حوِّل المشروع إلى الأرشيف - أخرِج المشروع من الأرشيف + أرشفة المشروع + إلغاء أرشفة المشروع يرجى تسجيل الدخول باستخدام اعتمادات صالحة لـ Internet Archive. مفتاح الوصول المفتاح السري - يحتاج Save إلى مفاتيح واجهة برمجة التطبيقات الخاصة بحسابك في Internet Archive حتى يتمكن من تحميل الوسائط. + ‫يحتاج Save إلى مفاتيح واجهة برمجة التطبيقات (API) الخاصة بحسابك في Internet Archive حتى يتمكن من تحميل الوسائط. اكتسب المفاتيح مجلد جديد يرجى عدم كتابة أحرف خاصة في الاسم. - هل أنت متأكد من أنك تريد إزالة هذا الخادم من التطبيق ؟ + هل أنت متيقِّن من أنك تريد إزالة هذا الخادم من التطبيق ؟ اسم المجلد موجود بالفعل. Dropbox البيانات الوصفية - هل أنت متأكد من أنك تريد إزالة هذه الوسائط ؟ + أزِل الوسائط + هل أنت متحقِّق من أنك تريد إزالة هذه الوسائط ؟ - علامة على محتوى مميز - عندما تضع العلامة على عنصر ما، يتم وَسْمها على مجلد فرعي داخل مجلد المشروع المختار على الخادم الخاص. + أشِّر على المحتوى المميز + عندما تضع العلامة على عنصر ما، يتم توجيهها نحو مجلد فرعي داخل مجلد المشروع المختار على الخادم الخاص. - تعيين نفس ترخيص المشاع الإبداعي لجميع المجلدات الموجودة على هذا الخادم. + تعيين ترخيص المشاع الإبداعي للمجلدات الموجودة على هذا الخادم. + ‫تعيين نفس ترخيص المشاع الإبداعي لـ** كافة ** المجلدات الموجودة على هذا الخادم. تعيين تراخيص المشاع الإبداعي فريدة ** لكل مجلد فردي ** على هذا الخادم. تثبيت - تسجيل الدخول… + ‫تسجيل الدخول… لديك بالفعل خادم بهذه الاعتمادات غير قادر على الاتصال بـ « أوربوت » أو « تور ». - غير قادر على الاتصال بـ « أوربوت » أو « تور » : انتهت المهلة - غير قادر على الاتصال بـ « أوربوت » أو « تور » : غير صالح + ‫غير قادر على الاتصال بـ « أوربوت » أو « تور » : ** انتهت المهلة ** + ‫غير قادر على الاتصال بـ « أوربوت » أو « تور » : ** غير صالح ** تم اكتشاف اتصال انترنت غير آمن ‫الإصدار %s + + تحديد خادم + + الخادم الخاص + تعديل الخادم الخاص + لا يمكن ترك الاسم فارغا + + ‫هناك تغييرات غير محفوظة ! + أ تريد الحفظ + حفظ + تجاهل + + + أطلق اسما على خادمك واختر الترخيص + + + اكتمل الإعداد + + + تعديل قائمة الانتظار + التحميل متوقف مؤقتا اسم الخادم (اختياري) - ‫مُعرِّف Dropbox : - إضافة حساب آخر - أَمِّن مفتاح ProofMode بالمقاييس الحيوية أو رمز مرور الجهاز - أَمِّن مفتاح ProofMode بالمقاييس الحيوية - أَمِّن مفتاح ProofMode برمز مرور الجهاز - سيؤدي تغيير هذا إلى إنشاء مفتاح جديد ! إذا قمت بتصدير هذا المفتاح وتوقيعه من قبل، فستحتاج إلى القيام بذلك مرة أخرى باستخدام المفتاح الجديد. - فك قفل مفتاح ProofMode + ‫‫مُعرِّف Dropbox : + إضافة خادم جديد + ‫أَمِّن مفتاح ProofMode بالمقاييس الحيوية أو رمز مرور الجهاز + ‫أَمِّن مفتاح ProofMode بالمقاييس الحيوية + ‫أَمِّن مفتاح ProofMode برمز مرور الجهاز + سيؤدي تغيير هذا إلى إنشاء مفتاح جديد ! إذا صدَّرت هذا المفتاح ووقَّعته من قبل، فستحتاج إلى فعل ذلك مرة أخرى باستخدام المفتاح الجديد. + ‫فك قفل مفتاح ProofMode المجلدات إنشاء اسم المجلد اسم المجلد إنشاء إضافة لا (مزيد من) المجلدات - الخادم الخاص - تحميل إلى Dropbox - قم بتسجيل الدخول أو إنشاء حساب مع Dropbox + + ‫تحميل إلى Dropbox + سجِّل الدخول أو أنشِئ حسابا مع Dropbox استوثِق الرجوع وسائطي - إذا لم تكن لديك مفاتيح موجودة، تعرف كيفية الحصول على المفاتيح. + إذا لم تكن لديك مفاتيح موجودة، تعرف على كيفية الحصول على المفاتيح. معلومات الخادم - إدخال عنوان الصفحة + إدخال عنوان الصفحة الحساب عام - حمِّل الوسائط عندما تكون متصلا بالشبكة اللاسلكية فقط + ‫حمِّل الوسائط عندما تكون متصلا بالشبكة اللاسلكية (Wi-Fi) فقط الأمن ProofMode لا يوجد تطبيق يمكنه التعامل مع هذا الطلب. الرجاء تثبيت متصفح الانترنت. - - قم بتحميل الوسائط المتحقق منها إلى الخادم الذي اخترته. أضف ترخيص المشاع الإبداعي للتعبير - عن رغباتك للاستخدام المستقبلي. - - - حافظ على أمان وسائطك وأبْقِها منظمة على المدى الطويل وقم بإنشاء مجلدات المشروع في التطبيق والتي - تتوافق مع أرشفة وسائطك الشخصية أو وسائط منظمتك. - - - استوثِق من وسائطك باستخدام تلبيد التحقق من التعمية SHA-256 وProofMode - الاختياري. أضف البيانات الوصفية المهمة مثل الملاحظات والأشخاص والموقع مع كل عملية تحميل. - - -
- قم بتثبيت « أوربوت »لتفعيل أمن الشبكة المتقدم.]]> -
+ أرسل وسائطك بشكل آمن إلى خوادم خاصة، ثم اقفل التطبيق باستخدام رمز. + عبّر عن نواياك للاستخدام اللاحق عبر إضافة ترخيص المشاع الإبداعي.]]> + ProofMode]]> + حمّل تلقائيا عبر TLS (بروتوكول طبقة النقل الآمن) واستخدم ”أوربوت“ لحماية وسائطك خلال تنقُّلها عبر شبكة تور. التالي تم الحفظ الآمن لوسائط المحمول بدء الاستخدام - يقوم ProofMode بجمع البيانات الوصفية من الأبراج الخلوية المحلية للمساعدة في التحقق من الوسائط. يتطلب أندرويد إذنًا لتفعيل هذا الإعداد. سيستخدم Save هذا الإعداد فقط لالتقاط البيانات و ** لن ** يتم الوصول إلى هاتفك لإجراء أو إدارة المكالمات. + ‫يقوم ProofMode بجمع البيانات الوصفية من الأبراج الخلوية المحلية للمساعدة في التحقق من الوسائط. يتطلب أندرويد إذنًا لتفعيل هذا الإعداد. سيستخدم Save هذا الإعداد فقط لالتقاط البيانات و ** لن ** يتم الوصول إلى هاتفك لإجراء أو إدارة المكالمات. المجلدات المؤرشفة عرض المجلدات المؤرشفة تعرف على المزيد حول المشاع الإبداعي. إنعاش لبدء الاستخدام، يُرجى إنشاء مجلد - قبل إضافة الوسائط، قم بإنشاء مجلد جديد أولا. + ‫قبل إضافة الوسائط، أنشئ أولا مجلدا جديدا. هو فيديو - استخدام التحميل بالتقطيع (Nextcloud فقط) + ‫استخدام التحميل بالتقطيع (Nextcloud فقط) يقوم ‏؜« التقطيع » بتحميل الوسائط عبر أجزاء حتى لا تضطر إلى إعادة تشغيل التحميل إذا انقطع اتصالك. - معاينة الوسائط + معاينة التحميل إضافة المزيد حدد الكل - فهمت + مفهوم لا تُظهِر لي هذا مجددا التعديل المتعدد - اضغط مع الإبقاء لتحديد وتعديل وسائط متعددة - بمجرد التحميل، لن تتمكن من تعديل الوسائط + إضافة وسائط + ‫المس علامة + للاختيار من مَعْرِض الصور أو اضغط مع الاستمرار في ذلك لإضافة الوسائط من تطبيقات أخرى. + اضغط مع الإبقاء لتحديد وتعديل وسائط متعددة. + بمجرد التحميل، لن تتمكن من تعديل الوسائط. تعديل معلومات الوسائط - ‫%1$d من %2$d + ‫‫%1$d من %2$d إضافة موقع (اختياري) إضافة ملاحظات (اختياري) تخطي + إضافة صور من المُصَوِّرة إضافة صور أو فيديو إضافة ملفات كيفية الحصول على مفاتيح في 3 مراحل سهلة المرحلة 1 : قم بتسجيل الدخول إلى Internet Archive. إذا لم يكن لديك حساب، قم بإنشاءه. - المرحلة 2 : إذا كنت ستقوم بإنشاء حساب جديد، فقم بتأكيد بريدك الإلكتروني. - المرحلة 3 : قم بتوليد مفاتيح واجهة برمجة التطبيقات الخاصة بك عن طريق تحديد المربع وسيتم تحميلها تلقائيا في التطبيق ! + المرحلة 2 : إذا كنت ستُنشئ حسابا جديدا، تأكَّد من عنوان بريدك الإلكتروني. + ‫المرحلة 3 : ولِّد مفاتيح واجهة برمجة تطبيقاتك (API) عن طريق تحديد المربع وسيتم تحميلها تلقائيا في التطبيق !‫ التحميل غير ناجح - إعادة المحاولة + لقد تعذر التحميل بسبب خطأ في الجلسة، يرجى المحاولة مرة أخرى أو الاتصال بالدعم. + حاول مجددا تحرير الوسائط - التحميل متوقف مؤقتا + إضافة الوسائط باستخدام : + مُصوِّرة معرض الصور الملفات - التحقق من سلامة + التحقق من السلامة ساعد في تحسين التطبيق من خلال إجراء التحقق من السلامة عند فشل عمليات التحميل. يساعدنا التحقق من السلامة في فهم أسباب فشل عمليات التحميل. ساهم ببياناتك لتكون جزءًا من الحل. @@ -253,8 +340,63 @@ – نوع الشبكة – التوطين السماح بالتحقق من السلامة؟ - من خلال السماح بالتحقق من السلامة، فأنت تعطي للتطبيق الإذن بإرسال بيانات التحقق من السلامة بشكل آمن إلى فريق عمل %s. - لا شكراً - تراجَع - + ‫من خلال السماح بالتحقق من السلامة، فأنت تعطي للتطبيق الإذن بإرسال بيانات التحقق من السلامة بشكل آمن إلى فريق عمل %s. + لا، شكراً + تراجع + ‫مُعرِّف Google Drive + ‫‫إن استخدام %1$s للمعلومات المُستلَمة من واجهة برمجة التطبيقات %2$s إلى أي تطبيقات أخرى، يتوافق مع %3$s. يشمل ذلك متطلبات الاستخدام المحدودة. + ‫تسمح لك واجهة برمجة تطبيقات %1$s بإرسال الوسائط إلى %2$s الخاص بك عبر %3$s. لكن %3$s مع ذلك، لا يمكنه رؤية أي شيء في %2$s الخاص بك، ولا الوصول إليه، بما أنك لم تنشئه بواسطة %3$s من أساسه. + ‫لا يمكن لـ %1$s أن يعمل بشكل جيد إذا لم تسمح له بالكتابة في %2$s الخاص بك. يُرجى محاولة منح الإذن بذلك مرة أخرى ثم تيقَّن من منح كافة صلاحيات الوصول المُدرَجة. + مستخدم جديد + + + عنوان البريد الإلكتروني + اسم الشاشة + تسجيل الدخول + إنشاء واحد + لا تملك حسابا ؟ + الاستمرار + + نص فارغ + + الرسائل + مزامنة + + + توقيعك + إجراء الرد الافتراضي + + + مزامنة البريد الإلكتروني دوريا + تنزيل المرفقات الواردة + نزّل المرفقات تلقائيا للرسائل الإلكترونية الواردة + نزّل فقط المرفقات عند طلب ذلك يدويا + + pref_media_servers + pref_media_folders + + آمن + الأرشفة + اطلع على شروط الاستخدام وسياسة الخصوصية + خوادم الوسائط + المجلدات المؤرشفة + إدارة خوادمك + إدارة مجلداتك المؤرشفة + اطلع على شروط الاستخدام وسياسة الخصوصية + + pref_is_dark_mode + + نجاح ! + تحذير ! + معلومة ! + مفهوم + + + لقد أضفت مجلدا بنجاح + لقد غيرت إعدادات خادمك بنجاح. + تمديد + لم يُضَف أي خادم بعد. + لم يتم العثور على أي مجلد مُؤرشَف. + الانترنت غير متاح + غير متواجد
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index eff114b4..9e850aa8 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -1,33 +1,64 @@ - Archiva tus medios aprende más + Gaveta Abierta + Gaveta Cerrada - Iniciar sesión - Primer inicio - Subir + Archiva Tus Medios\naprende más +Iniciar sesión + Primer Inicio + Cargas - Ajustes + Configuración Internet Archive + Sube tus archivos multimedia a una cuenta pública gratuita o una privada paga en Internet Archive. + Servicio DWeb + Conectar a la web descentralizada + Subir a Google Drive + Inicia sesión o crea una cuenta con Google Drive + + Servidores + Agregar Otra Cuenta + + Renombrar Carpeta + Seleccionar Multimedia + Eliminar Carpeta + + Renombrar carpeta + Seleccionar multimedia + Archivar carpeta + Eliminar carpeta de la app + + Nombre de carpeta no puede estar vacío + Carpeta renombrada + Carpeta no encontrada + Carpeta eliminada + Carpeta archivada + + + Deshabilitar Código de Acceso + ¿Tienes seguridad de querer deshabilitar el código de acceso\? + - Imagen principal + Imagen Principal Cancelar - OK - Confirmación de correo electrónico - Confirma su dirección de correo electrónico y vuelva a conectar su cuenta de Internet Archive. + Aceptar + Confirmar + Confirmación de Correo Electrónico + Por favor confirma tu dirección de correo electrónico y vuelve a conectar tu cuenta de Internet Archive. - ¿Permitir que cualquiera cambie y comparta? - ¿Solicitarles que compartan del mismo modo que tú? - ¿Permitir uso comercial? + + Licencia + ¿Permitir que cualquiera cambie y comparta\? + ¿Solicitarles que compartan como hiciste tú\? + ¿Permitir uso comercial\? Eliminar Medios + Este medio se eliminará de Save.\nPermanecerá en el servidor y en tu app de Fotos. Pulsa para marcar como contenido significativo - + Si No Cancelar @@ -51,91 +85,138 @@ Habilita el Enrutamiento Onion Transferencia solo a través de la Red Tor - Instala Orbot para habilitar + Por favor instala Orbot para habilitar Bloquear capturas de pantalla - Evitar capturas de pantalla y grabaciones de pantalla de esta app. + Previene capturas de pantalla y grabaciones de pantalla de esta app. Presentación Tema - Cambia el tema de \"Guardar\" a claro/oscuro + + Cambiar el tema de Save a claro/oscuro Sistema Controlado Claro Oscuro Habilitar ProofMode - Capture metadatos adicionales y notarizar todos los medios + Compartir clave pública de ProofMode + + + + + - Identidad de ProofMode - Compartir Cave Pública de ProofMode + Para ayudar a verificar dónde tus medios fueron capturados, ProofMode obtiene datos de torres celulares cercanas para corroborar tu ubicación. Para agregar credibilidad y contexto, luego incluye un archivo de metadatos separado con tu multimedia. Ni Save ni OpenArchive podrán acceder o almacenar estos datos de ubicación, solo serán accesibles para quienes tengan acceso a los archivos del servidor. Android requiere acceso a la ubicación para recopilar esta información. + + Identidad ProofMode + Compartir Clave Pública ProofMode + + + + Permisos de ubicación requeridos - Nombre de usuaria(o) - Contraseña + Nombre de Usuaria(o) + Email + Contraseña + + \@string/prompt_email + Introduce un correo electrónico o nombre de usuaria(o) + \@string/prompt_password + Introduce una contraseña + Iniciar sesión Nombre de usuaria(o) o contraseña incorrectos + Correo electrónico o contraseña inválidos Este campo es obligatorio - Importar medios… + Importando medios… - Bienvenida(o) + ¡Bienvenida(o)! Política de Privacidad Sobre %s - Agregar una Carpeta - Explorar Carpetas Existentes - Navegar por los Existentes + Añadir una carpeta + Examinar Carpetas Existentes + Examinar Existentes Gestor de Cargas Cargas - Cargando… - Cargando… (%d restantes) - Estas notificaciones se muestran cuando la app está realizando una carga de medios. + Editar Cola + Subida está pausada + Subiendo… + Subiendo… (%d restantes) + Estas notificaciones aparecen mientras la app está realizando una carga de medios. + + Subida + + + La app está bloqueada debido a múltiples intentos fallidos. Por favor intenta nuevamente más tarde. + Código de acceso no establecido + Código de acceso incorrecto.%1$d intentos restantes. + Demasiados intentos fallidos. La app está bloqueada. + + Bloquear la app con código de acceso. + Introduce Tu Código de Acceso + Los códigos de acceso no coinciden. Vuelve a intentar. + + Confirmar Código de Acceso + Establecer Código de Acceso + Asegúrate de recordar este pin. Si lo olvidas, tendrás que restablecer la app, y se eliminará toda la información. - Cargar - Presiona el botón de abajo para agregar medios. - Para comenzar, conéctate a un servidor para almacenar tus medios. - En el menú del costado, puedes agregar otro espacio de almacenamiento y conectar a múltiples servidores - Envía a un servidor WebDAV - Cargar a la IA - Guardar solo se conecta con servidores compatibles con WebDAV, por ejemplo, Nextcloud y ownCloud. + Toca el botón de abajo para agregar medios + Toca el botón de abajo para agregar una carpeta + Toca el botón de abajo para agregar un servidor + Para empezar, conéctate a un servidor para almacenar tus archivos multimedia + Puedes agregar varios servidores privados y\nuna cuenta de servidor IA o DWeb en cualquier momento. + Puedes agregar varios servidores privados y\nuna cuenta de IA en cualquier momento. + En el menú lateral, puedes añadir servidor y conectarte a múltiples servidores + Conectar a un servidor WebDAV seguro + Conectar a un servidor público gratuito o a un servidor privado pago + Conectar con servidores compatibles con WebDAV, p. ej. Nextcloud y ownCloud. Seguir Listo Contenido Significativo - Selecciona dónde almacenar tus medios. + Selecciona dónde almacenar tus archivos multimedia. ¡Te has conectado exitosamente a un servidor privado! - ¡Te has conectado exitosamente a Dropbox! + ¡Te has conectado correctamente a Dropbox! ¡Te has conectado exitosamente a Internet Archive! + ¡Te has conectado exitosamente a Google Drive! Crear una Nueva Carpeta + Primero, por favor nombra tu carpeta + Esta carpeta se creará en tu servidor y se añadirá automáticamente a Save + Introduce el nombre de la carpeta Editar Listo - Eliminar de la App - ¿Estás segura de que quieres eliminar tu proyecto? + Eliminar de la app + ¿Estás segura de que quieres eliminar tu proyecto\? Eliminar Archivar Proyecto Desarchivar Proyecto Por favor inicia sesión con credenciales válidas de Internet Archive. Clave de Acceso Clave Secreta - Guardar necesita las claves API de tu cuenta de Internet Archive para subir medios. + Guardarnecesita tus claves API de la cuenta de Internet Archive para poder subir medios. Adquirir Claves - Nuevo Directorio - Por favor no incluya caracteres especiales en este nombre - ¿Estás segura(o) de querer eliminar este servidor de la app? - El nombre de la carpeta ya existe. + Carpeta Nueva + Por favor no incluyas caracteres especiales en este nombre. + ¿Estás segura(o) de querer eliminar este servidor de la app\? + Nombre de carpeta ya existe. Dropbox Metadatos - ¿Estás segura(o) de que deseas eliminar este Medio? + Eliminar Medios + ¿Estás segura(o) de que deseas eliminar este Medio\? Marcar Contenido Significativo Cuando marcas un elemento, se envía a una subcarpeta dentro de la carpeta del proyecto elegido en el servidor privado. - Permitir el uso de licencia Creative Commons para todas las carpetas de este servidor + Establecer licencias de creative commons para carpetas en este servidor. + Permitir el uso de licencia Creative Commons para TODAS las carpetas de este servidor. Establece licencias Creative Commons únicas para CADA CARPETA INDIVIDUAL en este servidor. Instalar @@ -144,116 +225,184 @@ No se puede conectar a Orbot/Tor. No se puede conectar a Orbot/Tor: TIEMPO DE ESPERA No se puede conectar a Orbot/Tor: INVÁLIDA - Se detectó una conexión a Internet no segura + Detectada una conexión a internet no segura Versión %s + + Selecciona un Servidor + + Servidor Privado + Editar Servidor Privado + Nombre no puede estar vacío + + ¡Cambios sin guardar! + ¿Quieres guardar\? + Guardar + Descartar + + + Nombra tu servidor y elige una licencia + + + Configuración Completada + + + Editar Cola + Subida está pausada Nombre del Servidor (Opcional) ID de Dropbox: - Agregar Otra Cuenta - Clave de ProofMode segura con datos Biométricos o Código de Acceso del dispositivo - Clave de ProofMode segura con datos Biométricos - Clave de ProofMode segura con Código de Acceso del Dispositivo + Añadir nuevo servidor + Clave ProofMode segura con datos Biométricos o Código de Acceso del Dispositivo + Clave ProofMode segura con datos Biométricos + Clave ProofMode segura con Código de Acceso del Dispositivo ¡Cambiar esto creará una nueva clave! Si exportaste y firmaste esta antes, vas a necesitar hacerlo nuevamente con la nueva. Desbloquear Clave de ProofMode Carpetas - Crear Nombre para Carpeta - Nombre de la Carpeta + Crear Nombre de Carpeta + Nombre de Carpeta Crear Añadir No (más) carpetas - Servidor Privado + Subir a Dropbox - Inicia sesión o crear una cuenta con Dropbox + Inicia sesión o crea una cuenta con Dropbox Autenticar Volver Mis Medios - Si no tienes claves existentes, aprende cómo adquirir claves. - Info del servidor - Ingresar URL + Si no tienes claves existentes, aprende cómo adquirir claves. + Info de servidor + Introducir URL Cuenta General - Conectividad y Datos - Solo subir medios cuando estés conectada a Wi-Fi + + Solo subir medios cuando estés conectada(o) a Wi-Fi Seguridad ProofMode Ninguna aplicación puede manejar esta solicitud. Por favor instala un navegador web. - -Suba medios verificados a su servidor elegido. Añada una licencia de Creative Commons para comunicarse -sus intenciones para uso futuro. - - Mantén tus medios seguros y organizados a largo plazo y crea carpetas de proyectos en la aplicación que - mapean tu archivo de medios personal u organizacional. - - - Autentica tus medios con una verificación criptográfica de hash sha256 y opcionalmente - ProofMode. Agrega metadatos críticos como notas, personas y ubicación con cada carga. - - -
- Instala Orbot habilitar una seguridad de red avanzada.]]> -
+ Envía tus medios de manera segura a servidores privados y bloquea la app con un pin. + + + Carga automáticamente sobre TLS (Seguridad de la Capa de Transporte) y usa Orbot para proteger tus medios en tránsito a través de la red de Orbot. Seguir Listo Preservación Segura de Medios Móviles Comenzar - ProofMode recolecta metadatos de las torres de celular locales para ayudar a verificar medios. Android requiere permiso para habilitar esta configuración. Guardar solo usará esta configuración para capturar datos y NO accederá a tu teléfono para hacer/gestionar llamadas. + ProofMode recolecta metadatos de las torres de celular locales para ayudar a verificar medios. Android requiere permiso para habilitar esta configuración. Save solo usará esta configuración para capturar datos y NO accederá a tu teléfono para hacer/gestionar llamadas. Carpetas Archivadas Ver Carpetas Archivadas Más información sobre Creative Commons. - Actualizar - Para comenzar, crea una carpeta. + Refrescar + Para comenzar, por favor crea una carpeta. Antes de agregar medios, primero crea una nueva carpeta. - es vídeo + es video Usar Fragmentación de Subida (solo Nextcloud) - La “fragmentación” sube los medios en partes, así no tendrás que reiniciar tu subida si tu conexión se interrumpe. - Previsualizar Medios + “Fragmentación” sube medios en partes, así no tendrás que reiniciar tu subida si tu conexión se interrumpe. + Previsualizar Subida Agregar Más Seleccionar Todos Entendido - No mostrar esto de nuevo + No mostrarme esto de nuevo Editar Múltiples + Añadir Medios + Tocar + para elegir de la galería de imágenes o presiona y mantén para añadir medios desde otras apps. Presionar y sostener para seleccionar medios y editar múltiples medios. - Una vez subidos, no podrás editar los medios + Una vez subidos, no podrás editar los medios. Editar Info de Medios %1$d/%2$d Agregar una ubicación (opcional) Agregar notas (opcional) Omitir - Agregar medios o videos + Añadir Imágenes desde Cámara + Agregar Imágenes o Video Agregar Archivos Cómo Adquirir Llaves en 3 pasos fáciles - Paso 1: inicia sesión en Internet Archive. Si no tienes una cuenta, crea una. + Paso 1: Inicia sesión en Internet Archive. Si no tienes una cuenta, crea una. Paso 2: Si estás creando una cuenta nueva, verifica tu correo electrónico. - Paso 3: Obten tus claves API seleccionando la casilla y se cargará automáticamente en la app. + Paso 3: ¡Genera tus claves API seleccionando la casilla y se cargará automáticamente en la app! Carga Fallida + No se pudo subir debido a error de sesión, por favor vuelve a intentar o contacta a soporte. Reintentar Editar Medios - La carga está pausada - Agrega medios usando: + + Agregar Medios usando: + Cámara Galería de Fotos Archivos Controles de Salud - Ayuda a mejorar la app ejecutando controles de salud cuando fallan las cargas. - Los controles de salud nos ayudan a comprender por qué fallan las cargas. + Ayudar a mejorar la app ejecutando controles de salud cuando las subidas fallan. + Controles de salud nos ayudan a comprender por qué las subidas fallan. Aporta tus datos para ser parte de la solución. - Con tu permiso, realizaremos una verificación cada vez que encuentres un error durante la carga. + Con tu permiso, ejecutaremos una verificación cada vez que encuentres un error durante la carga. Los controles de salud capturan -- Descripción del error -- Tipo y tamaño de medios -- Número de reintentos -- Tipo de red -- Ubicación - ¿Permitir controles de salud? + ¿Permitir controles de salud\? Al permitir los controles de salud, otorgas permiso a la app para enviar de forma segura datos de control de salud al %s del equipo. No gracias Deshacer - + ID de Google Drive + %1$s del uso y transferencia de información recibida del %2$s de APIs hacia cualquier otra app se adhiere al %3$s, incluyendo los requerimientos de Uso Limitados. + Las API de %1$s te permiten enviar medios a tu %2$s vía %3$s, sin embargo, %3$s no puede ver ni acceder a nada en tu %2$s que no hayas creado con %3$s en primer lugar. + %1$s no puede funcionar adecuadamente si no le permites escribir en tu %2$s. Por favor vuelve a intentar la autorización y asegúrate de conceder todos los permisos de acceso listados. + nueva(o) usuaria(o) + + + Email + Nombre en Pantalla + Iniciar sesión + Crear uno + ¿Sin cuenta\? + Continuar + + Hola fragmento en blanco + + Mensajes + Sincronización + + + Tu firma + Acción de respuesta predeterminada + + + Sincronizar email periódicamente + Descargar adjuntos entrantes + Descarga automáticamente los archivos adjuntos de los correos electrónicos entrantes + Descarga los adjuntos solo cuando se solicite manualmente + + pref_media_servers + pref_media_folders + + Seguro + Archivo + Lee nuestros Términos y Política de Privacidad + Servidores Multimedia + Carpetas Archivadas + Administrar tus servidores + Administra tus carpetas archivadas + Lee nuestros Términos y Política de Privacidad + + pref_is_dark_mode + + ¡Éxito! + ¡Advertencia! + ¡Info! + Entendido + + + Has añadido una carpeta exitosamente + Has cambiado la configuración de tu servidor exitosamente. + Expandir + Aún no se han añadido servidores. + No se han encontrado carpetas. + No hay internet disponible + no disponible
diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index fe76a2d6..59cfb0ea 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -1,21 +1,53 @@ - ورود - اولین آغاز - آپلود + کشو باز + کشو بسته + + رسانهٔ خود را آرشیو کنید\nبیشتر یاد بگیرید +ورود + اولین شروع + بارگذاری‌ها تنظیمات - بایگانی اینترنت + Internet Archive + رسانهٔ خود را روی حساب عمومی رایگان و یا حساب شخصی پولی در Internet Archive بارگذاری کنید. + سرویس DWeb + به وب غیرمتمرکز متصل شوید + بارگذاری در Google Drive + وارد شوید یا یک حساب کاربری در Google Drive ایجاد کنید + + سرورها + افزودن سرور + + تغییر نام پوشه + انتخاب رسانه + حذف پوشه + + تغییر نام پوشه + انتخاب رسانه + آرشیوکردن پوشه + حذف پوشه از برنامه + + نام پوشه نمی‌تواند خالی باشد + نام پوشه تغییر کرد + پوشه پیدا نشد + پوشه حذف شد + پوشه آرشیو شد + + + غیرفعال‌کردن گذرواژه + آیا مطمئنید که می‌خواهید گذرواژه را غیرفعال کنید؟ + عکس اصلی @@ -23,20 +55,27 @@ لغو - قابل قبول + قبول + تأیید + تأیید ایمیل + لطفاً نشانی ایمیل خود را تأیید کنید و بازگردید تا حساب Internet Archive خود را وصل کنید. + - به هر کسی اجازه بازنشر و استفاده داده شود؟ - بخواه که مانند خودت به اشتراک بگذارند؟ - اجازه استفاده تجاری بده؟ - حذف فایل رسانه‌ای + پروانه + به هر کسی اجازهٔ تغییردادن و اشتراک‌گذاری رسانه‌ٔ شما داده شود؟ + از آن‌ها خواسته شود تا محتوای شما را بدون جرح‌وتعدیل در آن به‌اشتراک بگذارند؟ + اجازهٔ استفادهٔ تجاری داده شود؟ + + حذف رسانه‌ + این رسانه از Save حذف خواهد شد.\nاما روی سرور و گالری شما باقی خواهد ماند. - برای نشانه‌گذاری به عنوان محتوای مهم، روی پرچم بزنید. + برای علامت‌گذاری به‌عنوان محتوای مهم ضربه بزنید بله خیر @@ -44,78 +83,326 @@ خطا + مسیریابی Onion را فعال کنید + انتقال فقط از طریق شبکهٔ Tor + برای فعال‌سازی لطفاً Orbot را نصب کنید جلوگیری از اسکرین‌شات گرفتن - ارائه - قالب + از اسکرین‌شات گرفتن و ضبط صفحه‌نمایش این برنامه جلوگیری شود. + + نما + طرح زمینه + + تغییر قالب Save به روشن/تاریک + تنظیمات سیستم روشن تاریک + فعال‌سازی ProofMode + اشتراک‌گذاری کلید عمومی ProofMode + + + + + + + + برای کمک به اینکه محل ضبط رسانه‌های خود را تصدیق کنید، ProofMode داده‌هایی را از دکل‌های سلولی نزدیک جمع‌آوری می‌کند تا موقعیت مکانی شما را تأیید کند. سپس برای افزودن اعتبار و اطلاعات زمینه‌ای، یک فایل فرادادهٔ جداگانه در کنار رسانهٔ شما قرار داده می‌شود. نه Save و نه OpenArchive قادر به ذخیره‌سازی یا دست‌یابی به این داده‌های مکانی نخواهند بود و تنها کسانی که به فایل‌های سرور دسترسی دارند، قادر به مشاهدهٔ آن خواهند بود. Android برای جمع‌آوری این اطلاعات به دسترسی به موقعیت مکانی نیاز دارد. + + هویت ProofMode + کلید عمومی ProofMode را اشتراک‌گذاری کنید + + + + اجازهٔ دسترسی به موقعیت مکانی لازم است + - نام کاربری - گذرواژه + نام کاربری + ایمیل + رمز عبور + + \@string/prompt_email + ایمیل یا نام کاربری خود را وارد کنید + \@string/prompt_password + رمز عبور را وارد کنید + ورود - نام کاربری یا گذرواژه‌ نادرست است - این فیلد ضروری می باشد + نام کاربری یا رمز عبور نادرست است + ایمیل یا رمز عبور نادرست است + این فیلد ضروری است + + در حال واردکردن رسانه‌ها… + + خوش آمدید! + + سیاست حریم خصوصی + دربارهٔ %s + افزودن پوشه + مرور پوشه‌های موجود + مرور موارد موجود + مدیر بارگذاری + + بارگذاری‌ها + ویرایش صف + بارگذاری متوقف شده است + در حال بارگذاری… + در حال بارگذاری… (%d باقیمانده) + این اعلان‌ها زمانی نمایش داده می‌شوند که این برنامه در حال بارگذاری رسانه‌ها باشد. + + بارگذاری - خوش آمدید + + برنامه به دلیل تلاش‌های ناموفق متعدد قفل شده است. لطفا بعدا دوباره امتحان کنید. + گذرواژه تنظیم نشده است + گذرواژه اشتباه است. %1$d تلاش دیگر باقی مانده است. + تلاش‌های ناموفق بسیاری رخ داد. برنامه قفل‌شده است. - حریم خصوصی - آپلودها - بارگذاری....... - آپلود + برنامه را با گذرواژه قفل کنید + گذرواژهٔ خود را وارد کنید + گذرواژه‌ها با هم تطابق ندارند. دوباره امتحان کنید. + تأیید گذرواژه + تنظیم گذرواژه + حتماً این پین را به خاطر بسپارید. اگر آن را فراموش کنید، باید برنامه را بازنشانی کنید و تمام داده‌ها پاک خواهند شد. + + + + + برای افزودن رسانه روی دکمهٔ زیر ضربه بزنید + برای افزودن پوشه روی دکمهٔ زیر ضربه بزنید + برای افزودن سرور روی دکمهٔ زیر ضربه بزنید + برای شروع، به یک سرور وصل شوید تا رسانه‌های خود را ذخیره کنید + شما می‌توانید در هر زمانی چندین سرور خصوصی و\nیک حساب سرور IA یا DWeb اضافه کنید. + شما می‌توانید در هر زمانی چندید سرور و\nیک حساب IA اضافه کنید. + در منوی کناری، می‌توانید سرور دیگری اضافه کنید و به چندین سرور وصل شوید. + اتصال به یک سرور امن WebDAV + اتصال به یک سرور عمومی رایگان یا یک سرور خصوصی پولی + به یک سرور سازگار با WebDAV مانند Nextcloud و ownCloud متصل شوید. بعدی انجام شد محتوای مهم + انتخاب کنید رسانه‌های شما کجا ذخیره شوند + شما با موفقیت به یک سرور خصوصی وصل شدید! + شما با موفقیت به Dropbox وصل شدید! + شما با موفقیت به Internet Archive وصل شدید! + شما با موفقیت به Google Drive وصل شدید! + ایجاد پوشهٔ جدید + لطفاً ابتدا، پوشهٔ خود را نام‌گذاری کنید + این پوشه در سرور شما ایجاد و به‌صورت خودکار به Save افزوده خواهد شد. + نام پوشه را وارد کنید ویرایش انجام شد حذف از برنامه + آیا مطمئنید می‌خواهید پروژه‌یتان را حذف کنید؟ حذف - بایگانی کردن پروژه - خروج پروژه از بایگانی + آرشیوکردن پروژه + خارج‌کردن پروژه از آرشیو + لطفاً با اطلاعات کاربری معتبر Internet Archive وارد شوید. کلید دسترسی کلید خصوصی - به دست آوردن کلیدها - New Folder + Save برای بارگذاری رسانه‌ها به کلیدهای API حساب کاربری Internet Archive شما نیاز دارد. + دریافت کلیدها + پوشهٔ جدید + لطفاً در نام از نویسه‌های خاص استفاده نکنید. + آیا مطمئنید که می‌خواهید این سرور را از برنامه پاک کنید؟ + نام پوشه تکراری است. Dropbox - فرا داده + فراداده - نشانه‌گذاری محتوای مهم - هنگامی که یک مورد را نشانه‌گذاری می‌کنید، به یک زیرپوشه در پروژه‌ی انتخابی در سرور خصوصی منتقل می‌شود. + حذف رسانه + آیا از حذف این رسانه مطمئن هستید؟ + + علامت‌‌گذاری محتوای مهم + هنگامی که یک مورد را علامت‌گذاری می‌کنید، به یک زیرپوشه در پروژهٔ انتخابی در سرور خصوصی منتقل می‌شود. + + برای پوشه‌های این سرور پروانه‌های Creative Commons تنظیم کنید. + همان مجوز Creative Commons را برای تمام پوشه‌های این سرور تنظیم کنید. + برای هر پوشه به‌صورت جداگانه پروانه‌های Creative Commons منحصر‌به‌فرد تنظیم کنید. نصب در حال ورود… - پوشه ها - ایجاد کردن + شما از قبل یک سرور با این اطلاعات کاربری دارید + امکان اتصال به Tor/Orbot وجود ندارد. + امکان اتصال به Tor/Orbot وجود ندارد: اتمام وقت + امکان اتصال به Tor/Orbot وجود ندارد: نامعتبر + یک اتصال اینترنت ناامن شناسایی شد + نسخهٔ %s + + + یک سرور انتخاب کنید + + سرور خصوصی + ویرایش سرور خصوصی + نام نباید خالی باشد + + تغییرات ذخیره نشده‌اند! + می خواهید ذخیر کنید + ذخیره‌سازی + دور انداختن + + + سرور خود را نام‌گذاری کرده و یک پروانه انتخاب کنید + + + نصب کامل شد + + + ویرایش صف + بارگذاری متوقف شده است + + + نام سرور (اختیاری) + شناسهٔ Dropbox: + افزودن سرور جدید + از کلید ProofMode با کمک بیومتریک یا گذرواژهٔ دستگاه حفاظت کنید + از کلید ProofMode با بیومتریک محافظت کنید + از کلید ProofMode با گذرواژهٔ دستگاه محافظت کنید + تغییر این گزینه یک کلید جدید ایجاد خواهد کرد! اگر قبلاً از کلید قبلی خروجی گرفته و آن را امضا کرده‌اید، باید دوباره با کلید جدید این کار را انجام دهید. + بازگشایی کلید ProofMode + پوشه‌ها + ایجاد نام پوشه + نام پوشه + ایجاد افزودن + پوشه (بیشتری) وجود ندارد + بارگذاری در Dropbox - تصدیق کردن - برگشت + وارد شوید یا در Dropbox یک حساب کاربری ایجاد کنید + احراز اصالت + بازگشت + رسانه‌های من + اگر کلیدی موجود ندارید، نحوهٔ دریافت کلیدها را یاد بگیرید. + اطلاعات سرور + نشانی URL را وارد کنید حساب کاربری - کلی + عمومی + فایل‌های رسانه‌ای را تنها زمانی که به Wi-Fi متصل هستید، بارگذاری کنید. امنیت + ProofMode + هیچ برنامه ای قادر به انجام این درخواست نیست. لطفا یک مرورگر وب نصب کنید. + + رسانه‌های خود را به‌صورت امن به سرورهای خصوصی ارسال کنید و برنامه را با یک پین قفل کنید. + + \n\n + به‌صورت خودکار از طریق TLS (امنیت لایه انتقال) بارگذاری کن و برای حفاظت از رسانه‌های خود در حین انتقال از شبکه Orbot، از Orbot استفاده کن. بعدی انجام شد - حفظ ایمن رسانه‌های موبایل + نگهداری امن رسانه‌های تلفن همراه شروع کنید + ProofMode برای کمک به تصدیق رسانه‌ها، فراداده‌ها را از دکل‌های سلولی محلی جمع‌آوری می‌کند. Android برای فعال‌کردن این تنظیم نیاز به اجازهٔ دسترسی دارد. Save فقط از این تنظیم برای جمع‌آوری داده‌ها استفاده خواهد کرد و برای برقراری یا مدیریت تماس‌ها به تلفن شما دسترسی پیدا نخواهد کرد. + پوشه‌های آرشیوشده + مشاهدهٔ پوشه‌های آرشیوشده + در مورد Creative Commons بیشتر یاد بگیرید. تازه‌سازی + برای شروع، لطفاً یک پوشه ایجاد کنید + قبل از افزودن رسانه، ابتدا یک پوشهٔ جدید ایجاد کنید + ویدئو است + از قطعه‌بندی بارگذاری استفاده کنید (فقط برای Nextcloud) + «قطعه‌بندی» رسانه‌ها را به قطعاتی تقسیم می‌کند تا در صورت قطع اتصال، نیازی به از سرگیری بارگذاری نباشد. + پیش‌نمایش بارگذاری + افزودن بیشتر انتخاب همه متوجه شدم - از قلم بینداز - تلاش دوباره + دیگر این را نمایش نده + ویرایش گروهی + افزودن رسانه + برای انتخاب تصویر از گالری روی + ضربه بزنید و یا برای افزودن تصویر از برنامه‌های دیگر روی + ضربه بزنید و نگه دارید. + برای انتخاب و ویرایش چندین رسانه، ضربه بزنید و نگه دارید. + وقتی بارگذاری انجام شد، دیگر قادر به ویرایش رسانه نخواهید بود. + ویرایش اطلاعات رسانه + %1$d/%2$d + افزودن موقعیت مکانی (اختیاری) + افزودن یادداشت (اختیاری) + رد کردن + افزودن تصاویر از دوربین + افزودن تصاویر یا ویدئوها + افزودن فایل‌ها + + چگونگی دریافت کلید در ۳ قدم ساده + مرحله ۱: وارد حساب Internet Archive شوید. اگر حساب کاربری ندارید، یکی بسازید. + مرحله ۲: اگر در حال ایجاد حساب جدید هستید، ایمیل خود را تأیید کنید. + مرحله ۳: کلیدهای API خود را با انتخاب گزینهٔ مربوطه ایجاد کنید تا به‌ صورت خودکار در برنامه بارگذاری شود! - تدوین رسانه + بارگذاری ناموفق بود + به دلیل خطا در نشست ارتباطی، بارگذاری امکان‌پذیر نیست. لطفاً دوباره امتحان کنید یا با پشتیبانی تماس بگیرید. + امتحان مجدد + + ویرایش رسانه + + افزودن رسانه از طریق: + دوربین + گالری عکس فايل‌ها - بررسی‌های سلامت - با انجام بررسی‌های سلامت در صورت عدم موفقیت در بارگذاری‌ها، به بهبود برنامه کمک کنید. - بررسی‌های سلامت به ما کمک می‌کند تا بفهمیم چرا بارگذاری‌ها ناموفق هستند. - کمک کنید مشارکت داده‌های شما بخشی از راه حل باشند. - با اجازه شما، هر بار که هنگام بارگذاری با خطایی مواجه شدید، آن را بررسی خواهیم کرد. - یافته‌های بررسی‌های سلامت - بررسی سلامت مجاز است؟ - نه، ممنون - اصلاح + بررسی‌های صحت + با اجرای بررسی‌های صحت هنگام بارگذاری‌های ناموفق، به بهبود برنامه کمک کنید. + بررسی‌های صحت به ما کمک می‌کند تا بفهمیم چرا بارگذاری‌ها ناموفق هستند. + داده‌های خود را به مشارکت دهید تا بخشی از راه حل باشند. + با اجازهٔ شما، هر بار که هنگام بارگذاری با خطایی مواجه شدید، آن را بررسی خواهیم کرد. + یافته‌های بررسی‌های صحت + – توضیحات خطا + – حجم و نوع رسانه + – تعداد دفعات امتحان مجدد + – نوع شبکه + – زبان و منطقه + اجازهٔ انجام بررسی‌های صحت؟ + با اجازه‌دادن به اجرای بررسی‌های صحت به برنامه اجازه می‌دهید داده‌های بررسی صحت را به‌طور امن برای تیم %s ارسال کند. + نه ممنون + واگردانی + شناسهٔ Google Drive + استفاده و انتقال اطلاعات %1$s که از APIهای %2$s دریافت شده‌اند، به هر برنامهٔ دیگر طبق %3$s، شامل الزامات استفادهٔ محدود یا Limited Use صورت می‌گیرد. + رابط‌های برنامه‌نویسی یا APIها %1$s به شما اجازه می‌دهند که رسانه‌ها را از طریق %3$s به %2$s خود ارسال کنید. با این حال، %3$s قادر به مشاهده یا دسترسی به هیچ چیزی در %2$s شما نیست که شما از ابتدا با %3$s ایجاد نکرده‌اید. + اگر اجازهٔ نوشتن در %2$s خود را ندهید، %1$s به‌درستی کار نخواهد کرد. لطفاً مجدداً فرایند اعطای اجازه را انجام دهید و مطمئن شوید که تمام اجازه‌های فهرست‌شده را اعطا کرده‌اید. + کاربر جدید + + + ایمیل + نام نمایشی + ورود + ایجادکردن + حساب کاربری ندارید؟ + ادامه دهید + + قطعهٔ خالی سلام + + پیام‌ها + همگام‌سازی + + + امضای شما + عمل پاسخ‌دهی پیش‌فرض + + + همگام‌سازی دوره‌ای ایمیل + بارگیری پیوست‌های ورودی + بارگیری خودکار پیوست‌ها برای ایمیل‌های ورودی + بارگیری پیوست‌ها، فقط در صورت درخواست به‌صورت دستی + + pref_media_servers + pref_media_folders + + امن + آرشیو + شرایط و سیاست حریم خصوصی ما را بخوانید + سرورهای رسانه + پوشه‌های آرشیوشده + مدیریت سرورها + مدیریت پوشه‌های آرشیوشده + شرایط و سیاست حریم خصوصی ما را بخوانید + + pref_is_dark_mode + + موفقیت! + هشدار! + اطلاعات! + متوجه شدم + + پوشه را با موفقیت اضافه کردید + تنظیمات سرور را با موفقیت تغییر دادید. + گسترش + هنوز هیچ سروری افزوده نشده است. + هیچ پوشهٔ آرشیوشده‌ای یافت نشد. + اینترنت در دسترس نیست + در دسترس نیست diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index deb9b18c..477151e9 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -1,7 +1,12 @@ - Connexion + Tiroir ouvert + Tiroir fermé + + Archivez vos médias\nen apprendre davantage +Connexion + Lancement initial Téléversements @@ -9,14 +14,66 @@ Paramètres - Archive Internet + « Internet Archive » + Téléversez vos médias vers un compte public gratuit ou privé payant sur « Internet Archive ». + Service DWeb + Connectez-vous au Web décentralisé + Téléverser vers le Disque Google Drive + Se connecter au Disque Google Drive ou créer un compte + + + + + Serveurs + Ajouter un serveur + + Renommer le dossier + Choisir un média + Supprimer le dossier + + Renommer le dossier + Choisir un média + Archiver le dossier + Supprimer le dossier de l’appli + + Le nom du dossier ne peut pas être vide + Le dossier a été renommé + Le dossier est introuvable + Le dossier a été supprimé + Le dossier a été archivé + + + + + Désactiver le code d’accès + Voulez-vous vraiment désactiver le code d’accès \? + + + Image principale Annuler Valider - Supprimer le contenu multimédia + Confirmer + Confirmation de l’adresse courriel + Confirmez votre adresse courriel avant de vous connecter à votre compte « Internet Archive ». + + + + + Licence + Permettre à quiconque de remixer et de partager mes médias + Exiger un partage identique au mien + Permettre l’utilisation commerciale + + Supprimer le média + Ce média sera supprimé de Save\nIl restera sur le serveur et dans votre appli Photos. Touchez pour marquer comme contenu important Oui @@ -26,75 +83,326 @@ Erreur + Activer le routage en oinon + Ne transférer que par le Réseau Tor + Installez Orbot pour activer cette option Bloquer les captures d’écran + Interdire les captures et enregistrements d’écran de cette appli. + + Présentation Thème + + Thème d’appli clair ou sombre + Contrôlé par le système Clair Sombre + Activer ProofMode + Partager la clé publique ProofMode + + + + + + + + Pour confirmer l’endroit où votre média a été capturé, ProofMode recueille des données auprès des tours cellulaires voisines afin de corroborer votre emplacement. Pour ajouter de la crédibilité et du contexte, ProofMode ajoute à votre média un fichier de métadonnées distinct. Ni Save ni OpenArchive ne pourront accéder à ces données de localisation ni les stocker ; elles ne seront accessibles qu’aux personnes qui ont accès aux fichiers sur le serveur. L’accès à la localisation est nécessaire sur Android pour recueillir ces informations. + + Identité ProofMode + Partager la clé publique ProofMode + + + + L’autorisation de localisation est nécessaire + - Nom d’utilisateur - Mot de passe - Connexion + Nom d’utilisateur + Courriel + Mot de passe + + \@string/prompt_email + Saisissez une adresse courriel ou un nom d’utilisateur + \@string/prompt_password + Saisissez un mot de passe + + Créer un compte Le nom d’utilisateur ou le mot de passe est erroné + L’adresse courriel ou le mot de passe est erroné Ce champ est obligatoire + Importation du média… + Bienvenue Politique de confidentialité + À propos de %s + Ajouter un dossier + Parcourir les dossiers existants + Parcourir les dossiers + Gestionnaire de téléversement + Téléversements + Modifier la file d’attente + Le téléversement est suspendu Téléversement… - Téléversement + Téléversement… (il reste %d) + Ces notifications s’affichent lors du téléversement de média par l’appli. + + Téléverser + + Plusieurs tentatives infructueuses ont verrouillé l’appli. Réessayez plus tard. + Le code d’accès n’est pas défini + Le code d’accès est erroné. Il reste %1$dessais. + Trop de tentatives infructueuses. L’appli est verrouillée. + + Verrouiller l’appli avec un code d’accès + Saisissez votre code d’accès + Les codes d’accès ne correspondent pas. Réessayez. + + Confirmer le code d’accès + Définir le code d’accès + Mémorisez ce code. Si vous l’oubliez, vous devrez réinitialiser l’appli et toutes les données seront effacées. + + + + + Toucher le bouton ci-dessous pour ajouter un média + Toucher le bouton ci-dessous pour ajouter un dossier + Toucher le bouton ci-dessous pour ajouter un serveur + Pour commencer, connectez-vous à un serveur où enregistrer vos médias + Vous pouvez à tout moment ajouter plusieurs\nserveurs privés et un compte de serveur IA ou DWeb. + Vous pouvez à tout moment ajouter plusieurs\nserveurs privés et un compte de serveur IA. + Dans le menu latéral, vous pouvez ajouter un autre serveur et vous connecter à plusieurs serveurs. + Se connecter à un serveur WebDAV sécurisé + Se connecter à un serveur public gratuit ou privé payant + Connectez-vous à des serveurs compatibles avec WebDAV, p. ex. Nextcloud ou ownCloud. Suivant Terminé Contenu important + Choisissez où stocker vos médias. + La connexion au serveur privé est établie + La connexion à Dropbox est établie + La connexion à « Internet Archive » est établie + La connexion au Disque Google Drive est établie + Créer un nouveau dossier + Nommez d’abord votre dossier + Ce dossier sera créé sur votre serveur et ajouté automatiquement dans Save + Saisissez un nom de dossier Modifier Terminé Supprimer de l’appli + Voulez-vous vraiment supprimer votre projet \? Supprimer Archiver le projet Désarchiver le projet + Connectez-vous à l\'aide de vos identifiants Internet Archive valides. Clé d’accès - Clé secrète + Clé privée + Save a besoin des clés d’API de votre compte « Internet Archive » pour téléverser des médias. Obtenir les clés Nouveau dossier + Ne pas utiliser de caractères spéciaux dans le nom. + Voulez-vous vraiment supprimer ce serveur de l’appli \? + Un dossier portant ce nom existe déjà. Dropbox Métadonnées - Quand vous marquez un élément, il est acheminé vers un sous-dossier dans le dossier désigné du projet sur le serveur privé. + Supprimer le média + Voulez-vous vraiment supprimer ce média \? + + Marquer un contenu important + Quand vous marquez un élément, il est acheminé dans un sous-dossier du dossier du projet choisi sur le serveur privé. + + Attribuer des licences « Creative Commons » aux dossiers de ce serveur. + Attribuer la même licence « Creative Commons » à TOUS les dossiers de ce serveur. + Attribuer des licences « Creative Commons » uniques à CHAQUE dossier de ce serveur. Installer Connexion… + Un serveur est déjà défini avec ces identifiants + Impossible de se connecter à Orbot ou Tor. + Impossible de se connecter à Orbot ou Tor : le délai est expiré + Impossible de se connecter à Orbot ou Tor : invalide + Une connexion Internet non sécurisée a été détectée + Version %s + + + Choisir un serveur + + Serveur privé + Modifier le serveur privé + Le nom ne peut pas être vide + + Des changements ne sont pas enregistrés ! + Voulez-vous les enregistrer \? + Enregistrer + Abandonner + + + Nommez votre serveur et choisissez une licence + + + La configuration est terminée + + + Modifier la file d’attente + Le téléversement est suspendu + + + Nom du serveur (facultatif) + Identifiant Dropbox : + Ajouter un nouveau serveur + Sécuriser la clé ProofMode avec des données biométriques ou le code d’accès de l’appareil + Sécuriser la clé ProofMode avec des données biométriques + Sécuriser la clé ProofMode avec le code d’accès de l’appareil + Ce changement créera une nouvelle clé. Si vous l’avez exporté et signé auparavant, vous devrez le refaire avec la nouvelle clé. + Déverrouiller la clé ProofMode Dossiers + Créer un nom de dossier + Nom du dossier Créer Ajouter + Plus de dossiers + Téléverser vers Dropbox - S’authentifier + Se connecter à Dropbox ou créer un compte + Se connecter Retour + Mes médias + Si vous n’avez pas de clés, découvrez comment en obtenir. + Renseignements sur le serveur + Saisissez l’URL Compte Général - Ne téléverser des médias que connecté au Wi-Fi - Sécurité + + Téléverser les médias par Wi-Fi seulement + Securité + ProofMode + Aucune appli ne peut traiter cette demande. Installez un navigateur Web. + + Envoyez vos médias vers des serveurs privés en toute sécurité et verrouillez l’appli avec un code. + + + Téléverser automatiquement par TLS (sécurité de la couche de transport) et utiliser Orbot pour protéger vos médias en transit sur le Réseau Orbot. Suivant Terminé - Préservation sécurisée de médias sur appareil mobile - Commençons + Préservation sécurisée des médias sur appareil mobile + Commencer + ProofMode recueille les métadonnées des tours cellulaires locales pour confirmer les médias. Une autorisation est nécessaire sur Android pour activer ce paramètre. Save n’utilisera ce paramètre que pour capturer des données et n’accédera PAS à votre téléphone pour appeler ni gérer des appels. + Dossiers archivés + Afficher les dossiers archivés + Découvrir « Creative Commons ». Actualiser + Pour commencer, créez un dossier + Avant d’ajouter un média, créez un nouveau dossier. + est une vidéo + Fractionner les téléversements (seulement pour Nextcloud) + Le fractionnement des téléversements évite de tout recommencer en cas d’interruption de la connexion. + Aperçu du téléversement + En ajouter d’autres Tout sélectionner - D’accord + J’ai compris + Ne plus afficher + Modifier plusieurs + Ajouter des médias + Touchez + pour choisir dans la photothèque ou touchez et maintenez pour ajouter des médias d’autres applis. + Touchez et maintenez pour choisir plusieurs médias et les modifier. + Une fois téléversé, vous ne pourrez plus le modifier. + Modifier les renseignements du média + %1$d/%2$d + Ajouter un lieu (facultatif) + Ajouter des notes (facultatives) Ignorer - Ressayer + Ajouter des images de l’appareil photo + Ajouter des images ou des vidéos + Ajouter des fichiers + + Obtenir des clés en 3 étapes simples + 1re étape : connectez-vous à « Internet Archive ». Si vous n’avez pas de compte, créez-en un. + 2e étape : si vous créez un nouveau compte, confirmez votre adresse courriel. + 3e étape : générez vos clés d’API en cochant la case. Elles seront automatiquement chargées dans l’appli. + + Échec de téléchargement + Échec de téléversement causé par une erreur de session. Réessayez ou contactez l’assistance. + Réessayer + + Modifier le média + Ajouter des médias de : + Appareil photo + Photos Fichiers Bilans de santé - Aidez à améliorer l’appli en effectuant des bilans de santé quand les téléversements ne réussissent pas. - Les bilans de santé nous permettent de comprendre pourquoi les téléversements ne réussissent pas. - Partagez vos données pour faire partie de la solution. - Si vous l’autorisez, nous effectuerons un bilan de santé chaque fois que vous rencontrerez un problème de téléchargement. - Capture de bilans de santé - Permettre les bilans de santé ? - Non merci - Annuler + Aidez à améliorer l’appli en effectuant des bilans de santé en cas d’échec de téléversement. + Les bilans de santé nous aident à comprendre les échecs de téléversement. + Communiquez vos données pour participer à la solution. + Si vous l’autorisez, nous effectuerons un bilan après chaque échec de téléversement. + Bilans de santé + – Description de l’erreur + – Taille et type du média + – Nombre de tentatives + – Type de réseau + – Paramètres régionaux + Permettre les bilans de santé \? + En autorisant les bilans de santé, vous permettez à l’appli d’en envoyer les données en toute sécurité à l’équipe de %s. + Non, merci + Rétablir + Identifiant Disque Google Drive + L’utilisation de %1$s et le transfert de données reçues des API %2$s à d’autres applis sont conformes à %3$s, dont les exigences d’utilisation restreinte. + Les API %1$s vous permettent d’envoyer des médias à votre %2$s par %3$s. Cependant, %3$s ne peut ni voir ni accéder aux éléments de votre %2$s, que vous n’avez pas créé avec %3$s initialement. + %1$s ne peut pas fonctionner correctement si vous ne permettez pas l’écriture sur votre %2$s. Autorisez de nouveau et accordez toutes les autorisations d’accès indiquées. + nouvel utilisateur + + + Addresse courriel + Nom affiché + Connexion + Créer un compte + Pas de compte \? + Poursuivre + + Bonjour, partie vide + + Messages + Synchroniser + + + Votre signature + Action de réponse par défaut + + + Synchroniser les courriels régulièrement + Télécharger les fichiers joints entrants + Télécharger automatiquement les fichiers joints des courriels entrants + Télécharger les pièces jointes sur demande manuelle uniquement + + pref_media_servers + pref_media_folders + + Sécuriser + Archiver + Lire nos Conditions générales d’utilisation et notre Politique de confidentialité + Serveurs de contenu multimédia + Dossiers archivés + Gérez vos serveurs + Gérez vos dossiers archivés + Lire nos Conditions générales d’utilisation et notre Politique de confidentialité + + pref_is_dark_mode + + L’opération a été effectuée avec succès + Avertissement ! + Renseignements + J’ai compris + + Le dossier est ajouté + Les paramètres de votre serveur sont changés. + Développer + Aucun serveur n’a été ajouté + Aucun dossier archivé. + Aucune connexion à Internet + indisponible diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 812e1102..7b2a82c8 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -1,9 +1,11 @@ - Ortamlarınızı arşivleyin\nbilgi alın + Çekmece açık + Çekmece kapalı - Oturum açın + Ortamlarınızı arşivleyin\nbilgi alın +Oturum açın Önce başla Yüklemeler @@ -13,11 +15,42 @@ Internet Archive + Ortamınızı ücretsiz ve herkese açık ya da ücretli bir Internet Archive hesabına yükleyin. + DWeb hizmeti + Merkezi olmayan internet bağlantısı kurun + Google Drive üzerine yükle + Google Drive oturumu ya da hesabı aç + + Sunucular + Başka bir hesap ekle + + Klasörü yeniden adlandır + Ortam seçin + Klasörü Kaldır + + Klasörü yeniden adlandır + Ortam seçin + Klasörü arşivle + Klasörü uygulamadan kaldır + + Klasör adı boş olamaz + Klasör yeniden adlandırıldı + Klasör bulunamadı + Klasör silindi + Klasör arşivlendi + + + Parola kodunu devre dışı bırak + Parola kodunu devre dışı bırakmak istediğinize emin misiniz\? + + Onion yöneltme geliştiriliyor + Bu özellik şu anda geliştiriliyor. Şimdilik, gizliliğinizi ve güvenliğinizi artırmak için Orbot uygulamasını veya istediğiniz herhangi bir VPN hizmetini kullanabilirsiniz. + Ana görsel @@ -26,6 +59,7 @@ İptal Tamam + Onayla E-posta onayı Lütfen e-posta adresinizi doğrulayın ve Internet Archive hesabınızı bağlamaya geri dönün. @@ -35,11 +69,14 @@ Allow commercial uses of your work? --> + + Lisans İsteyen herkes yeniden derleyip paylaşabilsin Onlardan da senin gibi paylaşmasını iste Ticari olarak kullanılabilsin Ortamı sil + Ortam Save uygulamasından silinecek.\nSunucu ve fotoğraflar içinde durmayı sürdürecek. Önemli içerik olarak işaretlemek için dokunun Evet @@ -57,24 +94,39 @@ Sunum Tema + Save temasını koyu ya da açık yapın Sistem tarafından denetleniyor Açık Koyu ProofMode kullanılsın - Ek üst verileri alın ve tüm ortamları onaylayın. + ProofMode herkese açık anahtarını paylaş + Ayrıntılı bilgi alın ]]> + + ProofMode, ortamınızın nerede kaydedildiğini doğrulamaya yardımcı olmak için, konumunuzu doğrulamak amacıyla yakındaki baz istasyonlarından veri toplar. Güvenilirlik ve bağlam eklemek için, ortamınızla birlikte ayrı bir üst veri dosyası bulunur. Ne Save ne de OpenArchive bu konum verilerine erişemez veya depolayamaz. Bu verilere yalnızca sunucu dosyalarına erişimi olanlar erişilebilir. Android üzerinde bu bilgileri toplamak için konuma erişme izni gerekir. ProofMode kimliği ProofMode herkese açık anahtarını paylaş + + Konum izni gereklidir + - Kullanıcı adı - Parola + Kullanıcı adı + E-posta + Parola + + \@string/prompt_email + Bir e-posta adresi ya da kullanıcı adı yazın + \@string/prompt_password + Bir parola yazın + Oturum aç Kullanıcı adı ya da parola hatalı + E-posta ya da parola hatalı Bu alanın doldurulması zorunludur Ortam içe aktarılıyor… @@ -89,32 +141,57 @@ Yükleme yöneticisi Yüklemeler + Sorguyu düzenle + Yükleme duraklatıldı Yükleniyor… Yükleniyor… (%d kaldı) Bu bildirimler, bu uygulama ortam yüklemelerini yaparken görüntülenir. Yükle + + Birden fazla başarısız deneme nedeniyle uygulama kilitlendi. Lütfen bir süre sonra yeniden deneyin. + Parola kodu ayarlanmamış + Parola kodu hatalı. %1$d deneme hakkınız kaldı. + Çok fazla başarısız deneme yapıldı. Uygulama kilitlendi. + + Uygulamayı parola kodu ile kilitleyin + Parola kodunuzu yazın + Parola kodu ile onayı aynı değil. Yeniden deneyin. + + Parola kodu onayı + Parola kodunu ayarla + Bu PIN kodunu unutmayacağınızdan emin olun. Unutursanız, uygulamayı sıfırlamanız gerekir ve tüm veriler silinir. + + - Ortam eklemek için aşağıdaki düğmeye dokunun - Başlamak için, ortamınızı saklayacağınız bir sunucuya bağlanın. + Ortam eklemek için aşağıdaki düğmeye dokunun. + Bir klasör eklemek için aşağıdaki düğmeye dokunun + Bir sunucu eklemek için aşağıdaki düğmeye dokunun + Başlamak için, ortamınızı saklayacağınız bir sunucuya bağlanın + İstediğiniz zaman birden fazla özel sunucu ve\nbir IA veya DWeb sunucu hesabı ekleyebilirsiniz. + İstediğiniz zaman birden fazla özel sunucu ve\nbir IA hesabı ekleyebilirsiniz. Yan menüden başka bir sunucu ekleyebilir ve birkaç sunucuya bağlanabilirsiniz - Bir WebDAV sunucusuna gönder - Internet Archive üzerine yükle - Save yalnızca Nextcloud ve ownCloud gibi WebDAV uyumlu sunucularla bağlantı kurabilir. - Sonraki - Tamam + Bir güvenli WebDAV sunucusuna bağlan + Ücretsiz herkese açık ya da ücretli bir sunucuya bağlan + WebDAV uyumlu bir sunucuya bağlan, Nexcloud veya ownCloud gibi. + İleri + Bitti Önemli içerik Ortamınızı saklamak istediğiniz yeri seçin. Özel bir sunucu ile bağlantı kurdunuz! Dropbox ile bağlantı kurdunuz! İnternet Archive ile bağlantı kurdunuz! + Google Drive ile bağlantı kurdunuz! Yeni klasör oluştur + Önce klasörünüze bir ad verin + Bu klasör sunucunuzda oluşturulur ve otomatik olarak Save üzerine eklenir + Klasör adını yazın Düzenle - Tamam + Bitti Uygulamadan kaldır - Projenizi kaldırmak istediğinize emin misiniz? + Projenizi kaldırmak istediğinize emin misiniz\? Kaldır Projeyi arşive kaldır Projeyi arşivden çıkar @@ -125,16 +202,18 @@ Anahtarları al Yeni klasör Lütfen ad içinde özel karakterler kullanmayın. - Bu sunucuyu uygulamadan kaldırmak istediğinize emin misiniz? + Bu sunucuyu uygulamadan kaldırmak istediğinize emin misiniz\? Klasör adı zaten var. Dropbox Üst veriler - Bu ortamı silmek istediğinize emin misiniz? + Ortamı sil + Bu ortamı silmek istediğinize emin misiniz\? Önemli içerik olarak işaretle Bir ögeyi işaretlediğinizde, özel sunucu üzerinde seçilmiş proje klasöründeki bir alt klasöre yönlendirilir. + Bu sunucudaki klasörler için Creative Commons lisansını ayarlayın. Bu sunucudaki TÜM klasörler için aynı Creative Commons lisansı ayarlayın. Bu sunucudaki HER BİR klasör için ayrı Creative Commons lisansı ayarlayın. @@ -147,11 +226,32 @@ Güvenli olmayan bir internet bağlantısı algılandı %s sürümü + + Bir sunucu seçin + + Özel sunucu + Özel sunucuyu düzenle + Ad boş bırakılamaz + + Değişiklikler kaydedilmemiş! + Kaydetmek ister misiniz + Kaydet + Yok say + + + Sunucunuza bir ad verin ve bir lisans seçin + + + Kurulum tamamlandı + + + Sorguyu düzenle + Yükleme duraklatıldı Sunucu adı (isteğe bağlı) Dropbox kimliği: - Başka bir hesap ekle + Yeni sunucu ekle ProofMode anahtarını biyometri veya aygıt parolası ile koruyun ProofMode anahtarını biyometri ile koruyun ProofMode anahtarını aygıt parolası ile koruyun @@ -163,7 +263,7 @@ Oluştur Ekle (Başka) klasör yok - Özel sunucu + Dropbox üzerine yükle Dropbox oturumu ya da hesabı aç Doğrula @@ -171,7 +271,7 @@ Ortamlarım Var olan bir anahtarınız yoksa, anahtarları nasıl alacağınızı öğrenin. Sunucu bilgileri - Adresi yazın + Adresi yazın Hesap Genel @@ -180,26 +280,12 @@ ProofMode Bu isteği yerine getirecek bir uygulama yok. Lütfen bir tarayıcı kurun. - - Doğrulanmış ortamı seçtiğiniz sunucuya yükleyin. Gelecekte kullanması niyetinizi göstermesi için - bir Creative Commons lisansı ekleyin. - - - Ortamınızın uzun süre güvende ve düzenli olmasını sağlayın ve uygulama içinde - proje klasörleri oluşturarak kişisel veya kurumsal ortam arşivinizin haritasını çıkarın. - - - Ortamınızın kimliğini şifreli doğrulama sha256 karması ve isteğe bağlı ProofMode ile doğrulayın. - Her yüklemeye notlar, kişiler ve konum gibi önemli olabilecek üst veriler ekleyin. - - -
- Gelişmiş ağ güvenliği sağlamak için Orbot kurun.]]> -
- Sonraki - Tamam + Ortamınızı güvenli bir şekilde özel sunuculara gönderin ve uygulamayı bir PIN kodu ile kilitleyin. + Bir Creative Commons Lisansı ekleyerek ileride kullanılmak üzere amacınızı iletin.]]> + ProofMode ile yetkilendirin ve doğrulayın.]]> + TLS (aktarım katmanı güvenliği) ile otomatik olarak yükleyin ve Orbot kullanarak ortamınızı aktarım sırasında Orbot ağı ile koruyun. + İleri + Bitti Güvenli mobil ortam koruma Kullanmaya başlayın ProofMode, ortamın doğrulanmasına yardımcı olmak için yerel baz istasyonlarından üst verileri toplar. Bu ayarın açılabilmesi için Android izninin verilmesi gereklidir. Save, bu ayarı yalnızca veri yakalamak için kullanır ve arama yapmak/yönetmek için telefonunuza ERİŞMEZ. @@ -212,19 +298,22 @@ video mu Yükleme paketleri kullanılsın (yalnızca Nextcloud) \"Paketleme\", ortamı parçalar halinde yükler. Böylece bağlantınız kesilirse yüklemeyi en baştan değil kaldığınız yerden sürdürebilirsiniz. - Ortam ön izlemesi + Yükleme ön izleme Başka ekle Tümünü seç Anladım Bunu bir daha gösterme Birkaç ögeyi düzenle + Ortam ekle + Resim galerisinden seçim yapmak için + üzerine dokunun ya da diğer uygulamalardan ortam eklemek için basılı tutun. Birkaç ortamı seçmek ve düzenlemek için basılı tutun - Yüklendikten sonra ortamı düzenleyemeyeceksiniz + Yüklendikten sonra ortamı düzenleyemeyeceksiniz. Ortam bilgilerini düzenle %1$d/%2$d Bir konum ekle (isteğe bağlı) Notlar ekle (isteğe bağlı) Atla + Kamera fotoğrafları ekle Görsel ya da video ekle Dosya ekle @@ -234,11 +323,13 @@ 3. adım: Kutuyu işaretleyerek uygulamaya otomatik olarak yüklenecek API anahtarlarınızı oluşturun. Yükleme tamamlanamadı + Oturum sorunu nedeniyle yükleme yapılamadı. Lütfen yeniden deneyin ya da destek ekibi ile görüşün. Yeniden dene Ortamı düzenle - Yükleme duraklatıldı + Şununla ortam ekleyin: + Kamera Fotoğraf galerisi Dosyalar Sağlık denetimleri @@ -256,5 +347,60 @@ Bu seçenek açıldığında, uygulamanın sağlık denetimi verileri güvenli bir şekilde %s ekibine gönderilir. Hayır, teşekkürler Geri al - + Google Drive kimliği + %1$s tarafından %2$s API uygulamalarından alınan bilgilerin başka herhangi bir uygulamada kullanılması ve aktarılması, sınırlı kullanım gereksinimleri ile birlikte %3$s koşullarına uygundur. + %1$s API uygulamaları %2$s aygıtınıza %3$s ile ortam göndermenizi sağlar. Ancak %3$s %2$s aygıtınızda, daha önce %3$s ile oluşturmadığınız hiçbir şeyi göremez veya erişemez. + %2$s aygıtınıza yazma izni vermezseniz %1$s düzgün çalışamaz. Lütfen yeniden izin vermeyi deneyin ve görüntülenen erişim izinlerinin *tümünü* verdiğinizden emin olun. + yeni kullanıcı + + + E-posta + Ekran adı + Oturum aç + Bir tane oluştur + Hesabınız yok mu\? + İlerle + + Merhaba boş parça + + İletiler + Sync + + + İmzanız + Varsayılan yanıt işlemi + + + E-posta düzenli eşitlensin + Gelen ek dosyalar indirilsin + Gelen e-postalardaki ek dosyalar otomatik olarak indirilir. + Ek dosyalar yalnızca el ile istendiğinde indirilsin + + pref_media_servers + pref_media_folders + + Güvenli Tutma + Arşivleyin + Koşullarımızı ve gizlilik ilkemizi okuyun + Ortam sunucuları + Arşivlenmiş klasörler + Sunucularınızı yönetin + Arşivlenmiş klasörlerinizi yönetin + Koşullarımızı ve gizlilik ilkemizi okuyun + + pref_is_dark_mode + + Başarılı! + Uyarı! + Bilgiler! + Anladım + + + Bir klasör eklediniz + Sunucu ayarlarınızı değiştirdiniz. + Genişlet + Henüz bir sunucu eklenmemiş. + Herhangi bir arşivlenmiş klasör bulunamadı. + İnternet erişimi yok + uygun değil
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c99dfbc2..8b69b6a1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -313,12 +313,12 @@ ProofMode.]]> https://proofmode.org Automatically upload over TLS (Transport Layer Security) and use Orbot to protect your media in transit over the Tor network. - Save always uploads over TLS (Transport Layer Security) to protect your media in transit.
To further enhance security, enable Tor to prevent interception of your media from your phone to the server.]]>
+ Save always uploads over TLS (Transport Layer Security) to protect your media in transit.
To further enhance security, enable Orbot to prevent interception of your media from your phone to the server.]]>
- https://www.torproject.org + https://orbot.app/ Next Done @@ -400,6 +400,7 @@ Create one No account? Continue + Open Orbot @@ -453,4 +454,5 @@ No servers added yet. No archived folders found. Internet not available + unavailable From 60a0176a059e1662c0c9e16c9a4382241a6c7a82 Mon Sep 17 00:00:00 2001 From: Elelan's Macbook Pro Date: Wed, 25 Jun 2025 23:19:00 +0530 Subject: [PATCH 2/4] Refactor: Remove Snackbar confirmation for media deletion This commit removes the Snackbar confirmation that appeared when deleting media items. The deletion now happens immediately. Additionally, the following changes were made: - Updated AGP to 8.11.0, Kotlin to 2.2.0, and KSP to 2.2.0-2.0.2. - Updated Gradle wrapper to version 8.14.2. - Ensured `BrowseFoldersFragment` navigates back even if the confirmation dialog is dismissed. - Added an `onDismissAction` to `BaseDialog` to allow custom actions when a dialog is dismissed. --- .../openarchive/db/UploadMediaAdapter.kt | 59 +++++++++---------- .../features/core/dialog/BaseDialog.kt | 1 + .../core/dialog/DialogConfigBuilder.kt | 9 +++ .../features/folders/BrowseFoldersFragment.kt | 4 ++ .../main/adapters/MainMediaAdapter.kt | 44 +++++++------- .../upload/UploadManagerFragment.kt | 1 + gradle/libs.versions.toml | 6 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 8 files changed, 68 insertions(+), 58 deletions(-) diff --git a/app/src/main/java/net/opendasharchive/openarchive/db/UploadMediaAdapter.kt b/app/src/main/java/net/opendasharchive/openarchive/db/UploadMediaAdapter.kt index 649f624e..c0751153 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/db/UploadMediaAdapter.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/db/UploadMediaAdapter.kt @@ -176,44 +176,41 @@ class UploadMediaAdapter( if (pos < 0 || pos >= media.size) return val item = media[pos] - var undone = false - - val snackbar = - Snackbar.make(recyclerView, R.string.confirm_remove_media, Snackbar.LENGTH_LONG) - snackbar.setAction(R.string.undo) { _ -> - undone = true - media.add(pos, item) - - notifyItemInserted(pos) +// var undone = false + +// val snackbar = Snackbar.make(recyclerView, R.string.confirm_remove_media, Snackbar.LENGTH_LONG) +// snackbar.setAction(R.string.undo) { _ -> +// undone = true +// media.add(pos, item) +// +// notifyItemInserted(pos) +// } + +// snackbar.addCallback(object : Snackbar.Callback() { +// override fun onDismissed(transientBottomBar: Snackbar?, event: Int) { +// if (!undone) { + val collection = item.collection + + // Delete collection along with the item, if the collection + // would become empty. + if ((collection?.size ?: 0) < 2) { + collection?.delete() + } else { + item.delete() } - snackbar.addCallback(object : Snackbar.Callback() { - override fun onDismissed(transientBottomBar: Snackbar?, event: Int) { - if (!undone) { - val collection = item.collection - // Delete collection along with the item, if the collection - // would become empty. - if ((collection?.size ?: 0) < 2) { - collection?.delete() - } else { - item.delete() - } +// } +// +// super.onDismissed(transientBottomBar, event) +// } +// }) - BroadcastManager.postDelete(recyclerView.context, item.id) - } - - super.onDismissed(transientBottomBar, event) - } - }) - - snackbar.show() + // snackbar.show() removeItem(item.id) - mActivity.get()?.let { - BroadcastManager.postDelete(it, item.id) - } + BroadcastManager.postDelete(recyclerView.context, item.id) } diff --git a/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/BaseDialog.kt b/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/BaseDialog.kt index bff6e81c..20c84b97 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/BaseDialog.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/BaseDialog.kt @@ -241,6 +241,7 @@ fun DialogHost(dialogStateManager: DialogStateManager) { BaseDialog( onDismiss = { dialogStateManager.dismissDialog() + config.onDismissAction?.invoke() }, icon = config.icon, iconColor = config.iconColor, diff --git a/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/DialogConfigBuilder.kt b/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/DialogConfigBuilder.kt index 3c5a4656..143bbf0a 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/DialogConfigBuilder.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/DialogConfigBuilder.kt @@ -111,6 +111,10 @@ class DialogBuilder { .build(defaultText = defaultDestructiveText()) } + fun onDismissAction(block: () -> Unit) { + _onDismissAction = block + } + // Default texts based on type. private fun defaultPositiveTextFor(type: DialogType): UiText = when (type) { DialogType.Success -> UiText.StringResource(R.string.lbl_ok) @@ -211,6 +215,7 @@ class DialogBuilder { positiveButton = _positiveButton, //?: ButtonData(defaultPositiveTextFor(type)), neutralButton = _neutralButton, destructiveButton = _destructiveButton, + onDismissAction = _onDismissAction, showCheckbox = showCheckbox, checkboxText = checkboxText, onCheckboxChanged = onCheckboxChanged, @@ -267,6 +272,7 @@ fun DialogStateManager.showSuccessDialog( @StringRes positiveButtonText: Int? = null, icon: UiImage? = null, onDone: () -> Unit = {}, + onDismissed: () -> Unit = {} ) { val resourceProvider = this.requireResourceProvider() @@ -280,6 +286,9 @@ fun DialogStateManager.showSuccessDialog( text = UiText.StringResource(positiveButtonText ?: R.string.lbl_got_it) action = onDone } + onDismissAction { + onDismissed() + } } } diff --git a/app/src/main/java/net/opendasharchive/openarchive/features/folders/BrowseFoldersFragment.kt b/app/src/main/java/net/opendasharchive/openarchive/features/folders/BrowseFoldersFragment.kt index 042c8a81..def3e788 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/features/folders/BrowseFoldersFragment.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/features/folders/BrowseFoldersFragment.kt @@ -92,6 +92,10 @@ class BrowseFoldersFragment : BaseFragment(), MenuProvider { positiveButtonText = R.string.label_got_it, onDone = { navigateBackWithResult(projectId) + }, + onDismissed = { + // If the dialog is dismissed, we still want to navigate back + navigateBackWithResult(projectId) } ) } diff --git a/app/src/main/java/net/opendasharchive/openarchive/features/main/adapters/MainMediaAdapter.kt b/app/src/main/java/net/opendasharchive/openarchive/features/main/adapters/MainMediaAdapter.kt index 257d59ff..54caa8ba 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/features/main/adapters/MainMediaAdapter.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/features/main/adapters/MainMediaAdapter.kt @@ -231,20 +231,20 @@ class MainMediaAdapter( if (pos < 0 || pos >= media.size) return val item = media[pos] - var undone = false - - val snackbar = - Snackbar.make(recyclerView, R.string.confirm_remove_media, Snackbar.LENGTH_LONG) - snackbar.setAction(R.string.undo) { _ -> - undone = true - media.add(pos, item) - - notifyItemInserted(pos) - } - - snackbar.addCallback(object : Snackbar.Callback() { - override fun onDismissed(transientBottomBar: Snackbar?, event: Int) { - if (!undone) { +// var undone = false + +// val snackbar = +// Snackbar.make(recyclerView, R.string.confirm_remove_media, Snackbar.LENGTH_INDEFINITE) +// snackbar.setAction(R.string.undo) { _ -> +// undone = true +// media.add(pos, item) +// +// notifyItemInserted(pos) +// } +// +// snackbar.addCallback(object : Snackbar.Callback() { +// override fun onDismissed(transientBottomBar: Snackbar?, event: Int) { +// if (!undone) { val collection = item.collection // Delete collection along with the item, if the collection @@ -255,20 +255,18 @@ class MainMediaAdapter( item.delete() } - BroadcastManager.postDelete(recyclerView.context, item.id) - } - super.onDismissed(transientBottomBar, event) - } - }) +// } +// +// super.onDismissed(transientBottomBar, event) +// } +// }) - snackbar.show() + //snackbar.show() removeItem(item.id) - mActivity.get()?.let { - BroadcastManager.postDelete(it, item.id) - } + BroadcastManager.postDelete(recyclerView.context, item.id) } fun getSelectedCount(): Int = media.count { it.selected } diff --git a/app/src/main/java/net/opendasharchive/openarchive/upload/UploadManagerFragment.kt b/app/src/main/java/net/opendasharchive/openarchive/upload/UploadManagerFragment.kt index 376ab071..ec764f54 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/upload/UploadManagerFragment.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/upload/UploadManagerFragment.kt @@ -155,6 +155,7 @@ open class UploadManagerFragment : SKBottomSheetDialogFragment() { parentFragmentManager.setFragmentResult("uploadRetry", resultBundle) } } + destructiveButton { text = UiText.StringResource(R.string.btn_lbl_remove_media) action = { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bb2e1806..9fdeefc4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] activity = "1.9.3" -agp = "8.9.2" +agp = "8.11.0" appcompat = "1.7.0" biometric = "1.1.0" coil = "3.0.4" @@ -20,8 +20,8 @@ glide = "4.16.0" gson = "2.11.0" junit = "4.13.2" koin = "4.1.0-Beta5" -kotlin = "2.1.20" -ksp = "2.1.20-2.0.1" +kotlin = "2.2.0" +ksp = "2.2.0-2.0.2" lifecycle = "2.8.7" orhanobut-logger = "2.2.0" material = "1.12.0" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 58af6a13..c4871ba1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-all.zip \ No newline at end of file From eb1f3f9e6685eafaf90d0f09a63f7240f76d89d9 Mon Sep 17 00:00:00 2001 From: Elelan's Macbook Pro Date: Thu, 26 Jun 2025 19:11:21 +0530 Subject: [PATCH 3/4] Updated dialog UI and added Tor download link This commit updates the dialog UI by changing the icon color to tertiary. It also adds a "Download Orbot" button to the Tor disabled dialog, which links to the Orbot app on the Google Play Store. Additionally, the version name has been updated to 4.0.0 and the version code to 30011. The commit also includes a fix to ensure the arrow in the MainMediaFragment is shown/hidden correctly when the ContentPickerFragment is dismissed. --- app/build.gradle.kts | 5 +++-- .../openarchive/features/core/dialog/BaseDialog.kt | 1 + .../features/core/dialog/DialogConfigBuilder.kt | 1 + .../openarchive/features/main/MainActivity.kt | 9 +++++++++ .../openarchive/features/main/MainMediaFragment.kt | 6 ++++++ .../features/media/ContentPickerFragment.kt | 7 +++++++ .../features/settings/SettingsFragment.kt | 12 +++++++++++- .../net/opendasharchive/openarchive/util/Prefs.kt | 3 +++ app/src/main/res/values/strings.xml | 1 + 9 files changed, 42 insertions(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 6457c7c4..205089cb 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,4 +1,5 @@ import java.io.FileInputStream +import java.text.SimpleDateFormat import java.util.Properties plugins { @@ -45,8 +46,8 @@ android { minSdk = 29 //noinspection OldTargetApi targetSdk = 34 - versionCode = 30007 - versionName = "0.7.8" + versionCode = 30011 + versionName = "4.0.0" multiDexEnabled = true vectorDrawables.useSupportLibrary = true testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/BaseDialog.kt b/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/BaseDialog.kt index 20c84b97..b1dd87f1 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/BaseDialog.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/BaseDialog.kt @@ -323,6 +323,7 @@ private fun TorWarningDialogPreview() { BaseDialog( onDismiss = {}, icon = Icons.Default.Info.asUiImage(), + iconColor = MaterialTheme.colorScheme.tertiary, title = stringResource(R.string.tor_disabled_title), message = stringResource(R.string.tor_disabled_message), positiveButton = ButtonData(UiText.DynamicString(stringResource(R.string.lbl_ok))), diff --git a/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/DialogConfigBuilder.kt b/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/DialogConfigBuilder.kt index 143bbf0a..d5027c04 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/DialogConfigBuilder.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/features/core/dialog/DialogConfigBuilder.kt @@ -354,6 +354,7 @@ fun DialogStateManager.showWarningDialog( type = DialogType.Warning this.title = title this.icon = icon + iconColor = resourceProvider.getColor(R.color.colorTertiary) this.message = message positiveButton { text = positiveButtonText ?: UiText.StringResource(R.string.lbl_got_it) diff --git a/app/src/main/java/net/opendasharchive/openarchive/features/main/MainActivity.kt b/app/src/main/java/net/opendasharchive/openarchive/features/main/MainActivity.kt index 13215329..f8326257 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/features/main/MainActivity.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/features/main/MainActivity.kt @@ -213,6 +213,14 @@ class MainActivity : BaseActivity(), SpaceDrawerAdapterListener, FolderDrawerAda UploadService.startUploadService(this) } + supportFragmentManager.setFragmentResultListener( + ContentPickerFragment.KEY_DISMISS, + this + ) { _, _ -> + // when the sheet goes away, show your arrow + getCurrentMediaFragment()?.setArrowVisible(true) + } + reviewManager = ReviewManagerFactory.create(this) InAppReviewHelper.requestReviewInfo(this) shouldPromptReview = InAppReviewHelper.onAppLaunched() @@ -356,6 +364,7 @@ class MainActivity : BaseActivity(), SpaceDrawerAdapterListener, FolderDrawerAda } else if (getSelectedProject() == null) { navigateToAddFolder() } else { + getCurrentMediaFragment()?.setArrowVisible(false) val addMediaBottomSheet = ContentPickerFragment { actionType -> addClicked(actionType) } addMediaBottomSheet.show(supportFragmentManager, ContentPickerFragment.TAG) diff --git a/app/src/main/java/net/opendasharchive/openarchive/features/main/MainMediaFragment.kt b/app/src/main/java/net/opendasharchive/openarchive/features/main/MainMediaFragment.kt index ff206b88..dc3cb18c 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/features/main/MainMediaFragment.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/features/main/MainMediaFragment.kt @@ -322,5 +322,11 @@ class MainMediaFragment : BaseFragment() { (activity as? MainActivity)?.showUploadManagerFragment() } + fun setArrowVisible(visible: Boolean) { + binding.imgWelcomeArrowLayout.visibility = + if (visible) View.VISIBLE else View.INVISIBLE + } + + override fun getToolbarTitle(): String = "" } diff --git a/app/src/main/java/net/opendasharchive/openarchive/features/media/ContentPickerFragment.kt b/app/src/main/java/net/opendasharchive/openarchive/features/media/ContentPickerFragment.kt index 1ea462a8..4cb98d75 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/features/media/ContentPickerFragment.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/features/media/ContentPickerFragment.kt @@ -1,5 +1,6 @@ package net.opendasharchive.openarchive.features.media +import android.content.DialogInterface import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,6 +16,7 @@ class ContentPickerFragment(private val onMediaPicked: (AddMediaType) -> Unit): companion object { const val TAG = "ModalBottomSheet-ContentPickerFragment" + const val KEY_DISMISS = "ContentPickerFragment.Dismiss" } override fun onCreateView( @@ -43,4 +45,9 @@ class ContentPickerFragment(private val onMediaPicked: (AddMediaType) -> Unit): return binding.root } + + override fun onDismiss(dialog: DialogInterface) { + parentFragmentManager.setFragmentResult(KEY_DISMISS, Bundle()) + super.onDismiss(dialog) + } } \ No newline at end of file diff --git a/app/src/main/java/net/opendasharchive/openarchive/features/settings/SettingsFragment.kt b/app/src/main/java/net/opendasharchive/openarchive/features/settings/SettingsFragment.kt index 4965a2f3..36b7f0e1 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/features/settings/SettingsFragment.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/features/settings/SettingsFragment.kt @@ -14,6 +14,7 @@ import net.opendasharchive.openarchive.features.core.UiText import net.opendasharchive.openarchive.features.core.dialog.DialogStateManager import net.opendasharchive.openarchive.features.core.dialog.DialogType import net.opendasharchive.openarchive.features.core.dialog.showDialog +import net.opendasharchive.openarchive.features.core.dialog.showWarningDialog import net.opendasharchive.openarchive.features.onboarding.SpaceSetupActivity import net.opendasharchive.openarchive.features.onboarding.StartDestination import net.opendasharchive.openarchive.features.settings.passcode.PasscodeRepository @@ -144,10 +145,19 @@ class SettingsFragment : PreferenceFragmentCompat() { setOnPreferenceClickListener { dialogManager.showDialog(dialogManager.requireResourceProvider()) { type = DialogType.Info + iconColor = dialogManager.requireResourceProvider().getColor(R.color.colorTertiary) title = UiText.StringResource(R.string.tor_disabled_title) message = UiText.StringResource(R.string.tor_disabled_message) positiveButton { - text = UiText.StringResource(android.R.string.ok) + text = UiText.StringResource(R.string.tor_download_btn_label) + action = { + // Launch the Tor download activity + val intent = Intent(Intent.ACTION_VIEW, Prefs.TOR_DOWNLOAD_URL) + startActivity(intent) + } + } + neutralButton { + text = UiText.StringResource(android.R.string.cancel) } } true diff --git a/app/src/main/java/net/opendasharchive/openarchive/util/Prefs.kt b/app/src/main/java/net/opendasharchive/openarchive/util/Prefs.kt index 0e45e658..01d97097 100644 --- a/app/src/main/java/net/opendasharchive/openarchive/util/Prefs.kt +++ b/app/src/main/java/net/opendasharchive/openarchive/util/Prefs.kt @@ -3,6 +3,7 @@ package net.opendasharchive.openarchive.util import android.annotation.SuppressLint import android.content.Context import android.content.SharedPreferences +import android.net.Uri import android.util.Base64 import androidx.preference.PreferenceManager import org.witness.proofmode.ProofMode @@ -30,6 +31,8 @@ object Prefs { private const val LICENSE_URL = "archive_pref_share_license_url" private const val PROOFMODE_ENCRYPTED_PASSPHRASE = "proof_mode_encrypted_passphrase" + val TOR_DOWNLOAD_URL = Uri.parse("https://play.google.com/store/apps/details?id=org.torproject.android") + private var prefs: SharedPreferences? = null fun load(context: Context) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8b69b6a1..ac04480a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -62,6 +62,7 @@ Onion routing under development This feature is currently under development. For now, you can use Orbot or any VPN of your choice to enhance your privacy and security. + "Download Orbot" Main Image From 5a66b959c7dbf36773771728bae4fc6215d1fd8c Mon Sep 17 00:00:00 2001 From: Elelan's Macbook Pro Date: Mon, 30 Jun 2025 19:44:08 +0530 Subject: [PATCH 4/4] removed unused string res --- app/src/main/res/values/strings.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ac04480a..300245f8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -401,7 +401,6 @@ Create one No account? Continue - Open Orbot