Merge branch 'feature/VDR-room' into feature/VDR-lifetime

This commit is contained in:
Nikita Gopienko 2024-05-24 17:04:30 +03:00
commit a9e075ee51
91 changed files with 1016 additions and 444 deletions

View File

@ -112,7 +112,7 @@
"DownloadCopy": "تنزيل نسخة",
"DownloadLog": "سجل التنزيل",
"DownloadReportBtnText": "تنزيل التقرير",
"DownloadReportDescription": "سيتم حفظ التقرير في مستنداتي",
"DownloadReportDescription": "سيتم حفظ التقرير في المستندات",
"DownloadStatisticsText": "يمكنك تنزيل التقرير الخاص بالبيانات المتاحة خلال فترة التخزين المحددة لعرض الإحصائيات التفصيلية.",
"DuplicateNoun": "متكرر",
"EditColorScheme": "تحرير نظام الألوان",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Anket şablonları",
"GeneralLinkDeletedSuccessfully": "Yeni ümumi link uğurla yaradıldı",
"GoToMyRooms": "Otaqlarım bölməsinə keçin",
"GoToPersonal": "Sənədlərim bölməsinə keçin",
"GoToPersonal": "Sənədlər bölməsinə keçin",
"Images": "Şəkillər",
"InviteUsersInRoom": "İstifadəçiləri otağa dəvət edin",
"LeaveRoomDescription": "Bu otağın sahibi sizsiniz. Otağı tərk etməzdən əvvəl sahib rolunu başqa istifadəçiyə ötürməlisiniz.",

View File

@ -111,7 +111,7 @@
"DownloadCopy": "Nüsxəni endirin",
"DownloadLog": "Gündəliyi endirin",
"DownloadReportBtnText": "Hesabatı yükləyin",
"DownloadReportDescription": "Hesabat Sənədlərimdə saxlanacaq",
"DownloadReportDescription": "Hesabat Sənədlərdə saxlanacaq",
"DownloadStatisticsText": "Ətraflı statistikaya baxmaq üçün seçilmiş saxlama müddəti ərzində mövcud olan məlumat üçün hesabatı yükləyə bilərsiniz.",
"DuplicateNoun": "Dublikat edin",
"EditColorScheme": "Rəng sxemini redaktə edin",
@ -178,7 +178,7 @@
"PasswordMinLenght": "Parolun minimal uzunluğu",
"Path": "Cığır",
"PersonalFiles": "Şəxsi fayllar",
"PersonalFilesDescription": "İstifadəçi fayl və sənədləri Sənədlər > Sənədlərim bölməsinə köçürüləcək.",
"PersonalFilesDescription": "İstifadəçi fayl və sənədləri Sənədlər > Sənədlər bölməsinə köçürüləcək.",
"PortalAccess": "DocSpace-ə giriş",
"PortalCreatedDate": "Portalın yaradılma tarixi: {{date}}",
"PortalDeactivation": "DocSpace-i deaktiv edin",
@ -232,7 +232,7 @@
"SessionLifetimeMobileDescription": "Sessiya Müddəti sizə DocSpace istifadəçilərinin sahəyə daxil olmaq üçün domen məlumatlarını yenidən daxil etməli olduğu vaxtın miqdarını (dəqiqələrlə) təyin etməyə imkan verir.",
"SessionLifetimeSettingDescription": "Avtomatik çıxışdan əvvəl vaxtın miqdarını müəyyən etmək üçün Sessiya Müddəti təyin edin. Yadda saxladıqdan sonra bütün istifadəçilər üçün çıxış həyata keçiriləcək.",
"SetDefaultRoomQuota": "Bu DocSpace-də otaqlar üçün defolt yaddaş kvotasını təyin edin. Daha sonra otaq administratorları tərəfindən hər otaq üçün fərdi olaraq təyin edilə bilər.",
"SetDefaultUserQuota": "Bu DocSpace istifadəçiləri üçün yaddaş kvotasını təyin edin. İstifadəçi kvotası hər bir istifadəçinin Sənədlərim qovluğunun yaddaş limitinə təsir edir.",
"SetDefaultUserQuota": "Bu DocSpace istifadəçiləri üçün yaddaş kvotasını təyin edin. İstifadəçi kvotası hər bir istifadəçinin Sənədlər qovluğunun yaddaş limitinə təsir edir.",
"SettingPasswordDescription": "Daha təhlükəsiz, hesablamaya davamlı şifrələri tətbiq etmək üçün Şifrə Gücü Parametrlərini konfiqurasiya edin.",
"SettingPasswordStrengthMobileDescription": "Şifrə Gücü Parametrləri şifrənin təxmin və kobud güc hücumlarına qarşı müqavimətini təyin etmək üçün bir yoldur.",
"SettingPasswordTittle": "Şifrə Gücü Parametrləri",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Шаблони за формуляри",
"GeneralLinkDeletedSuccessfully": "Нов главен линк създаден успешно",
"GoToMyRooms": "Отидете в стаи",
"GoToPersonal": "Отидете в Моите документи",
"GoToPersonal": "Отидете в Документи",
"Images": "Изображения",
"InviteUsersInRoom": "Поканете потребители в стаята",
"LeaveRoomDescription": "Вие сте собственикът на тази стая. Преди да напуснете стаята, трябва да прехвърлите ролята на собственик на друг потребител.",

View File

@ -111,7 +111,7 @@
"DownloadCopy": "Изтеглете копието",
"DownloadLog": "Дневник на изтеглянията",
"DownloadReportBtnText": "Изтегляне на доклад",
"DownloadReportDescription": "Отчетът ще бъде записан в Моите документи",
"DownloadReportDescription": "Отчетът ще бъде записан в Документи",
"DownloadStatisticsText": "Можете да изтеглите отчета за наличните данни през избрания период на съхранение, за да видите подробната статистика.",
"DuplicateNoun": "Дублирай",
"EditColorScheme": "Редактиране на цветовата схема",
@ -178,7 +178,7 @@
"PasswordMinLenght": "Минимална дължина на паролата",
"Path": "Път",
"PersonalFiles": "Лични файлове",
"PersonalFilesDescription": "Потребителските файлове и документи ще бъдат импортирани в Документи > Моите документи.",
"PersonalFilesDescription": "Потребителските файлове и документи ще бъдат импортирани в Документи > Документи.",
"PortalAccess": "DocSpace достъп",
"PortalCreatedDate": "Дата на създаване на портала: {{date}}",
"PortalDeactivation": "Деактивиране на DocSpace",
@ -232,7 +232,7 @@
"SessionLifetimeMobileDescription": "Времето за Продължителност на Сесията позволява да зададете време (в минути), преди потребителите на DocSpace да трябва да въведат отново идентификационните данни на пространството, за да получат достъп до него.",
"SessionLifetimeSettingDescription": "Коригирайте Продължителността на Сесията, за да определите периода на време преди автоматично излизане. След запазване ще се извърши излизане за всички потребители.",
"SetDefaultRoomQuota": "Задайте квотата за съхранение по подразбиране за стаите в този DocSpace. По-късно може да се коригира за всяка стая поотделно от администратора на стаята.",
"SetDefaultUserQuota": "Задайте квотата за съхранение за потребителите на този DocSpace. Потребителската квота засяга лимита за съхранение за папката Моите документи на всеки потребител.",
"SetDefaultUserQuota": "Задайте квотата за съхранение за потребителите на този DocSpace. Потребителската квота засяга лимита за съхранение за папката Документи на всеки потребител.",
"SettingPasswordDescription": "Конфигурирайте Настройките за Сила на Паролата, за да наложите по-сигурни, устойчиви пароли.",
"SettingPasswordStrengthMobileDescription": "Настройките за Сила на Паролата са начин за определяне ефективността на паролата за устояване на отгатване и атаки с груба сила.",
"SettingPasswordTittle": "Настройки за Сила на Паролата",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Šablony formulářů",
"GeneralLinkDeletedSuccessfully": "Úspěšně vytvořen nový obecný odkaz",
"GoToMyRooms": "Přejít do sekce místnosti",
"GoToPersonal": "Přejít na Moje dokumenty",
"GoToPersonal": "Přejít na Dokumenty",
"Images": "Obrázky",
"InviteUsersInRoom": "Pozvat uživatele do místnosti",
"LeaveRoomDescription": "Majitelem této místnosti jste vy. Než místnost opustíte, musíte roli vlastníka převést na jiného uživatele.",

View File

@ -111,7 +111,7 @@
"DownloadCopy": "Stáhnout kopii",
"DownloadLog": "Stáhnout protokol",
"DownloadReportBtnText": "Stáhnout zprávu",
"DownloadReportDescription": "Zpráva se uloží do složky Moje dokumenty",
"DownloadReportDescription": "Zpráva se uloží do složky Dokumenty",
"DownloadStatisticsText": "Můžete si stáhnout zprávu pro data dostupná během vybraného období ukládání a zobrazit podrobné statistiky.",
"DuplicateNoun": "Duplikát",
"EditColorScheme": "Úprava barevného schématu",
@ -178,7 +178,7 @@
"PasswordMinLenght": "Minimální délka hesla",
"Path": "Сesta",
"PersonalFiles": "Osobní soubory",
"PersonalFilesDescription": "Uživatelské soubory a dokumenty budou importovány do Dokumenty > Moje dokumenty.",
"PersonalFilesDescription": "Uživatelské soubory a dokumenty budou importovány do Dokumenty > Dokumenty.",
"PortalAccess": "Přístup k DocSpace",
"PortalCreatedDate": "Datum vytvoření portálu: {{date}}",
"PortalDeactivation": "Deaktivace DocSpace",
@ -232,7 +232,7 @@
"SessionLifetimeMobileDescription": "Doba trvání relace umožňuje nastavit dobu (v minutách), po kterou budou muset uživatelé DocSpace znovu zadávat přihlašovací údaje k prostoru, aby do něj mohli přistupovat.",
"SessionLifetimeSettingDescription": "Nastavte dobu trvání relace, abyste určili dobu před automatickým odhlášením. Po uložení se odhlášení provede pro všechny uživatele.",
"SetDefaultRoomQuota": "Nastavení výchozí kvóty úložiště pro místnosti v tomto prostoru DocSpace. Později ji může správce místnosti upravit pro každou místnost zvlášť.",
"SetDefaultUserQuota": "Nastavení kvóty úložiště pro uživatele tohoto prostoru DocSpace. Uživatelská kvóta ovlivňuje limit úložiště pro složku Moje dokumenty každého uživatele.",
"SetDefaultUserQuota": "Nastavení kvóty úložiště pro uživatele tohoto prostoru DocSpace. Uživatelská kvóta ovlivňuje limit úložiště pro složku Dokumenty každého uživatele.",
"SettingPasswordDescription": "Konfigurace nastavení síly hesla pro vynucení bezpečnějších hesel odolných vůči výpočtům.",
"SettingPasswordStrengthMobileDescription": "Nastavení síly hesla je způsob, jak určit účinnost hesla při odolávání útokům hádáním a hrubou silou.",
"SettingPasswordTittle": "Nastavení síly hesla",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Vorlagen für Formulare",
"GeneralLinkDeletedSuccessfully": "Neuer allgemeiner Link erfolgreich erstellt",
"GoToMyRooms": "Zu Räume",
"GoToPersonal": "Zu Meine Dokumente",
"GoToPersonal": "Zu Dokumente",
"Images": "Bilder",
"InviteUsersInRoom": "Benutzer in den Raum einladen",
"LeaveRoomDescription": "Sie sind verantwortlich für diesen Raum. Sie müssen die Rolle des Verantwortlichen auf einen anderen Benutzer übertragen, bevor Sie den Raum verlassen.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Die Sicherungskopie herunterladen",
"DownloadLog": "Log herunterladen",
"DownloadReportBtnText": "Bericht herunterladen",
"DownloadReportDescription": "Der Bericht wird unter Eigene Dateien gespeichert.",
"DownloadReportDescription": "Der Bericht wird unter Dateien gespeichert",
"DownloadStatisticsText": "Sie können den Bericht für die verfügbaren Daten während des ausgewählten Speicherzeitraums herunterladen, um die detaillierten Statistiken anzuzeigen.",
"DuplicateNoun": "Duplizieren",
"EditColorScheme": "Farbschema bearbeiten",
@ -179,7 +179,7 @@
"PasswordMinLenght": "Minimale Kennwortlänge",
"Path": "Pfad",
"PersonalFiles": "Persönliche Dateien",
"PersonalFilesDescription": "Benutzerdateien und Dokumente werden in „Dokumente“ > „Meine Dokumente“ importiert.",
"PersonalFilesDescription": "Benutzerdateien und Dokumente werden in „Dokumente“ > „„Dokumente““ importiert.",
"PortalAccess": "Zugang zu DocSpace",
"PortalCreatedDate": "Erstellungsdatum des Portals: {{date}}",
"PortalDeactivation": "DocSpace deaktivieren",
@ -234,7 +234,7 @@
"SessionLifetimeMobileDescription": "Sitzungsdauer erlaubt es, die Zeit (in Minuten) festzulegen, bevor die DocSpace-Benutzer die Zugangsdaten erneut eingeben müssen, um auf den Bereich zugreifen zu können.",
"SessionLifetimeSettingDescription": "Stellen Sie die Sitzungsdauer ein, um die Zeitspanne bis zur automatischen Abmeldung festzulegen. Nach dem Speichern wird die Abmeldung für alle Benutzer durchgeführt.",
"SetDefaultRoomQuota": "Legen Sie die Standardspeicherquote für Räume in diesem DocSpace fest. Es kann später für jeden Raum individuell vom Raumadministrator angepasst werden.",
"SetDefaultUserQuota": " Legen Sie ie Speicherquote für Benutzer dieses DocSpace fest. Die Benutzerquote wirkt sich auf das Speicherlimit für den Ordner „Meine Dokumente“ jedes Benutzers aus.",
"SetDefaultUserQuota": " Legen Sie ie Speicherquote für Benutzer dieses DocSpace fest. Die Benutzerquote wirkt sich auf das Speicherlimit für den Ordner „Dokumente“ jedes Benutzers aus.",
"SettingPasswordDescription": "Konfigurieren Sie die Einstellungen für die Passwortstärke, um sicherere, zuverlässige Passwörter zu stellen.",
"SettingPasswordStrengthMobileDescription": "Mit den Einstellungen für die Kennwortstärke können Sie bestimmen, wie gut ein Kennwort gegen Erraten und Brute-Force-Angriffe geschützt ist.",
"SettingPasswordTittle": "Passwortstärke-Einstellungen",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Πρότυπα φορμών",
"GeneralLinkDeletedSuccessfully": "Ο νέος γενικός σύνδεσμος δημιουργήθηκε με επιτυχία",
"GoToMyRooms": "Μετάβαση στο «Τα δωμάτιά»",
"GoToPersonal": "Μετάβαση στο «Τα έγγραφά μου»",
"GoToPersonal": "Μετάβαση στο «Τα έγγραφά»",
"Images": "Εικόνες",
"InviteUsersInRoom": "Πρόσκληση χρηστών στο δωμάτιο",
"LeaveRoomDescription": "Είστε ο ιδιοκτήτης αυτού του δωματίου. Πριν φύγετε από το δωμάτιο, πρέπει να μεταβιβάσετε τον ρόλο του ιδιοκτήτη σε άλλον χρήστη.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Κατεβάστε το αντίγραφο",
"DownloadLog": "Λήψη αρχείου καταγραφής",
"DownloadReportBtnText": "Λήψη αναφοράς",
"DownloadReportDescription": "Η έκθεση θα αποθηκευτεί στα Έγγραφά μου",
"DownloadReportDescription": "Η έκθεση θα αποθηκευτεί στα Έγγραφά",
"DownloadStatisticsText": "Μπορείτε να κατεβάσετε την αναφορά για τα δεδομένα που ήταν διαθέσιμα κατά την επιλεγμένη περίοδο αποθήκευσης για να δείτε τα λεπτομερή στατιστικά στοιχεία.",
"DuplicateNoun": "Διπλότυπο",
"EditColorScheme": "Επεξεργασία χρωμάτων",
@ -179,7 +179,7 @@
"PasswordMinLenght": "Ελάχιστο μήκος συνθηματικού",
"Path": "Μονοπάτι",
"PersonalFiles": "Προσωπικά αρχεία",
"PersonalFilesDescription": "Τα αρχεία και τα έγγραφα των χρηστών θα εισαχθούν στην ενότητα Έγγραφα > Τα έγγραφά μου.",
"PersonalFilesDescription": "Τα αρχεία και τα έγγραφα των χρηστών θα εισαχθούν στην ενότητα Έγγραφα > Έγγραφα.",
"PortalAccess": "Πρόσβαση στην DocSpace",
"PortalCreatedDate": "Ημερομηνία δημιουργίας πύλης: {{date}}",
"PortalDeactivation": "Απενεργοποίηση DocSpace",
@ -233,7 +233,7 @@
"SessionLifetimeMobileDescription": "Η επιλογή Διάρκεια περιόδου λειτουργίας επιτρέπει τον καθορισμό του χρόνου (σε λεπτά) πριν οι χρήστες του DocSpace χρειαστεί να εισάγουν ξανά τα διαπιστευτήρια του χώρου για να έχουν πρόσβαση στον χώρο.",
"SessionLifetimeSettingDescription": "Ρυθμίστε τη διάρκεια ζωής συνεδρίας για να ορίσετε τη χρονική περίοδο πριν από την αυτόματη αποσύνδεση. Μετά την αποθήκευση, θα πραγματοποιηθεί αποσύνδεση για όλους τους χρήστες.",
"SetDefaultRoomQuota": "Ορίστε την προεπιλεγμένη ποσόστωση αποθ. χώρου για τα δωμάτια σε αυτό το DocSpace. Μπορεί αργότερα να ρυθμιστεί για κάθε δωμάτιο ξεχωριστά από τον διαχειριστή του δωματίου.",
"SetDefaultUserQuota": "Ορίστε την ποσόστωση αποθ. χώρου για τους χρήστες αυτού του DocSpace. Η ποσόστωση χρήστη επηρεάζει το όριο αποθ. χώρου για τον φάκελο «Τα έγγραφά μου» κάθε χρήστη.",
"SetDefaultUserQuota": "Ορίστε την ποσόστωση αποθ. χώρου για τους χρήστες αυτού του DocSpace. Η ποσόστωση χρήστη επηρεάζει το όριο αποθ. χώρου για τον φάκελο «Τα έγγραφά» κάθε χρήστη.",
"SettingPasswordDescription": "Διαμορφώστε τις Ρυθμίσεις ισχύος κωδικού πρόσβασης για να επιβάλλετε πιο ασφαλείς, ανθεκτικούς στους υπολογισμούς κωδικούς πρόσβασης.",
"SettingPasswordStrengthMobileDescription": "Οι Ρυθμίσεις ισχύος κωδικού πρόσβασης είναι ένας τρόπος για να καθορίσετε την αποτελεσματικότητα ενός κωδικού πρόσβασης στην αντίσταση σε επιθέσεις μαντεψιάς και ωμής βίας.",
"SettingPasswordTittle": "Ρυθμίσεις ισχύος κωδικού πρόσβασης",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Forms templates",
"GeneralLinkDeletedSuccessfully": "New general link created successfully",
"GoToMyRooms": "Go to rooms",
"GoToPersonal": "Go to My Documents",
"GoToPersonal": "Go to Documents",
"Images": "Images",
"InviteUsersInRoom": "Invite users in room",
"LeaveRoomDescription": "You are the owner of this room. Before you leave the room, you must transfer the owner's role to another user.",

View File

@ -113,7 +113,7 @@
"DownloadCopy": "Download copy",
"DownloadLog": "Download log",
"DownloadReportBtnText": "Download report",
"DownloadReportDescription": "The report will be saved to My Documents",
"DownloadReportDescription": "The report will be saved to Documents",
"DownloadStatisticsText": "You can download the report for the data available during the selected storage period to view the detailed statistics.",
"DuplicateNoun": "Duplicate",
"EditColorScheme": "Edit color scheme",
@ -181,7 +181,7 @@
"PasswordMinLenght": "Minimal password length",
"Path": "Path",
"PersonalFiles": "Personal files",
"PersonalFilesDescription": "User files and documents will be imported into Documents > My Documents.",
"PersonalFilesDescription": "User files and documents will be imported into Documents > Documents.",
"PortalAccess": "DocSpace access",
"PortalCreatedDate": "Portal Created date: {{date}}",
"PortalDeactivation": "Deactivate DocSpace",
@ -237,7 +237,7 @@
"SessionLifetimeMobileDescription": "Session Lifetime allows to set time (in minutes) before the DocSpace users will need to enter the space credentials again in order to access the space.",
"SessionLifetimeSettingDescription": "Adjust Session Lifetime to define the time period before automatic logoff. After saving, logoff will be performed for all users.",
"SetDefaultRoomQuota": "Set the default storage quota for rooms in this DocSpace. It can later be adjusted for each room individually by the room admin.",
"SetDefaultUserQuota": "Set the storage quota for users of this DocSpace. User quota affects storage limit for the My Documents folder of each user.",
"SetDefaultUserQuota": "Set the storage quota for users of this DocSpace. User quota affects storage limit for the Documents folder of each user.",
"SettingPasswordDescription": "Configure Password Strength Settings to enforce more secure, computation-resistant passwords.",
"SettingPasswordStrengthMobileDescription": "Password Strength Settings is a way to determine the effectiveness of a password in resisting guessing and brute-force attacks.",
"SettingPasswordTittle": "Password Strength Settings",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Plantillas de formularios",
"GeneralLinkDeletedSuccessfully": "Se ha creado correctamente un nuevo enlace general ",
"GoToMyRooms": "Ir a Salas",
"GoToPersonal": "Ir a Mis documentos",
"GoToPersonal": "Ir a Documentos",
"Images": "Imágenes",
"InviteUsersInRoom": "Invitar usuarios a la sala",
"LeaveRoomDescription": "Usted es el propietario de esta sala. Antes de salir de la sala, debe transferir el rol de propietario a otro usuario.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Descargar la copia",
"DownloadLog": "Descargar registro",
"DownloadReportBtnText": "Descargar informe",
"DownloadReportDescription": "El informe se guardará en Mis Documentos",
"DownloadReportDescription": "El informe se guardará en Documentos",
"DownloadStatisticsText": "Usted puede descargar el informe para los datos disponibles durante el período de almacenamiento seleccionado para ver estadísticas detalladas.",
"DuplicateNoun": "Duplicar",
"EditColorScheme": "Editar combinación de colores",
@ -180,7 +180,7 @@
"PasswordMinLenght": "Longitud mínima de la contraseña",
"Path": "Ruta",
"PersonalFiles": "Archivos personales",
"PersonalFilesDescription": "Los archivos y documentos del usuario se importarán a Documentos > Mis documentos.",
"PersonalFilesDescription": "Los archivos y documentos del usuario se importarán a Documentos > Documentos.",
"PortalAccess": "Acceso a DocSpace",
"PortalCreatedDate": "Fecha de creación del portal: {{date}}",
"PortalDeactivation": "Desactivar DocSpace",
@ -235,7 +235,7 @@
"SessionLifetimeMobileDescription": "La duración de la sesión permite establecer el tiempo (en minutos) antes de que los usuarios de DocSpace tengan que volver a introducir las credenciales del espacio para acceder al mismo.",
"SessionLifetimeSettingDescription": "Ajuste la duración de la sesión para definir el periodo de tiempo antes de la desconexión automática. Una vez guardado, se cerrará la sesión de todos los usuarios.",
"SetDefaultRoomQuota": "Establezca la cuota de almacenamiento predeterminada para las salas de este DocSpace. Posteriormente, el administrador de la sala puede ajustarlo para cada sala individualmente.",
"SetDefaultUserQuota": "Establezca la cuota de almacenamiento para los usuarios de este DocSpace. La cuota de usuario afecta el límite de almacenamiento de la carpeta Mis documentos de cada usuario.",
"SetDefaultUserQuota": "Establezca la cuota de almacenamiento para los usuarios de este DocSpace. La cuota de usuario afecta el límite de almacenamiento de la carpeta Documentos de cada usuario.",
"SettingPasswordDescription": "Configure los ajustes de seguridad de la contraseña para imponer contraseñas más seguras y resistentes a los cálculos.",
"SettingPasswordStrengthMobileDescription": "La configuración de la fuerza de la contraseña es una forma de determinar la eficacia de una contraseña a la hora de resistir ataques de adivinación y de fuerza bruta.",
"SettingPasswordTittle": "Configuración de la fuerza de la contraseña",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Mallilomakkeet",
"GeneralLinkDeletedSuccessfully": "Uusi yleinen linkki onnistuneesti luotu",
"GoToMyRooms": "Mene huoneisiin",
"GoToPersonal": "Mene Minun Dokumentteihin",
"GoToPersonal": "Mene Dokumentteihin",
"Images": "Kuvat",
"InviteUsersInRoom": "Kutsu huoneeseen käyttäjiä ",
"LeaveRoomDescription": "Olet tämän huoneen omistaja. Sinun täytyy siirtää omistajan rooli toiselle käyttäjälle ennen kuin poistut huoneesta.",

View File

@ -50,7 +50,7 @@
"BackupListWarningText": "Jos poistat luettelosta kohteita, myös vastaavat tiedostot poistetaan. Tätä toimintoa ei voi kumota. Jos haluat poistaa kaikki tiedostot, käytä linkkiä:",
"BlockingTime": "Estoaika (sek)",
"Branding": "Brändäys",
"BrandingSectionDescription": "Tarkenna yrityksesi tiedot, lisää linkit Docspace-käyttöliittymässä näkyvät ulkoiset resurssit ja sähköpostiosoitteet.",
"BrandingSectionDescription": "Tarkenna yrityksesi tiedot, lisää linkit DocSpace-käyttöliittymässä näkyvät ulkoiset resurssit ja sähköpostiosoitteet.",
"BrandingSubtitle": "Käytä tätä vaihtoehtoa tarjotaksesi käyttäjille brändikokemusta.",
"BreakpointMobileWarningText": "Tämä osio ei ole käytettävissä mobiiliversiossa",
"BreakpointMobileWarningTextPrompt": "Ole hyvä ja käytä työpöytää tai tablettia käyttääksesi <1>{{sectionName}}</1>.",
@ -112,7 +112,7 @@
"DownloadCopy": "Lataa kopio",
"DownloadLog": "Lataa loki",
"DownloadReportBtnText": "Lataa raportti",
"DownloadReportDescription": "Raportti tallennetaan Minun dokumentteihin",
"DownloadReportDescription": "Raportti tallennetaan Dokumentteihin",
"DownloadStatisticsText": "Voit ladata raportin valitun tallennusjakson aikana saatavilla olevista tiedoista nähdäksesi yksityiskohtaiset tilastot.",
"DuplicateNoun": "Kopioi",
"EditColorScheme": "Muokkaa värijärjestelmää",
@ -136,7 +136,7 @@
"ImportedUsers": "{{selectedUsers}}/{{importedUsers}} käyttäjät tuotiin onnistuneesti.",
"ImportFromGoogle": "Tuo Google Workspacesta",
"ImportFromNextcloud": "Tuo Nextcloudista",
"ImportFromOnlyoffice": "Tuo Onlyoffice Workspacesta",
"ImportFromOnlyoffice": "Tuo ONLYOFFICE Workspacesta",
"ImportProcessingDescription": "Tietojen siirto on käynnissä. Ole hyvä ja odota.",
"ImportSectionDescription": "Valitse osiot tuontia varten. Ne ilmestyvät vastaaviin DocSpacen osioihin.",
"IncludedInBusiness": "Sisältyy Business-tilaukseen",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Modèles de formulaires",
"GeneralLinkDeletedSuccessfully": "Nouveau lien général créé avec succès",
"GoToMyRooms": "Aller dans les salles",
"GoToPersonal": "Aller dans Mes documents",
"GoToPersonal": "Aller dans Documents",
"Images": "Images",
"InviteUsersInRoom": "Inviter des utilisateurs dans la salle",
"LeaveRoomDescription": "Vous êtes le propriétaire de cette salle. Avant de quitter la salle, vous devez transférer le rôle du propriétaire à un autre utilisateur.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Télécharger la copie",
"DownloadLog": "Télécharger le journal",
"DownloadReportBtnText": "Télécharger le rapport",
"DownloadReportDescription": "Le rapport sera enregistré dans Mes documents",
"DownloadReportDescription": "Le rapport sera enregistré dans Documents",
"DownloadStatisticsText": "Vous pouvez télécharger un rapport des données accessibles pour la période de stockage sélectionnée pour voir les statistiques détaillées. ",
"DuplicateNoun": "Dupliquer",
"EditColorScheme": "Modifier le jeu de couleurs",
@ -180,7 +180,7 @@
"PasswordMinLenght": "Longueur minimale du mot de passe",
"Path": "Chemin",
"PersonalFiles": "Fichiers personnels",
"PersonalFilesDescription": "Les fichiers et les documents d'utilisateur seront importés vers Documents > Mes documents. ",
"PersonalFilesDescription": "Les fichiers et les documents d'utilisateur seront importés vers Documents > Documents. ",
"PortalAccess": "Accès à DocSpace",
"PortalCreatedDate": "Portail créé le {{date}}",
"PortalDeactivation": "Désactiver DocSpace",
@ -234,7 +234,7 @@
"SessionLifetimeMobileDescription": "La durée de vie de la session permet de définir le temps (en minutes) avant que les utilisateurs du DocSpace ne doivent à nouveau entrer leurs informations d'identification pour accéder à l'espace.",
"SessionLifetimeSettingDescription": "Ajustez la durée de vie de la session pour définir la période de temps avant la déconnexion automatique. Après l'enregistrement, la déconnexion sera effectuée pour tous les utilisateurs.",
"SetDefaultRoomQuota": "Définissez les quotas de stockage par défaut pour les salles DocSpace. L'administrateur de salle peut configurer les quotas de stockage spécifiquement pour chaque salle plus tard.",
"SetDefaultUserQuota": "Définissez les quotas de stockage pour utilisateurs dans DocSpace. Le quota d'utilisateur affecte l'espace de stockage pour le dossier Mes documents de chaque utilisateur.",
"SetDefaultUserQuota": "Définissez les quotas de stockage pour utilisateurs dans DocSpace. Le quota d'utilisateur affecte l'espace de stockage pour le dossier Documents de chaque utilisateur.",
"SettingPasswordDescription": "Configurez les paramètres de force du mot de passe pour imposer des mots de passe plus sûrs et plus résistants au piratage.",
"SettingPasswordStrengthMobileDescription": "Les paramètres de force du mot de passe permettent de déterminer l'efficacité d'un mot de passe à résister aux attaques par force brute.",
"SettingPasswordTittle": "Paramètres de force du mot de passe",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Ձեւանմուշներ",
"GeneralLinkDeletedSuccessfully": "Նոր ընդհանուր հղումը հաջողությամբ ստեղծվեց",
"GoToMyRooms": "Գնալ Իմ սենյակները",
"GoToPersonal": "Գնալ Իմ փաստաթղթերը",
"GoToPersonal": "Գնալ Փաստաթղթերը",
"Images": "Պատկերներ",
"InviteUsersInRoom": "Հրավիրել օգտվողներին սենյակ",
"LeaveRoomDescription": "Դուք այս սենյակի սեփականատերն եք: Նախքան սենյակից դուրս գալը, դուք պետք է սեփականատիրոջ դերը փոխանցեք մեկ այլ օգտատիրոջ:",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Ներբեռնել պատճենը",
"DownloadLog": "Ներբեռնման մատյան",
"DownloadReportBtnText": "Ներբեռնել զեկույցը",
"DownloadReportDescription": "Զեկույցը կպահվի Իմ փաստաթղթերում",
"DownloadReportDescription": "Զեկույցը կպահվի Փաստաթղթերում",
"DownloadStatisticsText": "Դուք կարող եք ներբեռնել զեկույցը ընտրված պահպանման ժամանակահատվածում առկա տվյալների համար՝ մանրամասն վիճակագրությունը դիտելու համար:",
"DuplicateNoun": "Դուբլիկատ",
"EditColorScheme": "Խմբագրել գունավորումը",
@ -136,7 +136,7 @@
"ImportedUsers": "{{selectedUsers}}/{{importedUsers}} օգտվողները հաջողությամբ ներմուծվեցին:",
"ImportFromGoogle": "Ներմուծում Google Workspace-ից",
"ImportFromNextcloud": "Ներմուծում Nextcloud-ից",
"ImportFromOnlyoffice": "Ներմուծում Onlyoffice Workspace-ից",
"ImportFromOnlyoffice": "Ներմուծում ONLYOFFICE Workspace-ից",
"ImportProcessingDescription": "Տվյալների տեղափոխումն ընթացքի մեջ է: Խնդրում ենք սպասել.",
"ImportSectionDescription": "Ընտրել բաժիններ ներմուծման համար: Դրանք կհայտնվեն DocSpace-ի համապատասխան բաժիններում։",
"IncludedInBusiness": "Ներառված է բիզնես պլանում",
@ -180,7 +180,7 @@
"PasswordMinLenght": "Գաղտնաբառի նվազագույն երկարությունը",
"Path": "Ուղի",
"PersonalFiles": "Անձնական ֆայլեր",
"PersonalFilesDescription": "Օգտատիրոջ ֆայլերը և փաստաթղթերը կներմուծվեն Փաստաթղթեր > Իմ փաստաթղթերը բաժին։",
"PersonalFilesDescription": "Օգտատիրոջ ֆայլերը և փաստաթղթերը կներմուծվեն Փաստաթղթեր > Փաստաթղթերը բաժին։",
"PortalAccess": "DocSpace-ի մուտք",
"PortalCreatedDate": "Պորտալի ստեղծման ամսաթիվը՝ {{date}}",
"PortalDeactivation": "Ապագործունացնել DocSpace-ը",
@ -235,7 +235,7 @@
"SessionLifetimeMobileDescription": "Սեսիայի տևողությունը թույլ է տալիս սահմանել ժամանակը (րոպեներով), մինչև DocSpace-ի օգտատերերը պետք է նորից մուտքագրեն տարածքի հավատարմագրերը՝ տարածք մուտք գործելու համար:",
"SessionLifetimeSettingDescription": "Կարգավորեք սեսիայի տևողությունը` սահմանելու ժամանակաշրջանը մինչև ավտոմատ դուրս գալը: Պահպանելուց հետո ելքը կկատարվի բոլոր օգտատերերի համար։",
"SetDefaultRoomQuota": "Սահմանեք այս DocSpace-ի սենյակների լռելյայն պահեստային չափաբաժինը: Այն հետագայում կարող է ճշգրտվել յուրաքանչյուր սենյակի համար առանձին սենյակի ադմինիստրատորի կողմից:",
"SetDefaultUserQuota": "Սահմանեք այս DocSpace-ի օգտատերերի պահեստային տարածքը: Օգտատիրոջ քվոտան ազդում է յուրաքանչյուր օգտատիրոջ «Իմ փաստաթղթերը» պանակի պահպանման սահմանաչափի վրա:",
"SetDefaultUserQuota": "Սահմանեք այս DocSpace-ի օգտատերերի պահեստային տարածքը: Օգտատիրոջ քվոտան ազդում է յուրաքանչյուր օգտատիրոջ «Փաստաթղթերը» պանակի պահպանման սահմանաչափի վրա:",
"SettingPasswordDescription": "Կազմաձևեք գաղտնաբառի հզորության կարգավորումները՝ ավելի անվտանգ, հաշվարկներին դիմացկուն գաղտնաբառեր կիրառելու համար:",
"SettingPasswordStrengthMobileDescription": "Գաղտնաբառի հզորության կարգավորումները գաղտնաբառի արդյունավետությունը որոշելու միջոց է գուշակություններին և կոպիտ ուժային հարձակումներին դիմակայելու համար:",
"SettingPasswordTittle": "Գաղտնաբառի հզորության կարգավորումներ",

View File

@ -55,5 +55,5 @@
"WebhookRemoved": "Webhook-ը հեռացվել է",
"Webhooks": "Վեբկեռիկներ",
"WebhooksGuide": "Webhooks ուղեցույց",
"WebhooksInfo": "Օգտագործեք վեբ-կեռիկներ՝ ձեր կողմից օգտագործվող ցանկացած հավելվածի կամ կայքի վրա հատուկ գործողություններ կատարելու համար՝ հիմնված ONLYOFFICE Docspace-ի տարբեր իրադարձությունների վրա:\nԱյստեղ դուք կարող եք ստեղծել և կառավարել ձեր բոլոր վեբկեռիկները, կարգավորել դրանք և թերթել յուրաքանչյուր վեբ-կեռիկի պատմությունը՝ դրանց կատարողականությունը ստուգելու համար:"
"WebhooksInfo": "Օգտագործեք վեբ-կեռիկներ՝ ձեր կողմից օգտագործվող ցանկացած հավելվածի կամ կայքի վրա հատուկ գործողություններ կատարելու համար՝ հիմնված ONLYOFFICE DocSpace-ի տարբեր իրադարձությունների վրա:\nԱյստեղ դուք կարող եք ստեղծել և կառավարել ձեր բոլոր վեբկեռիկները, կարգավորել դրանք և թերթել յուրաքանչյուր վեբ-կեռիկի պատմությունը՝ դրանց կատարողականությունը ստուգելու համար:"
}

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Modelli di moduli",
"GeneralLinkDeletedSuccessfully": "Nuovo link generale è stato creato con successo",
"GoToMyRooms": "Vai alle stanze",
"GoToPersonal": "Vai a I miei documenti",
"GoToPersonal": "Vai a I Documenti",
"Images": "Immagini",
"InviteUsersInRoom": "Invita gli utenti nella stanza",
"LeaveRoomDescription": "Sei il proprietario di questa stanza. Prima di lasciare la stanza, devi trasferire il ruolo di proprietario a un altro utente.",

View File

@ -178,7 +178,7 @@
"PasswordMinLenght": "Lunghezza della password minima",
"Path": "Percorso",
"PersonalFiles": "File personali",
"PersonalFilesDescription": "I file e i documenti dell'utente verranno importati in Documenti > I miei documenti.",
"PersonalFilesDescription": "I file e i documenti dell'utente verranno importati in Documenti > Documenti.",
"PortalAccess": "Accesso a DocSpace",
"PortalCreatedDate": "Data di creazione del portale: {{date}}",
"PortalDeactivation": "Disattiva DocSpace",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "フォームのテンプレート",
"GeneralLinkDeletedSuccessfully": "新しい一般リンクが正常に作成されました",
"GoToMyRooms": "「ルーム」へ",
"GoToPersonal": "私の文書」へ",
"GoToPersonal": "文書」へ",
"Images": "画像",
"InviteUsersInRoom": "新しいユーザーを招待する",
"LeaveRoomDescription": "あなたはこのルームの所有者です。退室する前に、所有者の役割を他のユーザーに譲渡する必要があります。",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "コピーを保存",
"DownloadLog": "ダウンロードログ",
"DownloadReportBtnText": "ダウンロードのレポート",
"DownloadReportDescription": "レポートは「私の文書」に保存されます",
"DownloadReportDescription": "レポートは「文書」に保存されます",
"DownloadStatisticsText": "選択した保存期間中に利用可能なデータのレポートをダウンロードして、詳細な統計情報を確認することができます。",
"DuplicateNoun": "複製",
"EditColorScheme": "カラースキームを編集する",
@ -180,7 +180,7 @@
"PasswordMinLenght": "最小のパスワードの長さ",
"Path": "パス",
"PersonalFiles": "個人ファイル",
"PersonalFilesDescription": "ユーザーのファイルやドキュメントは、「文書」→「私の文書」にインポートされます。",
"PersonalFilesDescription": "ユーザーのファイルやドキュメントは、「文書」→「文書」にインポートされます。",
"PortalAccess": "DocSpaceアクセス",
"PortalCreatedDate": "ポータル作成日:{{date}}",
"PortalDeactivation": "DocSpaceを停止する",
@ -235,7 +235,7 @@
"SessionLifetimeMobileDescription": "セッションライフタイムでは、DocSpaceユーザーがスペースにアクセスするために、再度スペース認証情報を入力するまでの時間を設定できます。",
"SessionLifetimeSettingDescription": "自動ログオフまでの期間を定義するには、セッションの有効期間を調整します。保存後、すべてのユーザーに対してログオフが実行されます。",
"SetDefaultRoomQuota": "このDocSpaceルームのデフォルトのストレージ容量制限を設定してください。容量制限は後でルーム管理者によって個別に調整することができます。",
"SetDefaultUserQuota": "このDocSpaceユーザーのストレージ容量制限を設定してください。ユーザーの容量制限は、各ユーザーの「私の文書」フォルダのストレージ制限に影響します。",
"SetDefaultUserQuota": "このDocSpaceユーザーのストレージ容量制限を設定してください。ユーザーの容量制限は、各ユーザーの「文書」フォルダのストレージ制限に影響します。",
"SettingPasswordDescription": "パスワード強度の設定により、より安全で計算抵抗のあるパスワードを強制します。",
"SettingPasswordStrengthMobileDescription": "パスワード強度設定は、推測攻撃や総当たり攻撃に抵抗するパスワードの有効性を判断する方法です。",
"SettingPasswordTittle": "パスワード強度設定",

View File

@ -63,7 +63,7 @@
"EmptyFormSubFolderHeaderText": "이 폴더에는 아직 파일이 없습니다",
"EmptyFormSubFolderProgressDescriptionText": "여기에서는 진행 중인 양식(사용자가 작성을 시작했지만 완성하지 않은 양식)을 찾을 수 있습니다.",
"EmptyRecycleBin": "휴지통 비우기",
"EmptyRootRoomHeader": "Docspace에 오신 것을 환영합니다",
"EmptyRootRoomHeader": "DocSpace에 오신 것을 환영합니다",
"EmptyScreenFolder": "아직 여기에 문서가 없습니다",
"EnableLink": "링크 활성화",
"EnableNotifications": "알림 활성화",
@ -85,7 +85,7 @@
"FormsTemplates": "양식 템플릿",
"GeneralLinkDeletedSuccessfully": "새로운 일반 링크가 생성되었습니다",
"GoToMyRooms": "내 방으로 이동",
"GoToPersonal": "문서로 이동",
"GoToPersonal": "문서로 이동",
"Images": "이미지",
"InviteUsersInRoom": "방에 사용자 초대",
"LeaveRoomDescription": "이 방의 주인입니다. 방을 나가기 전에 방의 소유자 역할을 다른 사용자에게 이전해야 합니다.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "복사본 다운로드",
"DownloadLog": "로그 다운로드",
"DownloadReportBtnText": "보고서 다운로드",
"DownloadReportDescription": "보고서가 문서에 저장됩니다",
"DownloadReportDescription": "보고서가 문서에 저장됩니다",
"DownloadStatisticsText": "선택한 저장 기간 동안 이용 가능한 데이터에 대한 보고서를 다운로드하여 자세한 통계를 볼 수 있습니다.",
"DuplicateNoun": "복제",
"EditColorScheme": "색 구성표 편집",
@ -179,7 +179,7 @@
"PasswordMinLenght": "최소 비밀번호 길이",
"Path": "경로",
"PersonalFiles": "개인 파일",
"PersonalFilesDescription": "사용자 파일 및 문서를 문서 > 문서로 가져오기합니다.",
"PersonalFilesDescription": "사용자 파일 및 문서를 문서 > 문서로 가져오기합니다.",
"PortalAccess": "DocSpace 액세스",
"PortalCreatedDate": "포털 생성 날짜: {{date}}",
"PortalDeactivation": "DocSpace비활성화",
@ -233,7 +233,7 @@
"SessionLifetimeMobileDescription": "세션 수명을 사용하면 DocSpace 사용자가 공간에 액세스하기 위해 공간 자격 증명을 다시 입력해야 하기까지의 시간(분)을 설정할 수 있습니다.",
"SessionLifetimeSettingDescription": "자동 로그오프까지의 기간을 설정하려면 세션 수명을 조정하세요. 저장 후에는 모든 사용자에 대해 로그오프가 수행됩니다.",
"SetDefaultRoomQuota": "이 DocSpace의 방에 대한 기본 스토리지 할당량을 설정하세요. 나중에 방 관리자가 각 방에 대한 할당량을 개별적으로 조정할 수 있습니다.",
"SetDefaultUserQuota": "이 DocSpace의 사용자에 대한 스트로지 할당량을 설정하세요. 사용자 할당량은 각 사용자의 문서 폴더 저장 제한에 영향을 미칩니다.",
"SetDefaultUserQuota": "이 DocSpace의 사용자에 대한 스트로지 할당량을 설정하세요. 사용자 할당량은 각 사용자의 문서 폴더 저장 제한에 영향을 미칩니다.",
"SettingPasswordDescription": "더욱 안전하고 도출하기 어려운 비밀번호를 적용하려면 비밀번호 강도 설정을 구성하세요.",
"SettingPasswordStrengthMobileDescription": "비밀번호 강도를 설정하여 추측 및 무차별 대입 공격에 대한 비밀번호의 효율성을 확인할 수 있습니다.",
"SettingPasswordTittle": "비밀번호 강도 설정",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Veidlapu veidnes",
"GeneralLinkDeletedSuccessfully": "Jauna vispārīga saite ir veiksmīgi izveidota",
"GoToMyRooms": "Doties uz telpas",
"GoToPersonal": "Pāriet uz Mani dokumenti",
"GoToPersonal": "Pāriet uz Dokumenti",
"Images": "Attēli",
"InviteUsersInRoom": "Uzaicināt lietotājus telpā",
"LeaveRoomDescription": "Jūs esat šīs telpas īpašnieks. Pirms pametat telpu, jums ir jānodod īpašnieka loma citam lietotājam.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Lejupielādēt kopiju",
"DownloadLog": "Lejupielādēt žurnālu",
"DownloadReportBtnText": "Lejupielādēt pārskatu",
"DownloadReportDescription": "Atskaite tiks saglabāta mapē Mani dokumenti",
"DownloadReportDescription": "Atskaite tiks saglabāta mapē Dokumenti",
"DownloadStatisticsText": "Varat lejupielādēt pārskatu par datiem, kas pieejami atlasītajā uzglabāšanas periodā, lai skatītu detalizētu statistiku.",
"DuplicateNoun": "Dublicēt",
"EditColorScheme": "Rediģēt krāsu shēmu",
@ -179,7 +179,7 @@
"PasswordMinLenght": "Minimālais paroles garums",
"Path": "Ceļš",
"PersonalFiles": "Personīgie faili",
"PersonalFilesDescription": "Lietotāju faili un dokumenti tiks importēti sadaļā Dokumenti > Mani dokumenti.",
"PersonalFilesDescription": "Lietotāju faili un dokumenti tiks importēti sadaļā Dokumenti > Dokumenti.",
"PortalAccess": "Piekļuve DocSpace",
"PortalCreatedDate": "Portāla izveides datums: {{date}}",
"PortalDeactivation": "Deaktivizēt DocSpace",
@ -233,7 +233,7 @@
"SessionLifetimeMobileDescription": "Sesijas ilgums ļauj iestatīt laiku (minūtēs), pirms DocSpace lietotājiem būs atkārtoti jāievada telpas akreditācijas dati, lai piekļūtu vietai.",
"SessionLifetimeSettingDescription": "Pielāgojiet sesijas ilgumu, lai noteiktu laika periodu pirms automātiskās atteikšanās. Pēc saglabāšanas visi lietotāji tiks izlogoti.",
"SetDefaultRoomQuota": "Iestatiet noklusējuma krātuves kvotu telpām šajā DocSpace. Vēlāk telpas administrators to var pielāgot katrai telpai atsevišķi.",
"SetDefaultUserQuota": "Iestatiet krātuves kvotu šīs DocSpace lietotājiem. Lietotāja kvota ietekmē katra lietotāja mapes Mani dokumenti krātuves ierobežojumu.",
"SetDefaultUserQuota": "Iestatiet krātuves kvotu šīs DocSpace lietotājiem. Lietotāja kvota ietekmē katra lietotāja mapes Dokumenti krātuves ierobežojumu.",
"SettingPasswordDescription": "Konfigurējiet paroles stipruma iestatījumus, lai ieviestu drošākas, skaitļošanas izturīgas paroles.",
"SettingPasswordStrengthMobileDescription": "Paroles stipruma iestatījumi ir veids, kā noteikt paroles efektivitāti pretojoties minējumiem un brutāla spēka uzbrukumiem.",
"SettingPasswordTittle": "Paroles stipruma iestatījumi",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Formulieren sjablonen",
"GeneralLinkDeletedSuccessfully": "Nieuwe algemene link succesvol aangemaakt",
"GoToMyRooms": "Ga naar kamers",
"GoToPersonal": "Ga naar Mijn documenten",
"GoToPersonal": "Ga naar Documenten",
"Images": "Afbeeldingen",
"InviteUsersInRoom": "Nodig gebruikers uit in de kamer",
"LeaveRoomDescription": "U bent de eigenaar van deze kamer. Voordat u de kamer verlaat, moet u de rol van de eigenaar overdragen aan een andere gebruiker.",

View File

@ -111,7 +111,7 @@
"DownloadCopy": "Download de kopie",
"DownloadLog": "Download log",
"DownloadReportBtnText": "Download verslag",
"DownloadReportDescription": "Het verslag wordt opgeslagen in Mijn Documenten",
"DownloadReportDescription": "Het verslag wordt opgeslagen in Documenten",
"DownloadStatisticsText": "U kunt het verslag downloaden voor de gegevens die beschikbaar zijn tijdens de geselecteerde opslagperiode om de gedetailleerde statistieken te bekijken.",
"DuplicateNoun": "Dupliceren",
"EditColorScheme": "Kleurenschema bewerken",
@ -178,7 +178,7 @@
"PasswordMinLenght": "Minimumlengte wachtwoord",
"Path": "Pad",
"PersonalFiles": "Persoonlijke bestanden",
"PersonalFilesDescription": "Gebruikersbestanden en documenten worden geïmporteerd in Documenten > Mijn Documenten.",
"PersonalFilesDescription": "Gebruikersbestanden en documenten worden geïmporteerd in Documenten > Documenten.",
"PortalAccess": "Toegang tot Ruimte",
"PortalCreatedDate": "Portal Aangemaakt datum: {{date}}",
"PortalDeactivation": "DocSpace deactiveren",
@ -232,7 +232,7 @@
"SessionLifetimeMobileDescription": "Duur van de sessie hiermee kan de tijd (in minuten) worden ingesteld waarna de gebruikers van de DocSpace opnieuw de inloggegevens moeten invoeren om toegang te krijgen tot de ruimte..",
"SessionLifetimeSettingDescription": "Pas Duur van de sessie aan om de periode vóór het automatisch afmelden te definiëren. Na het opslaan wordt het afmelden voor alle gebruikers uitgevoerd.",
"SetDefaultRoomQuota": "Stel de standaard opslagquota in voor kamers in deze DocSpace. Dit kan later voor elke kamer afzonderlijk worden aangepast door de kamer beheerder.",
"SetDefaultUserQuota": "Stel de opslagquota in voor gebruikers van deze DocSpace. Gebruikersquota hebben invloed op de opslaglimiet voor de map Mijn documenten van elke gebruiker.",
"SetDefaultUserQuota": "Stel de opslagquota in voor gebruikers van deze DocSpace. Gebruikersquota hebben invloed op de opslaglimiet voor de map Documenten van elke gebruiker.",
"SettingPasswordDescription": "Configureer de instellingen voor de sterkte van wachtwoorden om veiligere, berekeningsbestendige wachtwoorden af te dwingen.",
"SettingPasswordStrengthMobileDescription": "Wachtwoordsterkte instellingen is een manier om te bepalen hoe effectief een wachtwoord is bij het weerstaan van raden en brute-force aanvallen.",
"SettingPasswordTittle": "Instellingen Voor Wachtwoordsterkte",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Szablony formularzy",
"GeneralLinkDeletedSuccessfully": "Nowy link główny został pomyślnie utworzony",
"GoToMyRooms": "Przejdź do pokoi",
"GoToPersonal": "Przejdź do Moich dokumentów",
"GoToPersonal": "Przejdź do Dokumentów",
"Images": "Obrazy",
"InviteUsersInRoom": "Zaproś użytkowników do pokoju",
"LeaveRoomDescription": "Jesteś właścicielem tego pokoju. Zanim opuścisz pokój, musisz przekazać rolę właściciela innemu użytkownikowi.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Pobierz kopię",
"DownloadLog": "Rejestr pobranych plików",
"DownloadReportBtnText": "Pobierz raport",
"DownloadReportDescription": "Raport zostanie zapisany w Moich dokumentach",
"DownloadReportDescription": "Raport zostanie zapisany w Dokumentach",
"DownloadStatisticsText": "Możesz pobrać raport dla danych dostępnych w wybranym okresie przechowywania, aby zobaczyć szczegółowe statystyki.",
"DuplicateNoun": "Duplikat",
"EditColorScheme": "Edytuj schemat kolorów",
@ -179,7 +179,7 @@
"PasswordMinLenght": "Minimalna długość hasła",
"Path": "Ścieżka",
"PersonalFiles": "Pliki prywatne",
"PersonalFilesDescription": "Pliki oraz dokumenty użytkowników zostaną zaimportowane do sekcji Dokumenty > Moje dokumenty.",
"PersonalFilesDescription": "Pliki oraz dokumenty użytkowników zostaną zaimportowane do sekcji Dokumenty > Dokumenty.",
"PortalAccess": "Dostęp do portalu",
"PortalCreatedDate": "Data utworzenia portalu: {{date}}",
"PortalDeactivation": "Dezaktywuj DocSpace",
@ -233,7 +233,7 @@
"SessionLifetimeMobileDescription": "Długość sesji pozwala wybrać czas (w minutach), zanim użytkownicy DocSpace będą musieli ponownie wpisać swoje dane logowania do obszaru, aby uzyskać do niego dostęp.",
"SessionLifetimeSettingDescription": "Dostosuj czas trwania sesji, aby zdefiniować czas przed automatycznym wylogowaniem. Po zapisaniu wszyscy użytkownicy zostaną wylogowania z obszaru.",
"SetDefaultRoomQuota": "Skonfiguruj domyślny limit pamięci dla pokoi w tym DocSpace. Limit dla poszczególnych pokoi może zostać zmieniony później przez ich administratorów.",
"SetDefaultUserQuota": "Skonfiguruj limit pamięci dla użytkowników tego DocSpace. Limity użytkowników mają wpływ na limit pamięci dla katalogu Moje dokumenty każdego użytkownika.",
"SetDefaultUserQuota": "Skonfiguruj limit pamięci dla użytkowników tego DocSpace. Limity użytkowników mają wpływ na limit pamięci dla katalogu Dokumenty każdego użytkownika.",
"SettingPasswordDescription": "Skonfiguruj ustawienia siły hasła, aby wyegzekwować bezpieczniejsze, odporne na złamanie hasła.",
"SettingPasswordStrengthMobileDescription": "Ustawienia siły hasła to sposób, by określić skuteczność hasła w zakresie odporności na zgadywanie i ataki brute force.",
"SettingPasswordTittle": "Ustawienia siły hasła",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Modelos de formulário",
"GeneralLinkDeletedSuccessfully": "Novo link geral criado com sucesso",
"GoToMyRooms": "Ir para minhas salas",
"GoToPersonal": "Ir para Meus Documentos",
"GoToPersonal": "Ir para Documentos",
"Images": "Imagens",
"InviteUsersInRoom": "Convidar usuários na sala",
"LeaveRoomDescription": "Você é o dono desta sala. Antes de sair da sala, você deve transferir a função de proprietário para outro usuário.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Baixe a cópia",
"DownloadLog": "Baixar registro",
"DownloadReportBtnText": "Baixar relatório",
"DownloadReportDescription": "O relatório será salvo em Meus Documentos",
"DownloadReportDescription": "O relatório será salvo em Documentos",
"DownloadStatisticsText": "Você pode baixar o relatório dos dados disponíveis durante o período de armazenamento selecionado para visualizar as estatísticas detalhadas.",
"DuplicateNoun": "Duplicado",
"EditColorScheme": "Editar esquema de cores",
@ -180,7 +180,7 @@
"PasswordMinLenght": "Tamanho mínimo da senha",
"Path": "Caminho",
"PersonalFiles": "Arquivos pessoais",
"PersonalFilesDescription": "Os arquivos e documentos do usuário serão importados para Documentos > Meus Documentos.",
"PersonalFilesDescription": "Os arquivos e documentos do usuário serão importados para Documentos > Documentos.",
"PortalAccess": "Acesso ao DocSpace",
"PortalCreatedDate": "Data de criação do portal: {{date}}",
"PortalDeactivation": "Desativar DocSpace",
@ -235,7 +235,7 @@
"SessionLifetimeMobileDescription": "O Session Lifetime permite definir o tempo (em minutos) antes que os usuários do DocSpace precisem inserir as credenciais do espaço novamente para acessar o espaço.",
"SessionLifetimeSettingDescription": "Ajuste o tempo de vida da sessão para definir o período antes do logoff automático. Após salvar, o logoff será realizado para todos os usuários.",
"SetDefaultRoomQuota": "Defina a cota de armazenamento padrão para salas neste DocSpace. Posteriormente, pode ser ajustado para cada sala individualmente pelo administrador da sala.",
"SetDefaultUserQuota": "Defina a cota de armazenamento para usuários deste DocSpace. A cota do usuário afeta o limite de armazenamento da pasta Meus Documentos de cada usuário.",
"SetDefaultUserQuota": "Defina a cota de armazenamento para usuários deste DocSpace. A cota do usuário afeta o limite de armazenamento da pasta Documentos de cada usuário.",
"SettingPasswordDescription": "Defina as configurações de força da senha para impor senhas mais seguras e resistentes à computação.",
"SettingPasswordStrengthMobileDescription": "As configurações de força da senha são uma forma de determinar a eficácia de uma senha na resistência a adivinhações e ataques de força bruta.",
"SettingPasswordTittle": "Configurações de força da senha",

View File

@ -55,5 +55,5 @@
"WebhookRemoved": "Webhook removido",
"Webhooks": "Webhooks",
"WebhooksGuide": "Guia de webhooks",
"WebhooksInfo": "Use webhooks para executar ações personalizadas em qualquer aplicativo ou site que você esteja usando com base em vários eventos no ONLYOFFICE Docspace.\nAqui, você pode criar e gerenciar todos os seus webhooks, configurá-los e navegar no histórico de cada webhook para auditar seu desempenho."
"WebhooksInfo": "Use webhooks para executar ações personalizadas em qualquer aplicativo ou site que você esteja usando com base em vários eventos no ONLYOFFICE DocSpace.\nAqui, você pode criar e gerenciar todos os seus webhooks, configurá-los e navegar no histórico de cada webhook para auditar seu desempenho."
}

View File

@ -63,7 +63,7 @@
"EmptyFormSubFolderHeaderText": "Ainda não há arquivos nesta pasta",
"EmptyFormSubFolderProgressDescriptionText": "Aqui você encontrará formulários em andamento, ou seja, formulários que os usuários começaram a preencher, mas não concluíram.",
"EmptyRecycleBin": "Esvaziar lixo",
"EmptyRootRoomHeader": "Bem-vindo ao Docspace!",
"EmptyRootRoomHeader": "Bem-vindo ao DocSpace!",
"EmptyScreenFolder": "Ainda não há documentos aqui",
"EnableLink": "Ativar link",
"EnableNotifications": "Permitir notificações",
@ -85,7 +85,7 @@
"FormsTemplates": "Modelos de formulários",
"GeneralLinkDeletedSuccessfully": "Novo link geral criado com sucesso",
"GoToMyRooms": "Ir para As Minhas Salas",
"GoToPersonal": "Ir para os Meus Documentos",
"GoToPersonal": "Ir para os Documentos",
"Images": "Imagens",
"InviteUsersInRoom": "Convidar utilizadores numa sala",
"LeaveRoomDescription": "Você é o dono desta sala. Antes de sair da sala, você deve transferir a função de proprietário para outro usuário.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Fazer download da cópia",
"DownloadLog": "Baixar registro",
"DownloadReportBtnText": "Transferir o relatório",
"DownloadReportDescription": "O relatório será guardado nos Meus Documentos",
"DownloadReportDescription": "O relatório será guardado nos Documentos",
"DownloadStatisticsText": "Pode descarregar o relatório com os dados disponíveis durante o período de armazenamento selecionado para ver estatísticas detalhadas.",
"DuplicateNoun": "Duplicado",
"EditColorScheme": "Editar Esquema de Cores",
@ -179,7 +179,7 @@
"PasswordMinLenght": "Comprimento mínimo da senha",
"Path": "Destino",
"PersonalFiles": "Arquivos pessoais",
"PersonalFilesDescription": "Os arquivos e documentos do usuário serão importados para Documentos > Meus Documentos.",
"PersonalFilesDescription": "Os arquivos e documentos do usuário serão importados para Documentos > Documentos.",
"PortalAccess": "Acesso ao DocSpace",
"PortalCreatedDate": "Data de criação do portal: {{date}}",
"PortalDeactivation": "Desativar o DocSpace",
@ -233,7 +233,7 @@
"SessionLifetimeMobileDescription": "O Session Lifetime permite definir o tempo (em minutos) antes que os usuários do DocSpace precisem inserir as credenciais do espaço novamente para acessar o espaço.",
"SessionLifetimeSettingDescription": "Ajuste o tempo de vida da sessão para definir o período antes do logoff automático. Após salvar, o logoff será realizado para todos os usuários.",
"SetDefaultRoomQuota": "Defina a cota de armazenamento padrão para salas neste DocSpace. Posteriormente, pode ser ajustado para cada sala individualmente pelo administrador da sala.",
"SetDefaultUserQuota": "Defina a cota de armazenamento para usuários deste DocSpace. A cota do usuário afeta o limite de armazenamento da pasta Meus Documentos de cada usuário.",
"SetDefaultUserQuota": "Defina a cota de armazenamento para usuários deste DocSpace. A cota do usuário afeta o limite de armazenamento da pasta Documentos de cada usuário.",
"SettingPasswordDescription": "Defina as configurações de força da senha para impor senhas mais seguras e resistentes à computação.",
"SettingPasswordStrengthMobileDescription": "As configurações de força da senha são uma forma de determinar a eficácia de uma senha na resistência a adivinhações e ataques de força bruta.",
"SettingPasswordTittle": "Configurações de força da senha",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Șabloane formulare",
"GeneralLinkDeletedSuccessfully": "Un link general a fost creat cu succes",
"GoToMyRooms": "Salt la Sălile",
"GoToPersonal": "Salt la Documentele mele",
"GoToPersonal": "Salt la Documentele",
"Images": "Imagini",
"InviteUsersInRoom": "Invită utilizatori în sala",
"LeaveRoomDescription": "Sunteți proprietarul acestei săli. Înainte de a părăsi sala, trebuie să atribuiți rolul de proprietar unui alt utilizator.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Descărcare copie",
"DownloadLog": "Descărcare jurnal",
"DownloadReportBtnText": "Descărcare raport",
"DownloadReportDescription": "Raportul va fi salvat în Documentele mele",
"DownloadReportDescription": "Raportul va fi salvat în Documentele",
"DownloadStatisticsText": "Puteţi descărca raportul pentru datele disponibile în perioada de stocare selectată pentru a vizualiza statisticile detaliate.",
"DuplicateNoun": "Dublare",
"EditColorScheme": "Editare schemă culori",
@ -179,7 +179,7 @@
"PasswordMinLenght": "Lungimea minimă a parolei",
"Path": "Cale",
"PersonalFiles": "Fișiere personale",
"PersonalFilesDescription": "Fișierele și documentele utilizatorului vor fi importate în Documente > Documentele mele.",
"PersonalFilesDescription": "Fișierele și documentele utilizatorului vor fi importate în Documente > Documentele.",
"PortalAccess": "Accesul la spațiu DocSpace",
"PortalCreatedDate": "Portal a fost creat la data de: {{date}}",
"PortalDeactivation": "Dezactivare DocSpace",
@ -233,7 +233,7 @@
"SessionLifetimeMobileDescription": "Durata de expirare a sesiunii permite stabilirea perioadei de timp (exprimată în minute) înainte ca utilizatorii spațiului DocSpace vor fi nevoiți să introducă din nou datele de autentificare pentru a accesa spaţiul.",
"SessionLifetimeSettingDescription": "Configurați durata de expirare a sesiunii pentru a stabili o perioadă de timp până la deconectarea automată. După salvare, toți utilizatorii vor fi deconectați.",
"SetDefaultRoomQuota": "Stabilire cotă de stocare implicită pentru sălile în acest DocSpace. Administrator de sală poate configura cote de stocare mai târziu individual pentru fiecare sală.",
"SetDefaultUserQuota": "Stabilire cotă de stocare pentru utilizatorii acestui DocSpace. Cotă de stocare pentru utilizator afectează limita de stocare pentru folderul Documentele mele a fiecărui utilizator.",
"SetDefaultUserQuota": "Stabilire cotă de stocare pentru utilizatorii acestui DocSpace. Cotă de stocare pentru utilizator afectează limita de stocare pentru folderul Documentele a fiecărui utilizator.",
"SettingPasswordDescription": "Configurați setări nivelului de complexitate a parolei pentru a crea parole puternice și le securiza.",
"SettingPasswordStrengthMobileDescription": "Setarea nivelului de complexitate a parolei este o măsură de a determina eficacitatea parolei împotriva ghicirii sau atacuri cu forță brută.",
"SettingPasswordTittle": "Setări Nivel de complexitate parolă",

View File

@ -55,5 +55,5 @@
"WebhookRemoved": "Eliminare Webhook",
"Webhooks": "Webhook-uri",
"WebhooksGuide": "Ghid Webhooks",
"WebhooksInfo": "Utilizați webhook-uri pentru a efectua acțiuni personalizate pe partea aplicației sau paginii web pe care utilizați pentru diferite evenimente din spațiu ONLYOFFICE Docspace.\nAici puteți să creați și să gestionați toate webhook-urile, să le configurați și să parcurgeți istoricul fiecărui webhook pentru a verifica performanța acestora."
"WebhooksInfo": "Utilizați webhook-uri pentru a efectua acțiuni personalizate pe partea aplicației sau paginii web pe care utilizați pentru diferite evenimente din spațiu ONLYOFFICE DocSpace.\nAici puteți să creați și să gestionați toate webhook-urile, să le configurați și să parcurgeți istoricul fiecărui webhook pentru a verifica performanța acestora."
}

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Шаблоны форм",
"GeneralLinkDeletedSuccessfully": "Новая общая ссылка успешно создана",
"GoToMyRooms": "Перейти в комнаты",
"GoToPersonal": "Перейти к Моим документам",
"GoToPersonal": "Перейти к Документам",
"Images": "Изображения",
"InviteUsersInRoom": "Пригласить пользователей в комнату",
"LeaveRoomDescription": "Вы являетесь новым владельцем комнаты. Перед тем, как покинуть комнату, вы должны передать роль владельца другому пользователю.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Скачать копию",
"DownloadLog": "Скачать журнал",
"DownloadReportBtnText": "Скачать отчет",
"DownloadReportDescription": "Отчет будет сохранен в \"Мои документы\"",
"DownloadReportDescription": "Отчет будет сохранен в \"Документы\"",
"DownloadStatisticsText": "Для просмотра подробной статистики вы можете скачать отчет по данным, доступным в течение выбранного периода хранения.",
"DuplicateNoun": "Дубликат",
"EditColorScheme": "Редактирование цветовой схемы",
@ -180,7 +180,7 @@
"PasswordMinLenght": "Минимальная длина пароля",
"Path": "Путь",
"PersonalFiles": "Личные файлы",
"PersonalFilesDescription": "Пользовательские файлы и документы будут импортированы в Документы > Мои документы.",
"PersonalFilesDescription": "Пользовательские файлы и документы будут импортированы в Документы > Документы.",
"PortalAccess": "Доступ к DocSpace",
"PortalCreatedDate": "Дата создания портала: {{date}}",
"PortalDeactivation": "Деактивировать DocSpace",
@ -235,7 +235,7 @@
"SessionLifetimeMobileDescription": "Время существования сессии позволяет задать время (в минутах), прежде чем пользователям DocSpace потребуется заново вводить учетные данные для получения доступа к нему.",
"SessionLifetimeSettingDescription": "Настройте Время существования сессии, чтобы определить период времени перед автоматическим выходом из системы. После сохранения для всех пользователей будет произведен выход из системы.",
"SetDefaultRoomQuota": "Установите квоту хранения по умолчанию для комнат в этом DocSpace. Позже администратор комнаты сможет скорректировать квоту для каждой комнаты индивидуально.",
"SetDefaultUserQuota": "Установите квоту хранения для пользователей этого DocSpace. Пользовательская квота влияет на ограничение объема хранилища для папки Мои документы каждого пользователя.",
"SetDefaultUserQuota": "Установите квоту хранения для пользователей этого DocSpace. Пользовательская квота влияет на ограничение объема хранилища для папки Документы каждого пользователя.",
"SettingPasswordDescription": "Настройте параметры надежности пароля, чтобы обеспечить более безопасные и устойчивые к вычислениям пароли.",
"SettingPasswordStrengthMobileDescription": "Настройки надежности пароля позволяют определить надежность пароля (эффективность пароля при сопротивлении угадыванию и прямому подбору).",
"SettingPasswordTittle": "Настройки надежности пароля",

View File

@ -55,5 +55,5 @@
"WebhookRemoved": "Вебхук удален",
"Webhooks": "Вебхуки",
"WebhooksGuide": "Руководство по вебхукам",
"WebhooksInfo": "Используйте вебхуки для выполнения пользовательских действий на стороне любого используемого вами приложения или веб-сайта на основе различных событий в ONLYOFFICE Docspace.\nЗдесь вы можете создавать все ваши вебхуки и управлять ими, настраивать их и загружать историю каждого вебхука для проверки их эффективности."
"WebhooksInfo": "Используйте вебхуки для выполнения пользовательских действий на стороне любого используемого вами приложения или веб-сайта на основе различных событий в ONLYOFFICE DocSpace.\nЗдесь вы можете создавать все ваши вебхуки и управлять ими, настраивать их и загружать историю каждого вебхука для проверки их эффективности."
}

View File

@ -84,7 +84,7 @@
"FormsTemplates": "ආකෘතිපත්‍ර අච්චු",
"GeneralLinkDeletedSuccessfully": "නව සාමාන්‍ය සබැඳිය සාර්ථකව සෑදිණි",
"GoToMyRooms": "කාමර වෙත යන්න",
"GoToPersonal": "මාගේ ලේඛන වෙත යන්න",
"GoToPersonal": "ලේඛන වෙත යන්න",
"Images": "ඡායාරූප",
"InviteUsersInRoom": "කාමරයට ආරාධනා කරන්න",
"LeaveRoomDescription": "ඔබ මෙම කාමරයේ හිමිකරු වේ. ඔබ කාමරය හැරයාමට පෙර, හිමිකරුගේ භූමිකාව වෙනත් පරිශ්‍රීලකයෙකුට මාරු කළ යුතුය.",

View File

@ -110,7 +110,7 @@
"DownloadCopy": "පිටපතක් බාගන්න",
"DownloadLog": "සටහන බාගන්න",
"DownloadReportBtnText": "වාර්තාව බාගන්න",
"DownloadReportDescription": "මාගේ ලේඛන වෙත වාර්තාව සුරැකෙනු ඇත",
"DownloadReportDescription": "ලේඛන වෙත වාර්තාව සුරැකෙනු ඇත",
"DownloadStatisticsText": "තෝරාගත් ආචයන පරාසයක පවතින දත්ත බාගැනීමෙන් සවිස්තරාත්මක සංඛ්‍යාලේඛන වාර්තාවක් බැලීමට හැකිය.",
"DuplicateNoun": "අනුපිටපතක්",
"EditColorScheme": "වත්මන් තේමාව සංස්කරණය",
@ -230,7 +230,7 @@
"SessionLifetimeMobileDescription": "වාරයේ ආයුකාලය මගින් අවකාශයට ප්‍රවේශ වීමට නැවත අක්තපත්‍ර ඇතුල් කිරීමට සිදුවන කාලය (විනාඩි වලින්) සැකසීමට ඉඩ දෙයි. ",
"SessionLifetimeSettingDescription": "ස්වයංක්‍රීය නික්මීම සඳහා වාරයේ ආයු කාලය සකසන්න. සුරැකීමෙන් පසු, එය සියලුම පරිශ්‍රීලකයින් සඳහා බලපායි.",
"SetDefaultRoomQuota": "මෙම DocSpace හි කාමර සඳහා පෙරනිමි ආචයන සලාකය සකසන්න. පසුව කාමර පරිපාලකයාට එක් එක් කාමරය සඳහා වෙනම සකස් කිරීමට හැකිය.",
"SetDefaultUserQuota": "මෙම DocSpace පරිශ්‍රීලකයින් සඳහා ආචයන සලාකය සකසන්න. පරිශීලක කෝටාව එක් එක් පරිශ්‍රීලකයාගේ මාගේ ලේඛන බහාලුම ද ආචයන සීමාවට අදාළ වේ.",
"SetDefaultUserQuota": "මෙම DocSpace පරිශ්‍රීලකයින් සඳහා ආචයන සලාකය සකසන්න. පරිශීලක කෝටාව එක් එක් පරිශ්‍රීලකයාගේ ලේඛන බහාලුම ද ආචයන සීමාවට අදාළ වේ.",
"SettingPasswordDescription": "වඩාත් ආරක්‍ෂිත, පරිගණන-ප්‍රතිරෝධී මුරපද සඳහා මුරපදයේ ශක්තිය සැකසුම වින්‍යාස කරන්න.",
"SettingPasswordStrengthMobileDescription": "මුරපදවල ශක්තිය සැකසීම යනු අනුමාන සහ චණ්ඩ ප්‍රහාර වලට ප්‍රතිරෝධය දැක්වීමේ දී මුරපදයක සඵලතාවය තීරණය කිරීමේ ක්‍රමයකි.",
"SettingPasswordTittle": "මුරපදවල ශක්තිය සැකසීම",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Šablóny formulárov",
"GeneralLinkDeletedSuccessfully": "Nový hlavný odkaz úspešne vytvorený",
"GoToMyRooms": "Prejdite do miestnosti",
"GoToPersonal": "Prejdite do Moje dokumenty",
"GoToPersonal": "Prejdite do Dokumenty",
"Images": "Obrázky",
"InviteUsersInRoom": "Pozvite používateľov do miestnosti",
"LeaveRoomDescription": "Vy ste majiteľom tejto miestnosti. Skôr ako opustíte miestnosť, musíte odovzdať úlohu vlastníka inému používateľovi.",

View File

@ -111,7 +111,7 @@
"DownloadCopy": "Stiahnuť si kópiu",
"DownloadLog": "Stiahnuť log",
"DownloadReportBtnText": "Stiahnuť správu",
"DownloadReportDescription": "Správa sa uloží do priečinka Moje dokumenty",
"DownloadReportDescription": "Správa sa uloží do priečinka Dokumenty",
"DownloadStatisticsText": "Ak chcete zobraziť podrobné štatistiky, môžete si stiahnuť správu o dátach dostupných pre zvolené obdobie uchovávania.",
"DuplicateNoun": "Duplikovať",
"EditColorScheme": "Upraviť farebnú schému",
@ -178,7 +178,7 @@
"PasswordMinLenght": "Minimálna dĺžka hesla",
"Path": "Cesta",
"PersonalFiles": "Osobné súbory",
"PersonalFilesDescription": "Súbory a dokumenty používateľov budú importované do Dokumenty > Moje dokumenty.",
"PersonalFilesDescription": "Súbory a dokumenty používateľov budú importované do Dokumenty > Dokumenty.",
"PortalAccess": "Prístup k DocSpace",
"PortalCreatedDate": "Dátum vytvorenia portálu: {{date}}",
"PortalDeactivation": "Deaktivovať DocSpace",
@ -232,7 +232,7 @@
"SessionLifetimeMobileDescription": "Čas trvania relácie umožňuje nastaviť čas (v minútach), za ktorý budú musieť používatelia DocSpace znovu zadať prihlasovacie údaje do priestoru, aby získali prístup do priestoru.",
"SessionLifetimeSettingDescription": "Nastavte Čas trvania relácie, aby ste definovali časový úsek pred automatickým odhlásením. Po uložení všetci používatelia budú odhlásení.",
"SetDefaultRoomQuota": "Nastavte predvolenú kvótu úložiska pre miestnosti v tomto priestore DocSpace. Neskôr ju môže pre každú miestnosť individuálne upraviť administrátor miestnosti.",
"SetDefaultUserQuota": "Nastavte kvótu úložiska pre používateľov tohto priestoru DocSpace. Kvóta používateľov ovplyvňuje limit úložiska pre priečinok Moje dokumenty každého používateľa.",
"SetDefaultUserQuota": "Nastavte kvótu úložiska pre používateľov tohto priestoru DocSpace. Kvóta používateľov ovplyvňuje limit úložiska pre priečinok Dokumenty každého používateľa.",
"SettingPasswordDescription": "Nastavte silu hesla, aby používatelia boli nútení zadávať bezpečnejšie hesla odolne voči útokom.",
"SettingPasswordStrengthMobileDescription": "Nastavenie sily hesla slúži na stanovenie odolnosti hesla voči útokom hádaním a útokom hrubou silou.",
"SettingPasswordTittle": "Nastavenie sily hesla",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Predloge obrazcev",
"GeneralLinkDeletedSuccessfully": "Nova splošna povezava je bila uspešno ustvarjena",
"GoToMyRooms": "Pojdi na sobe",
"GoToPersonal": "Pojdi na Moji dokumenti",
"GoToPersonal": "Pojdi na Dokumenti",
"Images": "Slike",
"InviteUsersInRoom": "Povabi uporabnike v sobo",
"LeaveRoomDescription": "Vi ste lastnik te sobe. Preden zapustite sobo, morate vlogo lastnika prenesti na drugega uporabnika.",

View File

@ -111,7 +111,7 @@
"DownloadCopy": "Prenesi kopijo",
"DownloadLog": "Dnevnik prenosa",
"DownloadReportBtnText": "Prenesi poročilo",
"DownloadReportDescription": "Poročilo bo shranjeno v Moji dokumenti",
"DownloadReportDescription": "Poročilo bo shranjeno v Dokumenti",
"DownloadStatisticsText": "Za ogled podrobne statistike lahko prenesete poročilo za podatke, ki so na voljo v izbranem obdobju shranjevanja.",
"DuplicateNoun": "Podvoji",
"EditColorScheme": "Uredi barvno shemo",
@ -178,7 +178,7 @@
"PasswordMinLenght": "Minimalna dolžina gesla",
"Path": "Pot",
"PersonalFiles": "Osebne datoteke",
"PersonalFilesDescription": "Uporabniške datoteke in dokumenti bodo uvoženi v Dokumenti > Moji dokumenti.",
"PersonalFilesDescription": "Uporabniške datoteke in dokumenti bodo uvoženi v Dokumenti > Dokumenti.",
"PortalAccess": "Dostop do prostora",
"PortalCreatedDate": "Datum izdelave portala: {{date}}",
"PortalDeactivation": "Deaktiviraj DocSpace",
@ -232,7 +232,7 @@
"SessionLifetimeMobileDescription": "Življenjska doba seje omogoča nastavitev časa (v minutah), preden bodo morali uporabniki DocSpace znova vnesti poverilnice prostora za dostop do prostora.",
"SessionLifetimeSettingDescription": "Prilagodite življenjsko dobo seje, da določite časovno obdobje pred samodejno odjavo. Po shranjevanju bo izvedena odjava za vse uporabnike.",
"SetDefaultRoomQuota": "Nastavite privzeto kvoto prostora za shranjevanje v tem prostoru DocSpace. Kasneje se lahko prilagodi za vsako sobo posebej s strani skrbnika. sobe.",
"SetDefaultUserQuota": "Nastavite kvoto prostora za shranjevanje za uporabnike tega prostora DocSpace. Uporabniška kvota vpliva na omejitev shranjevanja za mapo Moji dokumenti vsakega uporabnika.",
"SetDefaultUserQuota": "Nastavite kvoto prostora za shranjevanje za uporabnike tega prostora DocSpace. Uporabniška kvota vpliva na omejitev shranjevanja za mapo Dokumenti vsakega uporabnika.",
"SettingPasswordDescription": "Konfigurirajte nastavitve moči gesla za uveljavljanje varnejših gesel, odpornih na vdore.",
"SettingPasswordStrengthMobileDescription": "Nastavitve moči gesla so način za ugotavljanje učinkovitosti gesla pred ugibanjem in vdorom.",
"SettingPasswordTittle": "Nastavitve moči gesla",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Šabloni obrazaca",
"GeneralLinkDeletedSuccessfully": "Novi generalni link uspešno kreiran",
"GoToMyRooms": "Idi u sobe",
"GoToPersonal": "Idi u Moji Dokumenti",
"GoToPersonal": "Idi u Dokumenti",
"Images": "Slike",
"InviteUsersInRoom": "Pozovi korisnike u sobu",
"LeaveRoomDescription": "Vi ste vlasnik ove sobe. Pre nego što napustite sobu, morate preneti ulogu vlasnika na drugog korisnika.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Preuzmi kopiju",
"DownloadLog": "Preuzmi log",
"DownloadReportBtnText": "Preuzmi izveštaj",
"DownloadReportDescription": "Izveštaj će biti sačuvan u Moji Dokumenti",
"DownloadReportDescription": "Izveštaj će biti sačuvan u Dokumenti",
"DownloadStatisticsText": "Možete preuzeti izveštaj za dostupne podatke tokom izabranog perioda skladištenja kako biste pregledali detaljnu statistiku.",
"DuplicateNoun": "Dupliciraj",
"EditColorScheme": "Uredi šemu boja",
@ -136,7 +136,7 @@
"ImportedUsers": "{{selectedUsers}}/{{importedUsers}} korisnici su uvezeni uspešno.",
"ImportFromGoogle": "Uvezi sa Google Workspace-a",
"ImportFromNextcloud": "Uvezi sa Nextcloud-a",
"ImportFromOnlyoffice": "Uvezi sa Onlyoffice Workspace-a",
"ImportFromOnlyoffice": "Uvezi sa ONLYOFFICE Workspace-a",
"ImportProcessingDescription": "Migracija podataka je u toku. Molimo sačekajte.",
"ImportSectionDescription": "Izaberite sekcije za uvoz. One će se pojaviti u odgovarajućim sekcijama DocSpace-a.",
"IncludedInBusiness": "Uključeno u Poslovni plan",
@ -179,7 +179,7 @@
"PasswordMinLenght": "Minimalna dužina lozinke",
"Path": "Putanja",
"PersonalFiles": "Lične datoteke",
"PersonalFilesDescription": "Korisničke datoteke i dokumenti će biti uvezeni u Dokumenti > Moji Dokumenti.",
"PersonalFilesDescription": "Korisničke datoteke i dokumenti će biti uvezeni u Dokumenti > Dokumenti.",
"PortalAccess": "Pristup DocSpace-u",
"PortalCreatedDate": "Portal Kreiran datum: {{date}}",
"PortalDeactivation": "Deaktiviraj DocSpace",
@ -233,7 +233,7 @@
"SessionLifetimeMobileDescription": "Session Lifetime omogućava postavljanje vremena (u minutima) pre nego što će korisnicima DocSpace-a ponovo biti potrebno da unesu pristupne podatke kako bi pristupili prostoru.",
"SessionLifetimeSettingDescription": "Podesite Session Lifetime kako biste definisali vremenski period pre automatskog odjavljivanja. Nakon čuvanja, odjavljivanje će biti izvršeno za sve korisnike.",
"SetDefaultRoomQuota": "Postavite podrazumevanu skladišnu kvotu za sobe u ovom DocSpace-u. Kasnije može biti podešeno za svaku sobu individualno od strane admina sobe.",
"SetDefaultUserQuota": "Postavite skladišnu kvotu za sobe u ovom DocSpace-u. Korisnička kvota utiče na ograničenje skladišta za Moji Dokumenti folder svakog korisnika.",
"SetDefaultUserQuota": "Postavite skladišnu kvotu za sobe u ovom DocSpace-u. Korisnička kvota utiče na ograničenje skladišta za Dokumenti folder svakog korisnika.",
"SettingPasswordDescription": "Konfigurišite Podešavanja Jačine Lozinke kako biste primenili sigurnije, otpornije lozinke na računarske napade.",
"SettingPasswordStrengthMobileDescription": "Podešavanja Jačine Lozinke su način da se odredi efektivnost lozinke u otpornosti na pogađanja i napade brute-force.",
"SettingPasswordTittle": "Podešavanja Jačine Lozinke",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Form şablonları",
"GeneralLinkDeletedSuccessfully": "Yeni genel bağlantı başarıyla oluşturuldu",
"GoToMyRooms": "Odalarıma git",
"GoToPersonal": "Belgelerime Git",
"GoToPersonal": "Belgelere Git",
"Images": "Görüntüler",
"InviteUsersInRoom": "Kullanıcıları odaya davet et",
"LeaveRoomDescription": "Siz bu odanın sahibisiniz. Odadan ayrılmadan önce sahip rolünü başka bir kullanıcıya aktarmanız gerekir.",

View File

@ -111,7 +111,7 @@
"DownloadCopy": "Kopyayı indir",
"DownloadLog": "İndirme günlüğü",
"DownloadReportBtnText": "Raporu indir",
"DownloadReportDescription": "Rapor Belgelerim'e kaydedilecek",
"DownloadReportDescription": "Rapor Belgeler'e kaydedilecek",
"DownloadStatisticsText": "Ayrıntılı istatistikleri görüntülemek için seçilen depolama süresi boyunca mevcut olan veriler için raporu indirebilirsiniz.",
"DuplicateNoun": "Yinelenen",
"EditColorScheme": "Renk düzenini düzenle",
@ -178,7 +178,7 @@
"PasswordMinLenght": "Minimum şifre uzunluğu",
"Path": "Yol",
"PersonalFiles": "Kişisel dosyalar",
"PersonalFilesDescription": "Kullanıcı dosyaları ve belgeleri Belgeler > Belgelerim bölümüne aktarılacaktır.",
"PersonalFilesDescription": "Kullanıcı dosyaları ve belgeleri Belgeler > Belgeler bölümüne aktarılacaktır.",
"PortalAccess": "DocSpace erişimi",
"PortalCreatedDate": "Portal Oluşturulma tarihi: {{date}}",
"PortalDeactivation": "DocSpace'i devre dışı bırak",
@ -232,7 +232,7 @@
"SessionLifetimeMobileDescription": "Oturum Ömrü, DocSpace kullanıcılarının alana erişmek için alan kimlik bilgilerini tekrar girmeleri gerekmeden önce süreyi (dakika bazında) ayarlamanıza olanak sağlar.",
"SessionLifetimeSettingDescription": "Otomatik oturum kapatmadan önceki süreyi tanımlamak için Oturum Ömrü ayarlayın. Kaydettikten sonra tüm kullanıcılar için oturum kapatma işlemi gerçekleştirilecektir.",
"SetDefaultRoomQuota": "Bu DocSpaceteki odalar için varsayılan depolama kotasını ayarlayın. Bu, daha sonra oda yöneticisi tarafından her oda için ayrı ayrı ayarlanabilir.",
"SetDefaultUserQuota": "Bu DocSpacein kullanıcıları için depolama kotasını ayarlayın. Kullanıcı kotası, her kullanıcının Belgelerim klasörü için depolama sınırını etkiler.",
"SetDefaultUserQuota": "Bu DocSpacein kullanıcıları için depolama kotasını ayarlayın. Kullanıcı kotası, her kullanıcının Belgeler klasörü için depolama sınırını etkiler.",
"SettingPasswordDescription": "Daha güvenli ve dayanıklı şifreleri zorunlu kılmak için Şifre Gücü Ayarlarını yapılandırın.",
"SettingPasswordStrengthMobileDescription": "Parola Gücü Ayarları, bir parolanın tahmin etme ve brute force saldırılarına karşı direncini belirlemenin bir yoludur.",
"SettingPasswordTittle": "Şifre Gücü Ayarları",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Шаблони форм",
"GeneralLinkDeletedSuccessfully": "Нове загальне посилання успішно створено",
"GoToMyRooms": "Перейти до розділу «Кімнати»",
"GoToPersonal": "Перейти до розділу «Мої документи»",
"GoToPersonal": "Перейти до розділу «Документи»",
"Images": "Зображення",
"InviteUsersInRoom": "Запросити користувачів у кімнаті",
"LeaveRoomDescription": "Ви власник цієї кімнати. Перш ніж залишити кімнату, ви повинні передати роль власника іншому користувачу.",

View File

@ -112,7 +112,7 @@
"DownloadCopy": "Завантажити копію",
"DownloadLog": "Завантажити журнал",
"DownloadReportBtnText": "Завантажити звіт",
"DownloadReportDescription": "Звіт буде збережено в розділі «Мої документи»",
"DownloadReportDescription": "Звіт буде збережено в розділі «Документи»",
"DownloadStatisticsText": "Ви можете завантажити звіт із даними, доступними для вибраного періоду зберігання, щоб переглянути детальну статистику.",
"DuplicateNoun": "Дублікат",
"EditColorScheme": "Редагувати колірну схему",
@ -179,7 +179,7 @@
"PasswordMinLenght": "Мінімальна довжина паролю",
"Path": "Шлях",
"PersonalFiles": "Особисті файли",
"PersonalFilesDescription": "Файли та документи користувачів буде імпортовано до розділу «Документи» > «Мої документи».",
"PersonalFilesDescription": "Файли та документи користувачів буде імпортовано до розділу «Документи» > ««Документи»».",
"PortalAccess": "Доступ до порталу",
"PortalCreatedDate": "Дата створення порталу: {{date}}",
"PortalDeactivation": "Деактивувати DocSpace",
@ -233,7 +233,7 @@
"SessionLifetimeMobileDescription": "Тривалість сеансу дозволяє встановити час (у хвилинах), після якого користувачам DocSpace потрібно буде повторно ввести облікові дані, щоб отримати доступ до простору.",
"SessionLifetimeSettingDescription": "Налаштуйте тривалість сеансу, щоб визначити період часу до автоматичного виходу. Після збереження буде виконано вихід з системи для всіх користувачів.",
"SetDefaultRoomQuota": "Установіть квоту сховища за замовчуванням для кімнат у цьому просторі DocSpace. Пізніше адміністратор кожної кімнати зможе налаштувати квоту окремо для своєї кімнати.",
"SetDefaultUserQuota": "Установіть квоту сховища для користувачів цього простору DocSpace. Квота користувачів впливає на обмеження сховища для папки «Мої документи» кожного користувача.",
"SetDefaultUserQuota": "Установіть квоту сховища для користувачів цього простору DocSpace. Квота користувачів впливає на обмеження сховища для папки «Документи» кожного користувача.",
"SettingPasswordDescription": "Налаштуйте параметри надійності пароля, щоб застосовувати більш безпечні паролі, стійкі до обчислення.",
"SettingPasswordStrengthMobileDescription": "Параметри надійності пароля — це спосіб визначити ефективність пароля для захисту від вгадування та атак грубою силою.",
"SettingPasswordTittle": "Параметри надійності пароля",

View File

@ -85,7 +85,7 @@
"FormsTemplates": "Mẫu biểu mẫu",
"GeneralLinkDeletedSuccessfully": "Đã tạo liên kết chung mới thành công",
"GoToMyRooms": "Vào Phòng của tôi",
"GoToPersonal": "Vào mục Tài liệu của tôi",
"GoToPersonal": "Vào mục Tài liệu",
"Images": "Hình ảnh",
"InviteUsersInRoom": "Mời người dùng vào phòng",
"LeaveRoomDescription": "Bạn là chủ sở hữu của phòng này. Trước khi rời khỏi phòng, bạn phải chuyển vai trò của chủ sở hữu cho người dùng khác.",

View File

@ -111,7 +111,7 @@
"DownloadCopy": "Tải xuống bản sao",
"DownloadLog": "Tải log",
"DownloadReportBtnText": "Tải báo cáo xuống",
"DownloadReportDescription": "Báo cáo sẽ được lưu vào Tài liệu Của tôi",
"DownloadReportDescription": "Báo cáo sẽ được lưu vào Tài liệu",
"DownloadStatisticsText": "Bạn có thể tải xuống báo cáo cho dữ liệu hữu dụng trong thời gian lưu trữ đã chọn để xem số liệu thống kê chi tiết.",
"DuplicateNoun": "Trùng lặp",
"EditColorScheme": "Chỉnh sửa bảng màu",
@ -178,7 +178,7 @@
"PasswordMinLenght": "Độ dài mật khẩu tối thiểu",
"Path": "Đường dẫn",
"PersonalFiles": "Tập tin cá nhân",
"PersonalFilesDescription": "Tập tin và tài liệu người dùng sẽ được nhập vào Tài liệu > Tài liệu của tôi.",
"PersonalFilesDescription": "Tập tin và tài liệu người dùng sẽ được nhập vào Tài liệu > Tài liệu.",
"PortalAccess": "Truy cập DocSpace",
"PortalCreatedDate": "Ngày tạo cổng thông tin: {{date}}",
"PortalDeactivation": "Vô hiệu hóa DocSpace",
@ -232,7 +232,7 @@
"SessionLifetimeMobileDescription": "Thời gian tồn tại của phiên cho phép đặt thời gian (tính bằng phút) trước khi người dùng DocSpace cần nhập lại thông tin đăng nhập không gian để truy cập không gian. ",
"SessionLifetimeSettingDescription": "Điều chỉnh Thời gian tồn tại của Phiên để xác định khoảng thời gian trước khi tự động đăng xuất. Sau khi lưu, việc đăng xuất sẽ được thực hiện cho tất cả người dùng.",
"SetDefaultRoomQuota": "Đặt hạn mức lưu trữ mặc định cho các phòng trong DocSpace này. Sau đó, quản trị viên phòng có thể điều chỉnh riêng cho từng phòng.",
"SetDefaultUserQuota": "Đặt hạn mức lưu trữ cho người dùng DocSpace này. Hạn mức người dùng ảnh hưởng đến giới hạn dung lượng lưu trữ cho thư mục Tài liệu của tôi của mỗi người dùng.",
"SetDefaultUserQuota": "Đặt hạn mức lưu trữ cho người dùng DocSpace này. Hạn mức người dùng ảnh hưởng đến giới hạn dung lượng lưu trữ cho thư mục Tài liệu của mỗi người dùng.",
"SettingPasswordDescription": "Định cấu hình Thiết lập Độ mạnh của Mật khẩu để giữ cho mật khẩu an toàn hơn, chống lại việc phỏng đoán mật khẩu.",
"SettingPasswordStrengthMobileDescription": "Thiết lập Độ mạnh của Mật khẩu là một cách để xác định hiệu quả của mật khẩu trong việc chống lại các cuộc tấn công phỏng đoán và tấn công brute-force.",
"SettingPasswordTittle": "Thiết lập Độ mạnh của Mật khẩu",

View File

@ -110,7 +110,7 @@
"DownloadCopy": "下载副本",
"DownloadLog": "下载日志",
"DownloadReportBtnText": "下载报告",
"DownloadReportDescription": "报告将被保存至“我的文档”",
"DownloadReportDescription": "报告将被保存至“文档”",
"DownloadStatisticsText": "您可以下载所选存储期间可用数据的报告,以查看详细统计信息。",
"DuplicateNoun": "复制",
"EditColorScheme": "编辑配色方案",
@ -177,7 +177,7 @@
"PasswordMinLenght": "密码最短长度",
"Path": "路径",
"PersonalFiles": "个人文件",
"PersonalFilesDescription": "用户文件和文档会被导入至“文档” > “我的文档”。",
"PersonalFilesDescription": "用户文件和文档会被导入至“文档” > “文档”。",
"PortalAccess": "协作空间访问权限",
"PortalCreatedDate": "门户创建日期:{{date}}",
"PortalDeactivation": "停用协作空间",
@ -232,7 +232,7 @@
"SessionLifetimeMobileDescription": "通过会话生存期,可设置协作空间用户需要再输入凭据才能访问空间的时间(单位为分钟)。",
"SessionLifetimeSettingDescription": "调整会话生命周期,可定义自动注销的时间段。保存后,会对所有用户执行注销。",
"SetDefaultRoomQuota": "设置此协作空间中,房间的默认储存空间额度。房间管理员后续可对每个房间进行单独调整。",
"SetDefaultUserQuota": "设置此协作空间的用户的储存空间额度。此操作会影响每位用户“我的文档”板块的储存空间限制。",
"SetDefaultUserQuota": "设置此协作空间的用户的储存空间额度。此操作会影响每位用户“文档”板块的储存空间限制。",
"SettingPasswordDescription": "配置密码强度设置,强制使用更安全的强密码。",
"SettingPasswordStrengthMobileDescription": "通过“密码强度设置”,确定密码阻止猜测和暴力攻击的有效性。",
"SettingPasswordTittle": "密码强度设置",

View File

@ -116,7 +116,11 @@ const ChangeStorageQuotaDialog = (props) => {
return (
<StyledModalDialog visible={isVisible} onClose={onCloseClick}>
<ModalDialog.Header>{t("Common:DisableStorageQuota")}</ModalDialog.Header>
<ModalDialog.Header>
{isDisableQuota
? t("Common:DisableStorageQuota")
: t("Common:ManageStorageQuota")}
</ModalDialog.Header>
<ModalDialog.Body>
<Text noSelect>
{isDisableQuota

View File

@ -128,7 +128,7 @@ export const SortDropdownItem = styled(DropDownItem)`
`}
${({ isDescending }) =>
isDescending &&
!isDescending &&
css`
.sortorder-arrow {
transform: rotate(180deg);

View File

@ -366,7 +366,7 @@ const StyledTileContainer = styled.div`
display: none;
cursor: pointer;
${(props) =>
props.isDesc &&
!props.isDesc &&
css`
transform: rotate(180deg);
`}

View File

@ -32,3 +32,4 @@ export { default as useGroups } from "./useGroups";
export { default as useSettings } from "./useSettings";
export { default as usePublic } from "./usePublic";
export { default as useInsideGroup } from "./useInsideGroup";
export { default as useAccountsHotkeys } from "./useAccountsHotkeys";

View File

@ -0,0 +1,109 @@
// (c) Copyright Ascensio System SIA 2009-2024
//
// This program is a free software product.
// You can redistribute it and/or modify it under the terms
// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software
// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended
// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of
// any third-party rights.
//
// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see
// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
//
// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021.
//
// The interactive user interfaces in modified source and object code versions of the Program must
// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3.
//
// Pursuant to Section 7(b) of the License you must retain the original Product logo when
// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under
// trademark law for use of our trademarks.
//
// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
import { useEffect, useState, useCallback } from "react";
import { useHotkeys, Options } from "react-hotkeys-hook";
import throttle from "lodash/throttle";
import { checkDialogsOpen } from "@docspace/shared/utils/checkDialogsOpen";
interface AccountsHotkeysProps {
enabledHotkeys: boolean;
accountsIsIsLoading: boolean;
selectBottom: () => void;
selectUpper: () => void;
activateHotkeys: (e: KeyboardEvent) => void;
}
const useAccountsHotkeys = ({
enabledHotkeys,
accountsIsIsLoading,
selectBottom,
selectUpper,
activateHotkeys,
}: AccountsHotkeysProps) => {
const [isEnabled, setIsEnabled] = useState(true);
const hotkeysFilter = {
filter: (ev) => {
const eElement = ev.target as HTMLElement;
const eInputElement = ev.target as HTMLInputElement;
return (
eInputElement?.type === "checkbox" || eElement?.tagName !== "INPUT"
);
},
filterPreventDefault: false,
enableOnTags: ["INPUT"],
enabled: enabledHotkeys && !accountsIsIsLoading && isEnabled,
} as Options;
const onKeyDown = useCallback(
(e: KeyboardEvent) => {
const someDialogIsOpen = checkDialogsOpen();
setIsEnabled(!someDialogIsOpen);
activateHotkeys(e);
},
[activateHotkeys],
);
useEffect(() => {
const throttledKeyDownEvent = throttle(onKeyDown, 300);
window.addEventListener("keydown", onKeyDown);
return () => {
window.removeEventListener("keypress", throttledKeyDownEvent);
};
}, [onKeyDown]);
useHotkeys(
"*",
(e) => {
const someDialogIsOpen = checkDialogsOpen();
if (e.shiftKey || e.ctrlKey || someDialogIsOpen) return;
switch (e.key) {
case "ArrowDown":
case "j": {
return selectBottom();
}
case "ArrowUp":
case "k": {
return selectUpper();
}
default:
break;
}
},
hotkeysFilter,
);
};
export default useAccountsHotkeys;

View File

@ -84,7 +84,7 @@ const GroupsRow = ({
isActive={isActive}
className={`group-item row-wrapper ${
isChecked || isActive ? "row-selected" : ""
}`}
} ${item.id}`}
value={item.id}
>
<div className={"group-item"}>

View File

@ -90,7 +90,7 @@ const GroupsTableItem = ({
<Styled.GroupsRowWrapper
className={`group-item ${
(isChecked || isActive) && "table-row-selected"
}`}
} ${item.id}`}
value={value}
>
<Styled.GroupsRow

View File

@ -146,7 +146,7 @@ const SimpleUserRow = (props) => {
<StyledWrapper
className={`user-item row-wrapper ${
isChecked || isActive ? "row-selected" : ""
}`}
} ${item.id}`}
value={value}
checked={isChecked}
isActive={isActive}

View File

@ -469,7 +469,7 @@ const InsideGroupTableRow = (props) => {
<StyledWrapper
className={`user-item ${
isChecked || isActive ? "table-row-selected" : ""
}`}
} ${item.id}`}
value={value}
>
<StyledPeopleRow

View File

@ -146,7 +146,7 @@ const SimpleUserRow = (props) => {
<StyledWrapper
className={`user-item row-wrapper ${
isChecked || isActive ? "row-selected" : ""
}`}
} ${item.id}`}
value={value}
checked={isChecked}
isActive={isActive}

View File

@ -472,7 +472,7 @@ const PeopleTableRow = (props) => {
<StyledWrapper
className={`user-item ${
isChecked || isActive ? "table-row-selected" : ""
}`}
} ${item.id}`}
value={value}
>
<StyledPeopleRow

View File

@ -35,6 +35,7 @@ import InsideGroup from "./InsideGroup";
import { withTranslation } from "react-i18next";
import { Consumer } from "@docspace/shared/utils";
import withLoader from "SRC_DIR/HOCs/withLoader";
import { useAccountsHotkeys } from "../../Hooks";
const SectionBodyContent = (props) => {
const {
@ -47,11 +48,26 @@ const SectionBodyContent = (props) => {
setGroupsBufferSelection,
setChangeOwnerDialogVisible,
selectUser,
enabledHotkeys,
accountsIsIsLoading,
selectBottom,
selectUpper,
activateHotkeys,
setHotkeyCaretStart,
setHotkeyCaret,
} = props;
const location = useLocation();
const { groupId } = useParams();
useAccountsHotkeys({
enabledHotkeys,
accountsIsIsLoading,
selectBottom,
selectUpper,
activateHotkeys,
});
useEffect(() => {
window.addEventListener("mousedown", onMouseDown);
@ -85,6 +101,8 @@ const SectionBodyContent = (props) => {
setPeopleBufferSelection(null);
setGroupsBufferSelection(null);
window?.getSelection()?.removeAllRanges();
setHotkeyCaretStart(null);
setHotkeyCaret(null);
}
};
@ -110,7 +128,12 @@ const SectionBodyContent = (props) => {
};
export default inject(({ peopleStore }) => {
const { viewAs: accountsViewAs, filterStore } = peopleStore;
const {
viewAs: accountsViewAs,
filterStore,
enabledHotkeys,
setEnabledHotkeys,
} = peopleStore;
const { isFiltered } = filterStore;
const {
@ -125,6 +148,15 @@ export default inject(({ peopleStore }) => {
} = peopleStore.groupsStore;
const { setChangeOwnerDialogVisible } = peopleStore.dialogStore;
const { accountsIsIsLoading } = peopleStore.usersStore;
const {
selectBottom,
selectUpper,
activateHotkeys,
setHotkeyCaretStart,
setHotkeyCaret,
} = peopleStore.accountsHotkeysStore;
return {
accountsViewAs,
@ -135,6 +167,15 @@ export default inject(({ peopleStore }) => {
setGroupsBufferSelection,
setChangeOwnerDialogVisible,
selectUser,
enabledHotkeys,
accountsIsIsLoading,
selectBottom,
selectUpper,
activateHotkeys,
setEnabledHotkeys,
setHotkeyCaretStart,
setHotkeyCaret,
};
})(
withTranslation(["People", "Common", "PeopleTranslations"])(

View File

@ -146,7 +146,7 @@ const StyledTileContainer = styled.div`
display: none;
cursor: pointer;
${(props) =>
props.isDesc &&
!props.isDesc &&
css`
transform: rotate(180deg);
`}

View File

@ -60,7 +60,7 @@ const ImportStep = ({
setImportOptions({ [name]: checked });
};
const serviceName = "Onlyoffice Workspace";
const serviceName = "ONLYOFFICE Workspace";
const users =
t("Settings:Employees")[0].toUpperCase() + t("Settings:Employees").slice(1);

View File

@ -0,0 +1,270 @@
// (c) Copyright Ascensio System SIA 2009-2024
//
// This program is a free software product.
// You can redistribute it and/or modify it under the terms
// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software
// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended
// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of
// any third-party rights.
//
// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see
// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
//
// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021.
//
// The interactive user interfaces in modified source and object code versions of the Program must
// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3.
//
// Pursuant to Section 7(b) of the License you must retain the original Product logo when
// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under
// trademark law for use of our trademarks.
//
// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
import { makeAutoObservable } from "mobx";
import { isMobile } from "@docspace/shared/utils";
import { checkDialogsOpen } from "@docspace/shared/utils/checkDialogsOpen";
import { TUser, TUserGroup } from "@docspace/shared/api/people/types";
type AccountsType = TUser | TUserGroup;
class AccountsHotkeysStore {
peopleStore;
hotkeyCaret: AccountsType | null = null;
hotkeyCaretStart: AccountsType | null = null;
elemOffset: number = 0;
constructor(peopleStore: any) {
this.peopleStore = peopleStore;
makeAutoObservable(this);
}
get isAccountsPage() {
const groupId = new URLSearchParams(window.location.search).get("group");
return window.location.pathname.includes("/accounts/people") || groupId;
}
get accountsList() {
return this.isAccountsPage
? this.peopleStore.usersStore.peopleList
: this.peopleStore.groupsStore.groups;
}
get accountsSelection() {
return this.isAccountsPage
? this.peopleStore.selectionStore.selection
: this.peopleStore.groupsStore.selection;
}
get caretIndex() {
const item = this.hotkeyCaret
? this.hotkeyCaret
: this.accountsSelection.length
? this.accountsSelection.length === 1
? this.accountsSelection[0]
: this.accountsSelection[this.accountsSelection.length - 1]
: null;
const caretIndex = this.accountsList.findIndex((f) => f.id === item?.id);
if (caretIndex !== -1) return caretIndex;
return null;
}
get prevFile() {
if (this.caretIndex !== -1) {
const prevCaretIndex = this.caretIndex - 1;
return this.accountsList[prevCaretIndex];
}
return null;
}
get nextFile() {
if (this.caretIndex !== -1) {
const nextCaretIndex = this.caretIndex + 1;
return this.accountsList[nextCaretIndex];
}
return null;
}
selectBottom = () => {
if (!this.hotkeyCaret && !this.accountsSelection.length)
return this.selectFirstFile();
if (this.nextFile) this.setSelectionWithCaret([this.nextFile]);
};
selectUpper = () => {
if (!this.hotkeyCaret && !this.accountsSelection.length)
return this.selectFirstFile();
if (this.prevFile) this.setSelectionWithCaret([this.prevFile]);
};
setSelection = (selection: AccountsType[]) => {
return this.isAccountsPage
? this.peopleStore.selectionStore.setSelection(selection)
: this.peopleStore.groupsStore.setSelection(selection);
};
setHotkeyCaret = (hotkeyCaret: AccountsType) => {
if (hotkeyCaret || this.hotkeyCaret) {
this.hotkeyCaret = hotkeyCaret;
}
};
setHotkeyCaretStart = (hotkeyCaretStart: AccountsType) => {
this.hotkeyCaretStart = hotkeyCaretStart;
};
getItemOffset = () => {
const className = `${this.hotkeyCaret?.id}`;
let item = document.getElementsByClassName(className);
if (this.peopleStore.viewAs === "table") {
item = item && item[0]?.getElementsByClassName("table-container_cell");
}
if (item && item[0]) {
const el = item[0] as HTMLElement;
const windowItem = el.closest(".window-item") as HTMLElement;
const offset = windowItem?.offsetTop;
const offsetTop = offset ?? el.offsetTop;
return { offsetTop, item };
}
return { offsetTop: null, item: null };
};
scrollToCaret = () => {
const { offsetTop, item } = this.getItemOffset();
const scroll = isMobile()
? document.querySelector("#customScrollBar > .scroll-wrapper > .scroller")
: document.getElementsByClassName("section-scroll")[0];
const scrollRect = scroll?.getBoundingClientRect();
if (scrollRect && scroll) {
if (item && item[0]) {
const el = item[0] as HTMLElement;
const rect = el.getBoundingClientRect();
const rectHeight =
this.peopleStore.viewAs === "table" ? rect.height * 2 : rect.height;
if (
scrollRect.top + scrollRect.height - rect.height > rect.top &&
scrollRect.top < rect.top + el.offsetHeight - rectHeight
) {
// console.log("element is visible");
} else {
scroll.scrollTo(0, offsetTop - scrollRect.height / 2);
// console.log("element is not visible");
}
} else {
scroll?.scrollTo(0, this.elemOffset - scrollRect.height / 2);
}
}
};
setCaret = (caret: AccountsType, withScroll: boolean = true) => {
this.setHotkeyCaret(caret);
if (withScroll) this.scrollToCaret();
const { offsetTop } = this.getItemOffset();
if (offsetTop) this.elemOffset = offsetTop;
};
setSelectionWithCaret = (selection: AccountsType[]) => {
this.setSelection(selection);
this.setCaret(selection[0]);
this.setHotkeyCaretStart(selection[0]);
};
selectFirstFile = () => {
if (this.accountsList.length) {
// scroll to first element
const scroll = isMobile()
? document.querySelector(
"#customScrollBar > .scroll-wrapper > .scroller",
)
: document.getElementsByClassName("section-scroll")[0];
scroll?.scrollTo(0, 0);
this.setSelection([this.accountsList[0]]);
this.setCaret(this.accountsList[0]);
this.setHotkeyCaretStart(this.accountsList[0]);
}
};
activateHotkeys = (e: KeyboardEvent) => {
const infiniteLoaderComponent = document.getElementsByClassName(
"ReactVirtualized__List",
)[0] as HTMLElement;
const isAccountsPage =
window.location.pathname.includes("/accounts") ||
window.location.pathname.includes("accounts/people");
if (!isAccountsPage) return e;
if (infiniteLoaderComponent) {
infiniteLoaderComponent.tabIndex = -1;
}
const someDialogIsOpen = checkDialogsOpen();
const elementTarget = e.target as HTMLElement;
const inputTarget = e.target as HTMLInputElement;
if (
someDialogIsOpen ||
(elementTarget?.tagName === "INPUT" &&
inputTarget?.type !== "checkbox") ||
elementTarget?.tagName === "TEXTAREA"
)
return e;
const isDefaultKeys =
["PageUp", "PageDown", "Home", "End"].indexOf(e.code) > -1;
if (
["Space", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].indexOf(
e.code,
) > -1
) {
e.preventDefault();
}
const selection = this.accountsSelection.length
? this.accountsSelection
: this.accountsList;
if (!this.hotkeyCaret) {
const scroll = document.getElementsByClassName(
"section-scroll",
) as HTMLCollectionOf<HTMLElement>;
if (scroll && scroll[0]) scroll[0].focus();
}
if (!this.hotkeyCaret && selection.length) {
this.setCaret(selection[0], !(e.ctrlKey || e.metaKey || e.shiftKey));
this.setHotkeyCaretStart(selection[0]);
}
if (!this.hotkeyCaret || isDefaultKeys) return e;
};
}
export default AccountsHotkeysStore;

View File

@ -40,6 +40,7 @@ import TargetUserStore from "./TargetUserStore";
import EditingFormStore from "./EditingFormStore";
import FilterStore from "./FilterStore";
import SelectionStore from "./SelectionPeopleStore";
import AccountsHotkeysStore from "./AccountsHotkeysStore";
import HeaderMenuStore from "./HeaderMenuStore";
import InviteLinksStore from "./InviteLinksStore";
@ -77,10 +78,12 @@ class PeopleStore {
profileActionsStore = null;
infoPanelStore = null;
userStore = null;
accountsHotkeysStore = null;
isInit = false;
viewAs = isDesktop() ? "table" : "row";
isLoadedProfileSectionBody = false;
enabledHotkeys = true;
constructor(
authStore,
@ -101,6 +104,7 @@ class PeopleStore {
infoPanelStore,
userStore,
);
this.accountsHotkeysStore = new AccountsHotkeysStore(this);
this.groupsStore = new GroupsStore(
authStore,
this,
@ -531,6 +535,10 @@ class PeopleStore {
else if (user.isVisitor) return "user";
else return "manager";
};
setEnabledHotkeys = (enabledHotkeys) => {
this.enabledHotkeys = enabledHotkeys;
};
}
export default PeopleStore;

View File

@ -180,6 +180,7 @@ class SelectionStore {
if (exists) return;
this.setSelection([...this.selection, user]);
this.peopleStore.accountsHotkeysStore.setHotkeyCaret(null);
this.incrementUsersRights(user);
};
@ -265,6 +266,8 @@ class SelectionStore {
list.forEach((u) => this.incrementUsersRights(u));
}
this.peopleStore.accountsHotkeysStore.setHotkeyCaret(null);
return selected;
};

View File

@ -48,7 +48,7 @@ const Root = dynamic(() => import("@/components/Root"), {
});
export const metadata: Metadata = {
title: "Onlyoffice DocEditor page",
title: "ONLYOFFICE DocEditor page",
description: "",
};

View File

@ -77,6 +77,7 @@ const LoginForm = ({
const confirmedEmail = searchParams.get("confirmedEmail");
const authError = searchParams.get("authError");
const loginData = searchParams.get("loginData");
const referenceUrl = searchParams.get("referenceUrl");
const isDesktop =
typeof window !== "undefined" && window["AscDesktopEditor"] !== undefined;
@ -134,7 +135,8 @@ const LoginForm = ({
return window.location.replace(response.confirmUrl);
}
const redirectPath = sessionStorage.getItem("referenceUrl");
const redirectPath =
referenceUrl || sessionStorage.getItem("referenceUrl");
if (redirectPath) {
sessionStorage.removeItem("referenceUrl");
@ -149,7 +151,7 @@ const LoginForm = ({
);
}
},
[t],
[t, referenceUrl],
);
useEffect(() => {
@ -233,7 +235,8 @@ const LoginForm = ({
login(user, hash, session, captchaToken)
.then((res: string | object) => {
const isConfirm = typeof res === "string" && res.includes("confirm");
const redirectPath = sessionStorage.getItem("referenceUrl");
const redirectPath =
referenceUrl || sessionStorage.getItem("referenceUrl");
if (redirectPath && !isConfirm) {
sessionStorage.removeItem("referenceUrl");
window.location.href = redirectPath;
@ -279,6 +282,7 @@ const LoginForm = ({
password,
reCaptchaPublicKey,
setIsLoading,
referenceUrl,
]);
const onBlurEmail = () => {

View File

@ -27,7 +27,13 @@
import { AxiosRequestConfig } from "axios";
import { EmployeeType } from "../../enums";
import { request } from "../client";
import { TPaymentQuota, TPortal, TPortalTariff, TTenantExtra } from "./types";
import {
TPaymentQuota,
TPortal,
TPortalTariff,
TRestoreProgress,
TTenantExtra,
} from "./types";
export function getShortenedLink(link) {
return request({
@ -169,8 +175,13 @@ export function startRestore(backupId, storageType, storageParams, notify) {
});
}
export function getRestoreProgress() {
return request({ method: "get", url: "/portal/getrestoreprogress" });
export async function getRestoreProgress() {
const res = (await request({
method: "get",
url: "/portal/getrestoreprogress",
})) as TRestoreProgress;
return res;
}
export function enableRestore() {

View File

@ -126,3 +126,8 @@ export type TTenantExtra = {
licenseAccept: Date;
enableTariffPage: boolean;
};
export type TRestoreProgress = {
progress: number;
error?: any;
};

View File

@ -99,7 +99,6 @@ export interface ProgressColorTheme extends DefaultColorThemeProps {
themeId: ThemeId.Progress;
percent?: number;
$currentColorScheme?: TColorScheme;
theme: TTheme;
}
export interface VersionBadgeTheme extends DefaultColorThemeProps {

View File

@ -656,7 +656,7 @@ const StyledSortButton = styled.div<{ viewAs: TViewAs; isDesc: boolean }>`
visibility: hidden;
cursor: pointer;
${(props) =>
props.isDesc &&
!props.isDesc &&
css`
transform: rotate(180deg);
`}

View File

@ -72,7 +72,7 @@ export const base: Story = {
textColor: "#000",
opacity: 1,
headerText: "Attention",
text: "We apologize for any short-term technical issues in service functioning, that may appear on 22.06.2021 during the update of Onlyoffice Personal.",
text: "We apologize for any short-term technical issues in service functioning, that may appear on 22.06.2021 during the update of ONLYOFFICE Personal.",
showIcon: true,
fontSize: "13px",
fontWeight: 400,

View File

@ -346,7 +346,7 @@ const StyledTableHeaderCell = styled.div<{
display: ${(props) =>
props.isActive && props.showIcon ? "block" : "none"};
${(props) =>
props.sorted &&
!props.sorted &&
css`
transform: scale(1, -1);
padding: ${getCorrectFourValuesStyle(

View File

@ -27,7 +27,10 @@
import styled from "styled-components";
import { tablet } from "@docspace/shared/utils";
const StyledPreparationPortal = styled.div`
const StyledPreparationPortal = styled.div<{
errorMessage?: boolean;
isDialog?: boolean;
}>`
width: 100%;
@media ${tablet} {
margin-top: ${(props) => (props.isDialog ? "0px" : "48px")};
@ -42,7 +45,13 @@ const StyledPreparationPortal = styled.div`
line-height: 20px;
max-width: 480px;
}
.logo-wrapper {
${(props) => props.isDialog && "display: none"};
}
#container {
${(props) => props.isDialog && "margin-top:0"};
}
.preparation-portal_body-wrapper {
margin-bottom: 24px;
width: 100%;

View File

@ -0,0 +1,31 @@
// (c) Copyright Ascensio System SIA 2009-2024
//
// This program is a free software product.
// You can redistribute it and/or modify it under the terms
// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software
// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended
// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of
// any third-party rights.
//
// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see
// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
//
// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021.
//
// The interactive user interfaces in modified source and object code versions of the Program must
// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3.
//
// Pursuant to Section 7(b) of the License you must retain the original Product logo when
// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under
// trademark law for use of our trademarks.
//
// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
export interface IPreparationPortal {
isDialog?: boolean;
withoutHeader?: boolean;
style?: React.CSSProperties;
}

View File

@ -0,0 +1,251 @@
// (c) Copyright Ascensio System SIA 2009-2024
//
// This program is a free software product.
// You can redistribute it and/or modify it under the terms
// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software
// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended
// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of
// any third-party rights.
//
// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see
// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
//
// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021.
//
// The interactive user interfaces in modified source and object code versions of the Program must
// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3.
//
// Pursuant to Section 7(b) of the License you must retain the original Product logo when
// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under
// trademark law for use of our trademarks.
//
// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
import { getRestoreProgress } from "../../api/portal";
const baseSecondMultiplicationFactor = 400;
const baseThirdMultiplicationFactor = 180;
const baseFirstMultiplicationFactor = 700;
const unSizeMultiplicationFactor = 3;
const thirdBound = 98;
let prevProgress: number = 0;
let requestsCount: number = 0;
export const clearLocalStorage = () => {
[
"LocalCopyStorageType",
"LocalCopyFolder",
"LocalCopyStorage",
"LocalCopyThirdPartyStorageType",
"LocalCopyThirdPartyStorageValues",
].forEach((k) => localStorage.removeItem(k));
};
export const reachingSecondBoundary = (
percentage: number,
secondBound: number,
progressTimerId: ReturnType<typeof setInterval> | null,
setPercent: (progress: number) => void,
) => {
let progress = percentage;
const delay = baseSecondMultiplicationFactor * unSizeMultiplicationFactor;
if (progressTimerId) return;
progressTimerId = setInterval(() => {
progress += 1;
if (progress !== secondBound) setPercent(progress);
else {
if (progressTimerId) clearInterval(progressTimerId);
progressTimerId = null;
}
}, delay);
};
export const reachingThirdBoundary = (
percentage: number,
progressTimerId: ReturnType<typeof setInterval> | null,
setPercent: (progress: number) => void,
) => {
let progress = percentage;
const delay = baseThirdMultiplicationFactor * unSizeMultiplicationFactor;
if (progressTimerId) return;
progressTimerId = setInterval(() => {
progress += 1;
if (progress < thirdBound) setPercent(progress);
else {
if (progressTimerId) clearInterval(progressTimerId);
progressTimerId = null;
}
}, delay);
};
export const reachingFirstBoundary = (
percentage: number,
firstBound: number,
progressTimerId: ReturnType<typeof setInterval> | null,
setPercent: (progress: number) => void,
) => {
let progress = percentage;
const delay = baseFirstMultiplicationFactor * unSizeMultiplicationFactor;
if (progressTimerId) return;
progressTimerId = setInterval(() => {
progress += 1;
if (progress !== firstBound) setPercent(progress);
else {
if (progressTimerId) clearInterval(progressTimerId);
progressTimerId = null;
}
}, delay);
};
export const returnToPortal = () => {
setTimeout(() => {
window.location.replace("/");
}, 5000);
};
export const getIntervalProgress = async (
setErrorMessage: (err: any) => void,
clearAllIntervals: VoidFunction,
timerId: ReturnType<typeof setInterval> | null,
progressTimerId: ReturnType<typeof setInterval> | null,
setPercent: (progress: number) => void,
errorInternalServer: string,
) => {
try {
const response = await getRestoreProgress();
if (!response) {
setErrorMessage(errorInternalServer);
clearAllIntervals();
return;
}
if (response.error) {
if (timerId) clearInterval(timerId);
if (progressTimerId) clearInterval(progressTimerId);
progressTimerId = null;
timerId = null;
setErrorMessage(response.error);
return;
}
const currProgress = response.progress;
console.log("prevProgress", prevProgress);
if (currProgress > 0 && prevProgress !== currProgress) {
setPercent(currProgress);
if (progressTimerId) clearInterval(progressTimerId);
progressTimerId = null;
}
prevProgress = currProgress;
if (currProgress === 100) {
clearAllIntervals();
clearLocalStorage();
returnToPortal();
}
} catch (error: any) {
clearAllIntervals();
setErrorMessage(error);
}
};
export const getRecoveryProgress = async (
setErrorMessage: (err: any) => void,
errorInternalServer: string,
timerId: ReturnType<typeof setInterval> | null,
progressTimerId: ReturnType<typeof setInterval> | null,
firstBound: number,
setPercent: (progress: number) => void,
clearAllIntervals: VoidFunction,
) => {
const getMessage = (error: any) => {
if (typeof error !== "object") return error;
return (
error?.response?.data?.error?.message ||
error?.statusText ||
error?.message ||
t("Common:ErrorInternalServer")
);
};
try {
const response = await getRestoreProgress();
if (!response) {
setErrorMessage(errorInternalServer);
return;
}
const { progress, error } = response;
if (error) {
setErrorMessage(error);
return;
}
if (progress === 100) {
returnToPortal();
clearLocalStorage();
} else {
timerId = setInterval(
() =>
getIntervalProgress(
setErrorMessage,
clearAllIntervals,
timerId,
progressTimerId,
setPercent,
errorInternalServer,
),
1000,
);
if (progress < firstBound)
reachingFirstBoundary(
progress,
firstBound,
progressTimerId,
setPercent,
);
}
setPercent(progress);
} catch (err: unknown) {
const knownError = err as { response: { status: number } };
const status = knownError?.response?.status;
const needCreationTableTime = status === 404;
if (needCreationTableTime && requestsCount < 3) {
requestsCount += 1;
getRecoveryProgress(
setErrorMessage,
errorInternalServer,
timerId,
progressTimerId,
firstBound,
setPercent,
clearAllIntervals,
);
return;
}
setErrorMessage(getMessage(err));
}
};

View File

@ -1,302 +0,0 @@
// (c) Copyright Ascensio System SIA 2009-2024
//
// This program is a free software product.
// You can redistribute it and/or modify it under the terms
// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software
// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended
// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of
// any third-party rights.
//
// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see
// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
//
// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021.
//
// The interactive user interfaces in modified source and object code versions of the Program must
// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3.
//
// Pursuant to Section 7(b) of the License you must retain the original Product logo when
// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under
// trademark law for use of our trademarks.
//
// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
import React, { useEffect, useState } from "react";
import { withTranslation } from "react-i18next";
import PropTypes from "prop-types";
import { observer, inject } from "mobx-react";
import ErrorContainer from "@docspace/shared/components/error-container/ErrorContainer";
import { StyledPreparationPortal } from "./StyledPreparationPortal";
import { Text } from "../../components/text";
import { getRestoreProgress } from "../../api/portal";
import { ColorTheme, ThemeId } from "../../components/color-theme";
const baseSize = 1073741824; //number of bytes in one GB
const unSizeMultiplicationFactor = 3;
const baseFirstMultiplicationFactor = 700;
const baseSecondMultiplicationFactor = 400;
const baseThirdMultiplicationFactor = 180;
const firstBound = 10,
secondBound = 63,
thirdBound = 98;
let timerId = null,
progressTimerId = null,
prevProgress;
let requestsCount = 0;
const PreparationPortal = (props) => {
const {
multiplicationFactor,
t,
withoutHeader,
style,
clearLocalStorage,
isDialog,
} = props;
const [percent, setPercent] = useState(0);
const [errorMessage, setErrorMessage] = useState("");
const clearAllIntervals = () => {
clearInterval(timerId);
clearInterval(progressTimerId);
progressTimerId = null;
timerId = null;
};
const returnToPortal = () => {
setTimeout(() => {
window.location.replace("/");
}, 5000);
};
const reachingFirstBoundary = (percent) => {
let progress = percent;
const delay = baseFirstMultiplicationFactor * multiplicationFactor;
if (progressTimerId) return;
progressTimerId = setInterval(() => {
progress += 1;
if (progress !== firstBound) setPercent(progress);
else {
clearInterval(progressTimerId);
progressTimerId = null;
}
}, delay);
};
const reachingSecondBoundary = (percent) => {
let progress = percent;
const delay = baseSecondMultiplicationFactor * multiplicationFactor;
if (progressTimerId) return;
progressTimerId = setInterval(() => {
progress += 1;
if (progress !== secondBound) setPercent(progress);
else {
clearInterval(progressTimerId);
progressTimerId = null;
}
}, delay);
};
const reachingThirdBoundary = (percent) => {
let progress = percent;
const delay = baseThirdMultiplicationFactor * multiplicationFactor;
if (progressTimerId) return;
progressTimerId = setInterval(() => {
progress += 1;
if (progress < thirdBound) setPercent(progress);
else {
clearInterval(progressTimerId);
progressTimerId = null;
}
}, delay);
};
useEffect(() => {
if (percent >= firstBound) {
if (percent < secondBound) {
reachingSecondBoundary(percent);
return;
} else reachingThirdBoundary(percent);
}
}, [percent]);
const getIntervalProgress = async () => {
try {
const response = await getRestoreProgress();
if (!response) {
setErrorMessage(t("Common:ErrorInternalServer"));
clearAllIntervals();
return;
}
if (response.error) {
clearInterval(timerId);
clearInterval(progressTimerId);
progressTimerId = null;
timerId = null;
setErrorMessage(response.error);
return;
}
const currProgress = response.progress;
if (currProgress > 0 && prevProgress !== currProgress) {
setPercent(currProgress);
clearInterval(progressTimerId);
progressTimerId = null;
}
prevProgress = currProgress;
if (currProgress === 100) {
clearAllIntervals();
clearLocalStorage();
returnToPortal();
}
} catch (error) {
clearAllIntervals();
setErrorMessage(error);
}
};
const getRecoveryProgress = async () => {
const errorMessage = (error) => {
if (typeof error !== "object") return error;
return (
error?.response?.data?.error?.message ||
error?.statusText ||
error?.message ||
t("Common:ErrorInternalServer")
);
};
try {
const response = await getRestoreProgress();
if (!response) {
setErrorMessage(t("Common:ErrorInternalServer"));
return;
}
const { error, progress } = response;
if (error) {
setErrorMessage(response.error);
return;
}
if (progress === 100) {
returnToPortal();
clearLocalStorage();
} else {
timerId = setInterval(() => getIntervalProgress(), 1000);
if (progress < firstBound) reachingFirstBoundary(progress);
}
setPercent(progress);
} catch (err) {
const status = err?.response?.status;
const needCreationTableTime = status === 404;
if (needCreationTableTime && requestsCount < 3) {
requestsCount++;
getRecoveryProgress();
return;
}
setErrorMessage(errorMessage(err));
}
};
useEffect(() => {
setTimeout(() => {
getRecoveryProgress();
}, 6000);
return () => {
clearAllIntervals();
};
}, []);
const headerText = errorMessage
? t("Common:Error")
: t("Common:PreparationPortalTitle");
return (
<StyledPreparationPortal errorMessage={errorMessage} isDialog={isDialog}>
<ErrorContainer
headerText={withoutHeader ? "" : headerText}
style={style}
className="restoring-portal"
>
<div className="preparation-portal_body-wrapper">
{errorMessage ? (
<Text className="preparation-portal_error">{`${errorMessage}`}</Text>
) : (
<ColorTheme
themeId={ThemeId.Progress}
percent={percent}
errorMessage={errorMessage}
className="preparation-portal_body-wrapper"
>
<div className="preparation-portal_progress">
<div className="preparation-portal_progress-bar">
<div className="preparation-portal_progress-line"></div>
</div>
<Text className="preparation-portal_percent">{`${percent} %`}</Text>
</div>
<Text className="preparation-portal_text">
{t("PreparationPortalDescription")}
</Text>
</ColorTheme>
)}
</div>
</ErrorContainer>
</StyledPreparationPortal>
);
};
const PreparationPortalWrapper = inject(({ backup }) => {
const { backupSize, clearLocalStorage } = backup;
const multiplicationFactor = backupSize
? backupSize / baseSize
: unSizeMultiplicationFactor;
return {
clearLocalStorage,
multiplicationFactor,
};
})(
withTranslation(["PreparationPortal", "Common"])(observer(PreparationPortal)),
);
PreparationPortal.propTypes = {
withoutHeader: PropTypes.bool,
isDialog: PropTypes.bool,
};
PreparationPortal.defaultProps = {
withoutHeader: false,
isDialog: false,
};
export default (props) => <PreparationPortalWrapper {...props} />;

View File

@ -0,0 +1,128 @@
// (c) Copyright Ascensio System SIA 2009-2024
//
// This program is a free software product.
// You can redistribute it and/or modify it under the terms
// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software
// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended
// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of
// any third-party rights.
//
// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see
// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
//
// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021.
//
// The interactive user interfaces in modified source and object code versions of the Program must
// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3.
//
// Pursuant to Section 7(b) of the License you must retain the original Product logo when
// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under
// trademark law for use of our trademarks.
//
// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
import React, { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import ErrorContainer from "@docspace/shared/components/error-container/ErrorContainer";
import { StyledPreparationPortal } from "./PreparationPortal.styled";
import { Text } from "../../components/text";
import { ColorTheme, ThemeId } from "../../components/color-theme";
import { IPreparationPortal } from "./PreparationPortal.types";
import {
getRecoveryProgress,
reachingSecondBoundary,
reachingThirdBoundary,
} from "./PreparationPortal.utils";
const firstBound = 10;
const secondBound = 63;
let timerId: ReturnType<typeof setInterval> | null;
let progressTimerId: ReturnType<typeof setInterval> | null;
const PreparationPortal = (props: IPreparationPortal) => {
const { withoutHeader, style, isDialog } = props;
const { t } = useTranslation(["PreparationPortal", "Common"]);
const errorInternalServer = t("Common:ErrorInternalServer");
const [percent, setPercent] = useState(0);
const [errorMessage, setErrorMessage] = useState("");
const clearAllIntervals = () => {
if (timerId) clearInterval(timerId);
if (progressTimerId) clearInterval(progressTimerId);
progressTimerId = null;
timerId = null;
};
useEffect(() => {
if (percent < firstBound) return;
if (percent < secondBound) {
reachingSecondBoundary(percent, secondBound, progressTimerId, setPercent);
return;
}
reachingThirdBoundary(percent, progressTimerId, setPercent);
}, [percent]);
useEffect(() => {
setTimeout(() => {
getRecoveryProgress(
setErrorMessage,
errorInternalServer,
timerId,
progressTimerId,
firstBound,
setPercent,
clearAllIntervals,
);
}, 6000);
return () => {
clearAllIntervals();
};
}, [errorInternalServer]);
const headerText = errorMessage
? t("Common:Error")
: t("Common:PreparationPortalTitle");
return (
<StyledPreparationPortal errorMessage={!!errorMessage} isDialog={isDialog}>
<ErrorContainer
headerText={withoutHeader ? "" : headerText}
style={style}
className="restoring-portal"
>
<div className="preparation-portal_body-wrapper">
{errorMessage ? (
<Text className="preparation-portal_error">{`${errorMessage}`}</Text>
) : (
<ColorTheme themeId={ThemeId.Progress} percent={percent}>
<div className="preparation-portal_progress">
<div className="preparation-portal_progress-bar">
<div className="preparation-portal_progress-line" />
</div>
<Text className="preparation-portal_percent">{`${percent} %`}</Text>
</div>
<Text className="preparation-portal_text">
{t("PreparationPortalDescription")}
</Text>
</ColorTheme>
)}
</div>
</ErrorContainer>
</StyledPreparationPortal>
);
};
export default PreparationPortal;

View File

@ -1,6 +1,6 @@
{
"short_name": "DocSpace",
"name": "Onlyoffice DocSpace",
"name": "ONLYOFFICE DocSpace",
"icons": [
{
"src": "icon.svg",