diff options
102 files changed, 1323 insertions, 1007 deletions
@@ -23,6 +23,7 @@ If you have suggestions or problems, please [open an issue](https://github.com/n |---|---| | Firefox | ✔️ 52 or later | | Chrome/Chromium | ✔️ 49 or later | +| Opera | ✔️ 72 or later | | Edge | ⚠️ Latest versions <br> 🎤 Speakers are not promoted <br> 🏷 Name changes while a call is on-going are not reflected | | Safari | ⚠️ 12 or later <br> ❌ No screensharing support <br> 🖥 Viewing screens of others' work | diff --git a/css/icons.scss b/css/icons.scss index a31c35911..cea8444f2 100644 --- a/css/icons.scss +++ b/css/icons.scss @@ -113,6 +113,11 @@ filter: initial; } } + + // Patch material design icons' span wrong height + .material-design-icon { + display: contents; + } } // The atwho panel is a direct child of the body, so it is not affected by diff --git a/l10n/ar.js b/l10n/ar.js index 25e6425c2..8e41b69f5 100644 --- a/l10n/ar.js +++ b/l10n/ar.js @@ -576,7 +576,6 @@ OC.L10N.register( "Select conversation" : "اختر محادثة", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "انضممت لمحادثة آخرى في نافذة او جهاز آخر. هذه الخاصية غير مدعومة سيتم اغلاق هذه الجلسة من قبل نكست كلاود التحدث.", "Join a conversation or start a new one" : "انضم لمحادثة او ابدء محادثة جديدة", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "تستخدم متصفح غير مدعوم بالكامل من قبل نكست كلاود التحدث. استخدم اخر اصدار من فايرفوكس، مايكروسوفت ادج، قوقل كروم او ابل سفاري.", "Nextcloud Talk was updated, please reload the page" : "تم تحديث نكست كلاود التحدث، يرجى تحديث الصفحة.", "Do not disturb" : "عدم الازعاج", "Away" : "بالخارج", @@ -632,6 +631,7 @@ OC.L10N.register( "Start calls" : "ابدء مكالمات", "Who can start a call?" : "من يمكنه بدء مكالمة؟", "Select a conversation to add to the project" : "اختر محادثة لاضافتها إلى المشروع.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "تستخدم متصفح غير مدعوم بالكامل من قبل نكست كلاود التحدث. استخدم اخر اصدار من فايرفوكس، مايكروسوفت ادج، قوقل كروم او ابل سفاري.", "Please enter the password for this call" : "أدخل كلمة المرور لهذه المكالمة", "Password required" : "كلمة السر مطلوبة", "Cancel" : "إلغاء", diff --git a/l10n/ar.json b/l10n/ar.json index cf463e102..a05d029f8 100644 --- a/l10n/ar.json +++ b/l10n/ar.json @@ -574,7 +574,6 @@ "Select conversation" : "اختر محادثة", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "انضممت لمحادثة آخرى في نافذة او جهاز آخر. هذه الخاصية غير مدعومة سيتم اغلاق هذه الجلسة من قبل نكست كلاود التحدث.", "Join a conversation or start a new one" : "انضم لمحادثة او ابدء محادثة جديدة", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "تستخدم متصفح غير مدعوم بالكامل من قبل نكست كلاود التحدث. استخدم اخر اصدار من فايرفوكس، مايكروسوفت ادج، قوقل كروم او ابل سفاري.", "Nextcloud Talk was updated, please reload the page" : "تم تحديث نكست كلاود التحدث، يرجى تحديث الصفحة.", "Do not disturb" : "عدم الازعاج", "Away" : "بالخارج", @@ -630,6 +629,7 @@ "Start calls" : "ابدء مكالمات", "Who can start a call?" : "من يمكنه بدء مكالمة؟", "Select a conversation to add to the project" : "اختر محادثة لاضافتها إلى المشروع.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "تستخدم متصفح غير مدعوم بالكامل من قبل نكست كلاود التحدث. استخدم اخر اصدار من فايرفوكس، مايكروسوفت ادج، قوقل كروم او ابل سفاري.", "Please enter the password for this call" : "أدخل كلمة المرور لهذه المكالمة", "Password required" : "كلمة السر مطلوبة", "Cancel" : "إلغاء", diff --git a/l10n/br.js b/l10n/br.js index e7ee06c5b..aedb5ca40 100644 --- a/l10n/br.js +++ b/l10n/br.js @@ -724,7 +724,6 @@ OC.L10N.register( "Select conversation" : "Choaz un diviz", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Deuet oc'h en diviz dre ur prenestr pe ardivink all. N'eo ket douget evit ar poent gant Nextcloud Talk neuze eo bet sertet an dalc'h.", "Join a conversation or start a new one" : "Mont en un diviz pe kregiñ unan nevez ", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "N'eo ket douget pen-da-benn ho furcher gant Nextcloud Talk. Implijit kentec'h stum divezhañ Mozilla Firefox, Microsoft Edge, Google Chrome pe Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Adnevesaet eo bet Nextcloud Talk , adkargit ar bajenn", "Do not disturb" : "Na rannit ket", "Away" : "Pell", @@ -792,6 +791,7 @@ OC.L10N.register( "Start calls" : "Kregiñ ur gemenadenn", "Who can start a call?" : "Piv a c'hell kregiñ ur gemenadenn ?", "Select a conversation to add to the project" : "Choaz un diviz da ouzhpennañ er raktres", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "N'eo ket douget pen-da-benn ho furcher gant Nextcloud Talk. Implijit kentec'h stum divezhañ Mozilla Firefox, Microsoft Edge, Google Chrome pe Apple Safari.", "Please enter the password for this call" : "Lakit ur ger-temenn evit ar gemenadenn-mañ", "Password required" : "Ger-tremen ret", "Cancel" : "Arrest", diff --git a/l10n/br.json b/l10n/br.json index d75358f8d..36f288b81 100644 --- a/l10n/br.json +++ b/l10n/br.json @@ -722,7 +722,6 @@ "Select conversation" : "Choaz un diviz", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Deuet oc'h en diviz dre ur prenestr pe ardivink all. N'eo ket douget evit ar poent gant Nextcloud Talk neuze eo bet sertet an dalc'h.", "Join a conversation or start a new one" : "Mont en un diviz pe kregiñ unan nevez ", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "N'eo ket douget pen-da-benn ho furcher gant Nextcloud Talk. Implijit kentec'h stum divezhañ Mozilla Firefox, Microsoft Edge, Google Chrome pe Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Adnevesaet eo bet Nextcloud Talk , adkargit ar bajenn", "Do not disturb" : "Na rannit ket", "Away" : "Pell", @@ -790,6 +789,7 @@ "Start calls" : "Kregiñ ur gemenadenn", "Who can start a call?" : "Piv a c'hell kregiñ ur gemenadenn ?", "Select a conversation to add to the project" : "Choaz un diviz da ouzhpennañ er raktres", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "N'eo ket douget pen-da-benn ho furcher gant Nextcloud Talk. Implijit kentec'h stum divezhañ Mozilla Firefox, Microsoft Edge, Google Chrome pe Apple Safari.", "Please enter the password for this call" : "Lakit ur ger-temenn evit ar gemenadenn-mañ", "Password required" : "Ger-tremen ret", "Cancel" : "Arrest", diff --git a/l10n/ca.js b/l10n/ca.js index ca13ffd5d..7aaf6a852 100644 --- a/l10n/ca.js +++ b/l10n/ca.js @@ -798,7 +798,6 @@ OC.L10N.register( "Select conversation" : "Seleccioneu una conversa", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "S’ha unit a la conversa en una altra finestra o dispositiu. Actualment no és compatible amb Nextcloud Talk, de manera que aquesta sessió s'ha tancat.", "Join a conversation or start a new one" : "Uniu-vos a una conversa o inicieu-ne una de nova", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "El navegador que utilitzeu no és totalment compatible amb Nextcloud Talk. Utilitzeu l'última versió de Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk s'ha actualitzat, si us plau, torneu a carregar la pàgina", "Do not disturb" : "No molesteu", "Away" : "Absent", @@ -866,6 +865,7 @@ OC.L10N.register( "Start calls" : "Inicia les trucades", "Who can start a call?" : "Qui pot iniciar una trucada?", "Select a conversation to add to the project" : "Seleccioneu una conversa per ser afegida al projecte", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "El navegador que utilitzeu no és totalment compatible amb Nextcloud Talk. Utilitzeu l'última versió de Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.", "Please enter the password for this call" : "Introduïu la contrasenya d'aquesta trucada", "Password required" : "Es necessita contrasenya", "Cancel" : "Cancel·la", diff --git a/l10n/ca.json b/l10n/ca.json index 047b4f213..ef55bc325 100644 --- a/l10n/ca.json +++ b/l10n/ca.json @@ -796,7 +796,6 @@ "Select conversation" : "Seleccioneu una conversa", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "S’ha unit a la conversa en una altra finestra o dispositiu. Actualment no és compatible amb Nextcloud Talk, de manera que aquesta sessió s'ha tancat.", "Join a conversation or start a new one" : "Uniu-vos a una conversa o inicieu-ne una de nova", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "El navegador que utilitzeu no és totalment compatible amb Nextcloud Talk. Utilitzeu l'última versió de Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk s'ha actualitzat, si us plau, torneu a carregar la pàgina", "Do not disturb" : "No molesteu", "Away" : "Absent", @@ -864,6 +863,7 @@ "Start calls" : "Inicia les trucades", "Who can start a call?" : "Qui pot iniciar una trucada?", "Select a conversation to add to the project" : "Seleccioneu una conversa per ser afegida al projecte", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "El navegador que utilitzeu no és totalment compatible amb Nextcloud Talk. Utilitzeu l'última versió de Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.", "Please enter the password for this call" : "Introduïu la contrasenya d'aquesta trucada", "Password required" : "Es necessita contrasenya", "Cancel" : "Cancel·la", diff --git a/l10n/cs.js b/l10n/cs.js index 4ab3931dc..ff00a5928 100644 --- a/l10n/cs.js +++ b/l10n/cs.js @@ -865,7 +865,6 @@ OC.L10N.register( "Select conversation" : "Vybrat konverzaci", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Ke konverzaci jste se přidali z jiného okna nebo zařízení. Nextcloud zatím nepodporuje souběžná připojení a tak tato relace byla uzavřena.", "Join a conversation or start a new one" : "Připojte se ke konverzaci, nebo začněte novou", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Webový prohlížeč, který používáte, není Nextcloud Talk plně podporován. Prosíme použijte nejnovější verzi Mozilla Firefox, Microsoft Edge, Google Chrome nebo Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk bylo aktualizováno – načtěte stránku znovu", "Do not disturb" : "Nerušit", "Away" : "Pryč", @@ -933,6 +932,7 @@ OC.L10N.register( "Start calls" : "Zahájit hovory", "Who can start a call?" : "Kdo může zahájit hovor?", "Select a conversation to add to the project" : "Vybrat konverzaci kterou přidat k projektu", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Webový prohlížeč, který používáte, není Nextcloud Talk plně podporován. Prosíme použijte nejnovější verzi Mozilla Firefox, Microsoft Edge, Google Chrome nebo Apple Safari.", "Please enter the password for this call" : "Zadejte heslo tohoto hovoru", "Password required" : "Vyžadováno heslo", "Cancel" : "Storno", diff --git a/l10n/cs.json b/l10n/cs.json index fc6277cc7..c1b9c9970 100644 --- a/l10n/cs.json +++ b/l10n/cs.json @@ -863,7 +863,6 @@ "Select conversation" : "Vybrat konverzaci", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Ke konverzaci jste se přidali z jiného okna nebo zařízení. Nextcloud zatím nepodporuje souběžná připojení a tak tato relace byla uzavřena.", "Join a conversation or start a new one" : "Připojte se ke konverzaci, nebo začněte novou", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Webový prohlížeč, který používáte, není Nextcloud Talk plně podporován. Prosíme použijte nejnovější verzi Mozilla Firefox, Microsoft Edge, Google Chrome nebo Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk bylo aktualizováno – načtěte stránku znovu", "Do not disturb" : "Nerušit", "Away" : "Pryč", @@ -931,6 +930,7 @@ "Start calls" : "Zahájit hovory", "Who can start a call?" : "Kdo může zahájit hovor?", "Select a conversation to add to the project" : "Vybrat konverzaci kterou přidat k projektu", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Webový prohlížeč, který používáte, není Nextcloud Talk plně podporován. Prosíme použijte nejnovější verzi Mozilla Firefox, Microsoft Edge, Google Chrome nebo Apple Safari.", "Please enter the password for this call" : "Zadejte heslo tohoto hovoru", "Password required" : "Vyžadováno heslo", "Cancel" : "Storno", diff --git a/l10n/de.js b/l10n/de.js index 6f9b15570..7ed15090a 100644 --- a/l10n/de.js +++ b/l10n/de.js @@ -695,7 +695,6 @@ OC.L10N.register( "After the time limit the lobby will be automatically disabled." : "Nach dem Zeitlimit wird die Lobby automatisch deaktiviert.", "Meeting start time" : "Meeting Startzeit", "Start time (optional)" : "Startzeit (optional)", - "Save meeting start time" : "Sichern der Meeting Startzeit", "Error occurred when restricting the conversation to moderator" : "Fehler beim Beschränken der Unterhaltung auf den Moderator aufgetreten", "Error occurred when opening the conversation to everyone" : "Beim Öffnen der Konversation für alle ist ein Fehler aufgetreten", "Start time has been updated" : "Startzeit wurde angepasst", @@ -780,6 +779,7 @@ OC.L10N.register( "You need to promote a new moderator before you can leave the conversation." : "Du musst einen neuen Moderator bestimmen, bevor Du die Unterhaltung verlassen kannst.", "No matches" : "Keine Übereinstimmungen", "Conversation list" : "Unterhaltungsliste", + "Open conversations" : "Unterhaltungen öffnen", "Loading" : "Lade", "No search results" : "Keine Suchergebnisse", "Groups" : "Gruppen", @@ -822,6 +822,8 @@ OC.L10N.register( "Sending message" : "Nachricht wird gesendet", "Message sent" : "Nachricht wurde gesendet", "Message read by everyone who shares their reading status" : "Nachricht wird von allen gelesen, die deinen Lesestatus teilen", + "Failed to send the message. Click to try again" : "Fehler beim Senden der Nachricht. Klicken, um es noch einmal zu probieren", + "You can not send messages to this conversation at the moment" : "Du kannst derzeit keine Nachrichten an diese Konversation senden.", "{stack} in {board}" : "{stack} in {board}", "Remove" : "Entfernen", "[Unknown username]" : "[Unbekannter Benutzername]", @@ -845,6 +847,7 @@ OC.L10N.register( "Edit conversation description" : "Beschreibung der Unterhaltung bearbeiten", "Description" : "Beschreibung", "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "Die Beschreibung muss weniger als oder gleich {maxLength} Zeichen lang sein. Dein aktueller Text ist {charactersCount} Zeichen lang.", + "Disable lobby" : "Lobby deaktivieren", "moderator" : "Moderator", "guest" : "Gast", "Dial-in PIN" : "Einwahl-PIN", @@ -929,7 +932,7 @@ OC.L10N.register( "Select conversation" : "Unterhaltung auswählen", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Du bist der Unterhaltung in einem anderen Fenster oder Gerät beigetreten. Dies wird derzeit von Nextcloud Talk nicht unterstützt, daher wurde diese Sitzung geschlossen.", "Join a conversation or start a new one" : "Tritt einer Unterhaltung bei oder starte eine neue", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Der von Dir verwendete Browser wird von Nextcloud Talk nicht vollständig unterstützt. Bitte verwende die neueste Version von Mozilla Firefox, Microsoft Edge, Google Chrome oder Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Der von Dir verwendete Browser wird von Nextcloud Talk nicht vollständig unterstützt. Bitte verwende die neueste Version von Mozilla Firefox, Microsoft Edge, Google Chrome, Opera oder Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk wurde aktualisiert, bitte lade die Seite neu.", "Do not disturb" : "Nicht stören", "Away" : "Abwesend", @@ -997,6 +1000,7 @@ OC.L10N.register( "Start calls" : "Anrufe beginnen", "Who can start a call?" : "Wer kann einen Anruf beginnen?", "Select a conversation to add to the project" : "Wähle eine Unterhaltung um diese einem Projekt hinzu zufügen", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Der von Dir verwendete Browser wird von Nextcloud Talk nicht vollständig unterstützt. Bitte verwende die neueste Version von Mozilla Firefox, Microsoft Edge, Google Chrome oder Apple Safari.", "Please enter the password for this call" : "Bitte Passwort für diesen Anruf eingeben", "Password required" : "Passwort erforderlich", "Cancel" : "Abbrechen", diff --git a/l10n/de.json b/l10n/de.json index 66a347e30..99d39f12a 100644 --- a/l10n/de.json +++ b/l10n/de.json @@ -693,7 +693,6 @@ "After the time limit the lobby will be automatically disabled." : "Nach dem Zeitlimit wird die Lobby automatisch deaktiviert.", "Meeting start time" : "Meeting Startzeit", "Start time (optional)" : "Startzeit (optional)", - "Save meeting start time" : "Sichern der Meeting Startzeit", "Error occurred when restricting the conversation to moderator" : "Fehler beim Beschränken der Unterhaltung auf den Moderator aufgetreten", "Error occurred when opening the conversation to everyone" : "Beim Öffnen der Konversation für alle ist ein Fehler aufgetreten", "Start time has been updated" : "Startzeit wurde angepasst", @@ -778,6 +777,7 @@ "You need to promote a new moderator before you can leave the conversation." : "Du musst einen neuen Moderator bestimmen, bevor Du die Unterhaltung verlassen kannst.", "No matches" : "Keine Übereinstimmungen", "Conversation list" : "Unterhaltungsliste", + "Open conversations" : "Unterhaltungen öffnen", "Loading" : "Lade", "No search results" : "Keine Suchergebnisse", "Groups" : "Gruppen", @@ -820,6 +820,8 @@ "Sending message" : "Nachricht wird gesendet", "Message sent" : "Nachricht wurde gesendet", "Message read by everyone who shares their reading status" : "Nachricht wird von allen gelesen, die deinen Lesestatus teilen", + "Failed to send the message. Click to try again" : "Fehler beim Senden der Nachricht. Klicken, um es noch einmal zu probieren", + "You can not send messages to this conversation at the moment" : "Du kannst derzeit keine Nachrichten an diese Konversation senden.", "{stack} in {board}" : "{stack} in {board}", "Remove" : "Entfernen", "[Unknown username]" : "[Unbekannter Benutzername]", @@ -843,6 +845,7 @@ "Edit conversation description" : "Beschreibung der Unterhaltung bearbeiten", "Description" : "Beschreibung", "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "Die Beschreibung muss weniger als oder gleich {maxLength} Zeichen lang sein. Dein aktueller Text ist {charactersCount} Zeichen lang.", + "Disable lobby" : "Lobby deaktivieren", "moderator" : "Moderator", "guest" : "Gast", "Dial-in PIN" : "Einwahl-PIN", @@ -927,7 +930,7 @@ "Select conversation" : "Unterhaltung auswählen", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Du bist der Unterhaltung in einem anderen Fenster oder Gerät beigetreten. Dies wird derzeit von Nextcloud Talk nicht unterstützt, daher wurde diese Sitzung geschlossen.", "Join a conversation or start a new one" : "Tritt einer Unterhaltung bei oder starte eine neue", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Der von Dir verwendete Browser wird von Nextcloud Talk nicht vollständig unterstützt. Bitte verwende die neueste Version von Mozilla Firefox, Microsoft Edge, Google Chrome oder Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Der von Dir verwendete Browser wird von Nextcloud Talk nicht vollständig unterstützt. Bitte verwende die neueste Version von Mozilla Firefox, Microsoft Edge, Google Chrome, Opera oder Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk wurde aktualisiert, bitte lade die Seite neu.", "Do not disturb" : "Nicht stören", "Away" : "Abwesend", @@ -995,6 +998,7 @@ "Start calls" : "Anrufe beginnen", "Who can start a call?" : "Wer kann einen Anruf beginnen?", "Select a conversation to add to the project" : "Wähle eine Unterhaltung um diese einem Projekt hinzu zufügen", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Der von Dir verwendete Browser wird von Nextcloud Talk nicht vollständig unterstützt. Bitte verwende die neueste Version von Mozilla Firefox, Microsoft Edge, Google Chrome oder Apple Safari.", "Please enter the password for this call" : "Bitte Passwort für diesen Anruf eingeben", "Password required" : "Passwort erforderlich", "Cancel" : "Abbrechen", diff --git a/l10n/de_DE.js b/l10n/de_DE.js index 7f191c9f9..8663d0922 100644 --- a/l10n/de_DE.js +++ b/l10n/de_DE.js @@ -695,7 +695,6 @@ OC.L10N.register( "After the time limit the lobby will be automatically disabled." : "Nach dem Zeitlimit wird die Lobby automatisch deaktiviert.", "Meeting start time" : "Meeting-Startzeit", "Start time (optional)" : "Startzeit (optional)", - "Save meeting start time" : "Meeting-Startzeit sichern", "Error occurred when restricting the conversation to moderator" : "Beim Beschränken der Unterhaltung auf den Moderator ist ein Fehler aufgetreten", "Error occurred when opening the conversation to everyone" : "Beim Öffnen der Unterhaltung für alle ist ein Fehler aufgetreten", "Start time has been updated" : "Startzeit wurde aktualisiert", @@ -780,6 +779,7 @@ OC.L10N.register( "You need to promote a new moderator before you can leave the conversation." : "Sie müssen einen neuen Moderator bestimmen, bevor Sie die Unterhaltung verlassen können.", "No matches" : "Keine Übereinstimmungen", "Conversation list" : "Unterhaltungsliste", + "Open conversations" : "Unterhaltungen öffnen", "Loading" : "Lade", "No search results" : "Keine Suchergebnisse", "Groups" : "Gruppen", @@ -822,6 +822,8 @@ OC.L10N.register( "Sending message" : "Sende Nachricht", "Message sent" : "Nachricht gesendet", "Message read by everyone who shares their reading status" : "Nachricht wird von allen gelesen, die Ihren Lesestatus teilen", + "Failed to send the message. Click to try again" : "Fehler beim Senden der Nachricht. Klicken, um es noch einmal zu probieren", + "You can not send messages to this conversation at the moment" : "Sie können derzeit keine Nachrichten an diese Konversation senden.", "{stack} in {board}" : "{stack} auf {board}", "Remove" : "Entfernen", "[Unknown username]" : "[Unbekannter Benutzername]", @@ -845,6 +847,7 @@ OC.L10N.register( "Edit conversation description" : "Beschreibung der Unterhaltung bearbeiten", "Description" : "Beschreibung", "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "Die Beschreibung muss weniger als oder gleich {maxLength} Zeichen lang sein. Ihr aktueller Text ist {charactersCount} Zeichen lang.", + "Disable lobby" : "Lobby deaktivieren", "moderator" : "Moderator", "guest" : "Gast", "Dial-in PIN" : "Einwahl-PIN", @@ -929,7 +932,7 @@ OC.L10N.register( "Select conversation" : "Unterhaltung auswählen", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Sie sind der Unterhaltung in einem anderen Fenster oder Gerät beigetreten. Dies wird derzeit von Nextcloud Talk nicht unterstützt, daher wurde diese Sitzung geschlossen.", "Join a conversation or start a new one" : "Treten Sie einer Unterhaltung bei oder starten Sie eine neue", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Der von Ihnen verwendete Browser wird von Nextcloud Talk nicht vollständig unterstützt. Bitte verwenden Sie die neueste Version von Mozilla Firefox, Microsoft Edge, Google Chrome oder Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Der von Ihnen verwendete Browser wird von Nextcloud Talk nicht vollständig unterstützt. Bitte verwenden Sie die neueste Version von Mozilla Firefox, Microsoft Edge, Google Chrome, Opera oder Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk wurde aktualisiert, bitte laden Sie die Seite neu.", "Do not disturb" : "Nicht stören", "Away" : "Abwesend", @@ -997,6 +1000,7 @@ OC.L10N.register( "Start calls" : "Anrufe beginnen", "Who can start a call?" : "Wer kann einen Anruf beginnen?", "Select a conversation to add to the project" : "Wählen Sie eine Unterhaltung um diese einem Projekt hinzu zufügen", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Der von Ihnen verwendete Browser wird von Nextcloud Talk nicht vollständig unterstützt. Bitte verwenden Sie die neueste Version von Mozilla Firefox, Microsoft Edge, Google Chrome oder Apple Safari.", "Please enter the password for this call" : "Bitte Passwort für diesen Anruf eingeben", "Password required" : "Passwort erforderlich", "Cancel" : "Abbrechen", diff --git a/l10n/de_DE.json b/l10n/de_DE.json index 9551f7a9b..ff8cdfb67 100644 --- a/l10n/de_DE.json +++ b/l10n/de_DE.json @@ -693,7 +693,6 @@ "After the time limit the lobby will be automatically disabled." : "Nach dem Zeitlimit wird die Lobby automatisch deaktiviert.", "Meeting start time" : "Meeting-Startzeit", "Start time (optional)" : "Startzeit (optional)", - "Save meeting start time" : "Meeting-Startzeit sichern", "Error occurred when restricting the conversation to moderator" : "Beim Beschränken der Unterhaltung auf den Moderator ist ein Fehler aufgetreten", "Error occurred when opening the conversation to everyone" : "Beim Öffnen der Unterhaltung für alle ist ein Fehler aufgetreten", "Start time has been updated" : "Startzeit wurde aktualisiert", @@ -778,6 +777,7 @@ "You need to promote a new moderator before you can leave the conversation." : "Sie müssen einen neuen Moderator bestimmen, bevor Sie die Unterhaltung verlassen können.", "No matches" : "Keine Übereinstimmungen", "Conversation list" : "Unterhaltungsliste", + "Open conversations" : "Unterhaltungen öffnen", "Loading" : "Lade", "No search results" : "Keine Suchergebnisse", "Groups" : "Gruppen", @@ -820,6 +820,8 @@ "Sending message" : "Sende Nachricht", "Message sent" : "Nachricht gesendet", "Message read by everyone who shares their reading status" : "Nachricht wird von allen gelesen, die Ihren Lesestatus teilen", + "Failed to send the message. Click to try again" : "Fehler beim Senden der Nachricht. Klicken, um es noch einmal zu probieren", + "You can not send messages to this conversation at the moment" : "Sie können derzeit keine Nachrichten an diese Konversation senden.", "{stack} in {board}" : "{stack} auf {board}", "Remove" : "Entfernen", "[Unknown username]" : "[Unbekannter Benutzername]", @@ -843,6 +845,7 @@ "Edit conversation description" : "Beschreibung der Unterhaltung bearbeiten", "Description" : "Beschreibung", "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "Die Beschreibung muss weniger als oder gleich {maxLength} Zeichen lang sein. Ihr aktueller Text ist {charactersCount} Zeichen lang.", + "Disable lobby" : "Lobby deaktivieren", "moderator" : "Moderator", "guest" : "Gast", "Dial-in PIN" : "Einwahl-PIN", @@ -927,7 +930,7 @@ "Select conversation" : "Unterhaltung auswählen", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Sie sind der Unterhaltung in einem anderen Fenster oder Gerät beigetreten. Dies wird derzeit von Nextcloud Talk nicht unterstützt, daher wurde diese Sitzung geschlossen.", "Join a conversation or start a new one" : "Treten Sie einer Unterhaltung bei oder starten Sie eine neue", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Der von Ihnen verwendete Browser wird von Nextcloud Talk nicht vollständig unterstützt. Bitte verwenden Sie die neueste Version von Mozilla Firefox, Microsoft Edge, Google Chrome oder Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Der von Ihnen verwendete Browser wird von Nextcloud Talk nicht vollständig unterstützt. Bitte verwenden Sie die neueste Version von Mozilla Firefox, Microsoft Edge, Google Chrome, Opera oder Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk wurde aktualisiert, bitte laden Sie die Seite neu.", "Do not disturb" : "Nicht stören", "Away" : "Abwesend", @@ -995,6 +998,7 @@ "Start calls" : "Anrufe beginnen", "Who can start a call?" : "Wer kann einen Anruf beginnen?", "Select a conversation to add to the project" : "Wählen Sie eine Unterhaltung um diese einem Projekt hinzu zufügen", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Der von Ihnen verwendete Browser wird von Nextcloud Talk nicht vollständig unterstützt. Bitte verwenden Sie die neueste Version von Mozilla Firefox, Microsoft Edge, Google Chrome oder Apple Safari.", "Please enter the password for this call" : "Bitte Passwort für diesen Anruf eingeben", "Password required" : "Passwort erforderlich", "Cancel" : "Abbrechen", diff --git a/l10n/el.js b/l10n/el.js index 64b5b1abc..9e9b075c0 100644 --- a/l10n/el.js +++ b/l10n/el.js @@ -681,7 +681,6 @@ OC.L10N.register( "After the time limit the lobby will be automatically disabled." : "Μετά το χρονικό όριο, το λόμπι θα απενεργοποιηθεί αυτόματα.", "Meeting start time" : "Ώρα έναρξης της συνάντησης", "Start time (optional)" : "Ώρα έναρξης (προαιρετικό)", - "Save meeting start time" : "Αποθήκευση ώρας έναρξης της συνάντησης", "Error occurred when restricting the conversation to moderator" : "Παρουσιάστηκε σφάλμα κατά τον περιορισμό της συνομιλίας σε επόπτη", "Error occurred when opening the conversation to everyone" : "Παρουσιάστηκε σφάλμα κατά το άνοιγμα της συνομιλίας σε όλους", "Start time has been updated" : "Η ώρα έναρξης ενημερώθηκε", @@ -914,7 +913,6 @@ OC.L10N.register( "Select conversation" : "Επιλέξτε συνομιλία", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Συμμετείχατε στη συνομιλία σε άλλο παράθυρο ή συσκευή. Αυτήν τη στιγμή δεν υποστηρίζεται από το Nextcloud Talk, επομένως αυτή η συνεδρία τερματίστηκε.", "Join a conversation or start a new one" : "Συμμετέχετε σε συνομιλία ή ξεκινήστε μια νέα", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Ο περιηγητής σας δεν υποστηρίζεται πλήρως από το Nextcloud Talk. Παρακαλώ χρησιμοποιήστε την τελευταία έκδοση του Mozilla Firefox, Microsoft Edge, Google Chrome ή Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Το Nextcloud Talk ενημερώθηκε, ανανεώστε τη σελίδα", "Do not disturb" : "Μην ενοχλείτε", "Away" : "Λείπω", @@ -982,6 +980,7 @@ OC.L10N.register( "Start calls" : "Έναρξη κλήσεων", "Who can start a call?" : "Ποιός μπορεί να ξεκινήσει μια κλήση;", "Select a conversation to add to the project" : "Επιλέξτε συνομιλία για προσθήκη στο project", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Ο περιηγητής σας δεν υποστηρίζεται πλήρως από το Nextcloud Talk. Παρακαλώ χρησιμοποιήστε την τελευταία έκδοση του Mozilla Firefox, Microsoft Edge, Google Chrome ή Apple Safari.", "Please enter the password for this call" : "Παρακαλώ εισάγετε τον κωδικό πρόσβασης της κλήσης", "Password required" : "Απαιτείται συνθηματικό", "Cancel" : "Ακύρωση", diff --git a/l10n/el.json b/l10n/el.json index d6cf7aa97..723f97ef8 100644 --- a/l10n/el.json +++ b/l10n/el.json @@ -679,7 +679,6 @@ "After the time limit the lobby will be automatically disabled." : "Μετά το χρονικό όριο, το λόμπι θα απενεργοποιηθεί αυτόματα.", "Meeting start time" : "Ώρα έναρξης της συνάντησης", "Start time (optional)" : "Ώρα έναρξης (προαιρετικό)", - "Save meeting start time" : "Αποθήκευση ώρας έναρξης της συνάντησης", "Error occurred when restricting the conversation to moderator" : "Παρουσιάστηκε σφάλμα κατά τον περιορισμό της συνομιλίας σε επόπτη", "Error occurred when opening the conversation to everyone" : "Παρουσιάστηκε σφάλμα κατά το άνοιγμα της συνομιλίας σε όλους", "Start time has been updated" : "Η ώρα έναρξης ενημερώθηκε", @@ -912,7 +911,6 @@ "Select conversation" : "Επιλέξτε συνομιλία", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Συμμετείχατε στη συνομιλία σε άλλο παράθυρο ή συσκευή. Αυτήν τη στιγμή δεν υποστηρίζεται από το Nextcloud Talk, επομένως αυτή η συνεδρία τερματίστηκε.", "Join a conversation or start a new one" : "Συμμετέχετε σε συνομιλία ή ξεκινήστε μια νέα", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Ο περιηγητής σας δεν υποστηρίζεται πλήρως από το Nextcloud Talk. Παρακαλώ χρησιμοποιήστε την τελευταία έκδοση του Mozilla Firefox, Microsoft Edge, Google Chrome ή Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Το Nextcloud Talk ενημερώθηκε, ανανεώστε τη σελίδα", "Do not disturb" : "Μην ενοχλείτε", "Away" : "Λείπω", @@ -980,6 +978,7 @@ "Start calls" : "Έναρξη κλήσεων", "Who can start a call?" : "Ποιός μπορεί να ξεκινήσει μια κλήση;", "Select a conversation to add to the project" : "Επιλέξτε συνομιλία για προσθήκη στο project", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Ο περιηγητής σας δεν υποστηρίζεται πλήρως από το Nextcloud Talk. Παρακαλώ χρησιμοποιήστε την τελευταία έκδοση του Mozilla Firefox, Microsoft Edge, Google Chrome ή Apple Safari.", "Please enter the password for this call" : "Παρακαλώ εισάγετε τον κωδικό πρόσβασης της κλήσης", "Password required" : "Απαιτείται συνθηματικό", "Cancel" : "Ακύρωση", diff --git a/l10n/es.js b/l10n/es.js index b9cea9397..1ccf85e51 100644 --- a/l10n/es.js +++ b/l10n/es.js @@ -65,6 +65,15 @@ OC.L10N.register( "{actor} locked the conversation" : "{actor} ha bloqueado la conversación", "You locked the conversation" : "Has bloqueado la conversación", "An administrator locked the conversation" : "Un administrador ha bloqueado la conversación", + "{actor} limited the conversation to the current participants" : "{actor} limitó la conversación a los participantes actuales", + "You limited the conversation to the current participants" : "Has limitado la conversación a los participantes actuales", + "An administrator limited the conversation to the current participants" : "Un administrador limitó la conversación a los participantes actuales", + "{actor} opened the conversation to registered users" : "{actor} abrió la conversación a los usuarios registrados", + "You opened the conversation to registered users" : "Has abierto la conversación a los usuarios registrados", + "An administrator opened the conversation to registered users" : "Un administrador abrió la conversación a los usuarios registrados", + "{actor} opened the conversation to registered and guest app users" : "{actor} abrió la conversación a los usuarios registrados y a los invitados de la aplicación", + "You opened the conversation to registered and guest app users" : "Has abierto la conversación a los usuarios registrados y a los invitados de la aplicació", + "An administrator opened the conversation to registered and guest app users" : "Un administrador abrió la conversación a los usuarios registrados y a los invitados de la aplicación", "The conversation is now open to everyone" : "La conversación ahora está abierta para todo el mundo", "{actor} opened the conversation to everyone" : "{actor} ha abierto la conversación para todos", "You opened the conversation to everyone" : "Has abierto la conversación para todo el mundo", @@ -677,12 +686,15 @@ OC.L10N.register( "Error occurred while saving conversation password" : "Se ha producido un error al guardar la contraseña", "Error occurred while allowing guests" : "Se ha producido un error al permitir invitados", "Error occurred while disallowing guests" : "Se ha producido un error al prohibir invitados", + "Open conversation to registered users" : "Abrir conversación a usuarios registrados", + "This conversation will be shown in search results" : "Esta conversación se mostrará en los resultados de la búsqueda", + "Also open to guest app users" : "Abrir también para usuarios invitados de la aplicación", + "Error occurred when opening or limiting the conversation" : "Se ha producido un error al abrir o limitar la conversación", "Enabling the lobby only allows moderators to post messages." : "Con la sala de espera activada, solo pueden publicar mensajes los moderadores.", "Enable lobby" : "Activar sala", "After the time limit the lobby will be automatically disabled." : "Pasado el tiempo de espera, la sala se desactivará automáticamente.", "Meeting start time" : "Hora de inicio de la reunión", "Start time (optional)" : "Hora de inicio (opcional)", - "Save meeting start time" : "Guardar hora de inicio", "Error occurred when restricting the conversation to moderator" : "Se ha producido un error al restringir la conversación a los moderadores", "Error occurred when opening the conversation to everyone" : "Se ha producido un error al abrir la conversación a todo el mundo", "Start time has been updated" : "Se ha actualizado la hora de inicio", @@ -767,6 +779,7 @@ OC.L10N.register( "You need to promote a new moderator before you can leave the conversation." : "Necesitas elegir un nuevo moderador antes de que puedas abandonar la conversación", "No matches" : "Sin coincidencias", "Conversation list" : "Lista de conversaciones", + "Open conversations" : "Abrir conversaciones", "Loading" : "Cargando", "No search results" : "No hay resultados de búsqueda", "Groups" : "Grupos", @@ -916,7 +929,7 @@ OC.L10N.register( "Select conversation" : "Selecciona conversación", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Te has unido a la conversación en otra ventana o dispositivo. Nextcloud Talk no admite esto en la actualidad, por lo que se ha cerrado esta sesión.", "Join a conversation or start a new one" : "Únete a una conversación o empieza una nueva", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "El navegador que estás usando no está completamente soportado por Nextcloud Talk. Por favor, usa la versión más reciente de Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Este navegador no está totalmente soportado por Nextcloud Talk. Por favor, usa la última versión de Mozilla Firefox, Microsoft Edge, Google Chrome, Opera o Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk se ha actualizado. Por favor, vuelve a cargar la página", "Do not disturb" : "No molestar", "Away" : "Ausente", @@ -984,6 +997,7 @@ OC.L10N.register( "Start calls" : "Comenzar llamadas", "Who can start a call?" : "¿Quién puede iniciar una llamada?", "Select a conversation to add to the project" : "Selecciona una conversación para añadirla al proyecto", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "El navegador que estás usando no está completamente soportado por Nextcloud Talk. Por favor, usa la versión más reciente de Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.", "Please enter the password for this call" : "Por favor, introduce la contraseña para esta llamada", "Password required" : "Se necesita contraseña", "Cancel" : "Cancelar", diff --git a/l10n/es.json b/l10n/es.json index ed5b2ceee..0710677a3 100644 --- a/l10n/es.json +++ b/l10n/es.json @@ -63,6 +63,15 @@ "{actor} locked the conversation" : "{actor} ha bloqueado la conversación", "You locked the conversation" : "Has bloqueado la conversación", "An administrator locked the conversation" : "Un administrador ha bloqueado la conversación", + "{actor} limited the conversation to the current participants" : "{actor} limitó la conversación a los participantes actuales", + "You limited the conversation to the current participants" : "Has limitado la conversación a los participantes actuales", + "An administrator limited the conversation to the current participants" : "Un administrador limitó la conversación a los participantes actuales", + "{actor} opened the conversation to registered users" : "{actor} abrió la conversación a los usuarios registrados", + "You opened the conversation to registered users" : "Has abierto la conversación a los usuarios registrados", + "An administrator opened the conversation to registered users" : "Un administrador abrió la conversación a los usuarios registrados", + "{actor} opened the conversation to registered and guest app users" : "{actor} abrió la conversación a los usuarios registrados y a los invitados de la aplicación", + "You opened the conversation to registered and guest app users" : "Has abierto la conversación a los usuarios registrados y a los invitados de la aplicació", + "An administrator opened the conversation to registered and guest app users" : "Un administrador abrió la conversación a los usuarios registrados y a los invitados de la aplicación", "The conversation is now open to everyone" : "La conversación ahora está abierta para todo el mundo", "{actor} opened the conversation to everyone" : "{actor} ha abierto la conversación para todos", "You opened the conversation to everyone" : "Has abierto la conversación para todo el mundo", @@ -675,12 +684,15 @@ "Error occurred while saving conversation password" : "Se ha producido un error al guardar la contraseña", "Error occurred while allowing guests" : "Se ha producido un error al permitir invitados", "Error occurred while disallowing guests" : "Se ha producido un error al prohibir invitados", + "Open conversation to registered users" : "Abrir conversación a usuarios registrados", + "This conversation will be shown in search results" : "Esta conversación se mostrará en los resultados de la búsqueda", + "Also open to guest app users" : "Abrir también para usuarios invitados de la aplicación", + "Error occurred when opening or limiting the conversation" : "Se ha producido un error al abrir o limitar la conversación", "Enabling the lobby only allows moderators to post messages." : "Con la sala de espera activada, solo pueden publicar mensajes los moderadores.", "Enable lobby" : "Activar sala", "After the time limit the lobby will be automatically disabled." : "Pasado el tiempo de espera, la sala se desactivará automáticamente.", "Meeting start time" : "Hora de inicio de la reunión", "Start time (optional)" : "Hora de inicio (opcional)", - "Save meeting start time" : "Guardar hora de inicio", "Error occurred when restricting the conversation to moderator" : "Se ha producido un error al restringir la conversación a los moderadores", "Error occurred when opening the conversation to everyone" : "Se ha producido un error al abrir la conversación a todo el mundo", "Start time has been updated" : "Se ha actualizado la hora de inicio", @@ -765,6 +777,7 @@ "You need to promote a new moderator before you can leave the conversation." : "Necesitas elegir un nuevo moderador antes de que puedas abandonar la conversación", "No matches" : "Sin coincidencias", "Conversation list" : "Lista de conversaciones", + "Open conversations" : "Abrir conversaciones", "Loading" : "Cargando", "No search results" : "No hay resultados de búsqueda", "Groups" : "Grupos", @@ -914,7 +927,7 @@ "Select conversation" : "Selecciona conversación", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Te has unido a la conversación en otra ventana o dispositivo. Nextcloud Talk no admite esto en la actualidad, por lo que se ha cerrado esta sesión.", "Join a conversation or start a new one" : "Únete a una conversación o empieza una nueva", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "El navegador que estás usando no está completamente soportado por Nextcloud Talk. Por favor, usa la versión más reciente de Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Este navegador no está totalmente soportado por Nextcloud Talk. Por favor, usa la última versión de Mozilla Firefox, Microsoft Edge, Google Chrome, Opera o Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk se ha actualizado. Por favor, vuelve a cargar la página", "Do not disturb" : "No molestar", "Away" : "Ausente", @@ -982,6 +995,7 @@ "Start calls" : "Comenzar llamadas", "Who can start a call?" : "¿Quién puede iniciar una llamada?", "Select a conversation to add to the project" : "Selecciona una conversación para añadirla al proyecto", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "El navegador que estás usando no está completamente soportado por Nextcloud Talk. Por favor, usa la versión más reciente de Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.", "Please enter the password for this call" : "Por favor, introduce la contraseña para esta llamada", "Password required" : "Se necesita contraseña", "Cancel" : "Cancelar", diff --git a/l10n/eu.js b/l10n/eu.js index 6b0be5346..86240233a 100644 --- a/l10n/eu.js +++ b/l10n/eu.js @@ -794,7 +794,6 @@ OC.L10N.register( "Select conversation" : "Hautatu elkarrizketa", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Elkarrizketara batu zara beste leiho edo gailu batean. Nextcloud Talkek ez du hau onartzen une honetan, beraz saioa itxi egin da.", "Join a conversation or start a new one" : "Batu elkarrizketa batera edo hasi berri bat", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Talkek ez dauka erabateko euskarria erabiltzen ari zaren nabigatzailearentzat. Erabili Mozilla Firefox, Microsoft Edge, Google Chrome edo Apple Safari nabigatzaileen bertsio berriena.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Elkarrizketak eguneratu dira, mesedez freskatu orria", "Do not disturb" : "Ez molestatu", "Away" : "Kanpoan", @@ -862,6 +861,7 @@ OC.L10N.register( "Start calls" : "Hasi deiak", "Who can start a call?" : "Nork hasi dezake dei bat?", "Select a conversation to add to the project" : "Hautatu elkarrizketa bat proiektuari gehitzeko", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Talkek ez dauka erabateko euskarria erabiltzen ari zaren nabigatzailearentzat. Erabili Mozilla Firefox, Microsoft Edge, Google Chrome edo Apple Safari nabigatzaileen bertsio berriena.", "Please enter the password for this call" : "Sartu dei honen pasahitza", "Password required" : "Pasahitza beharrezkoa", "Cancel" : "Ezeztatu", diff --git a/l10n/eu.json b/l10n/eu.json index 0e6ef29a5..8ffeb5e81 100644 --- a/l10n/eu.json +++ b/l10n/eu.json @@ -792,7 +792,6 @@ "Select conversation" : "Hautatu elkarrizketa", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Elkarrizketara batu zara beste leiho edo gailu batean. Nextcloud Talkek ez du hau onartzen une honetan, beraz saioa itxi egin da.", "Join a conversation or start a new one" : "Batu elkarrizketa batera edo hasi berri bat", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Talkek ez dauka erabateko euskarria erabiltzen ari zaren nabigatzailearentzat. Erabili Mozilla Firefox, Microsoft Edge, Google Chrome edo Apple Safari nabigatzaileen bertsio berriena.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Elkarrizketak eguneratu dira, mesedez freskatu orria", "Do not disturb" : "Ez molestatu", "Away" : "Kanpoan", @@ -860,6 +859,7 @@ "Start calls" : "Hasi deiak", "Who can start a call?" : "Nork hasi dezake dei bat?", "Select a conversation to add to the project" : "Hautatu elkarrizketa bat proiektuari gehitzeko", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Talkek ez dauka erabateko euskarria erabiltzen ari zaren nabigatzailearentzat. Erabili Mozilla Firefox, Microsoft Edge, Google Chrome edo Apple Safari nabigatzaileen bertsio berriena.", "Please enter the password for this call" : "Sartu dei honen pasahitza", "Password required" : "Pasahitza beharrezkoa", "Cancel" : "Ezeztatu", diff --git a/l10n/fr.js b/l10n/fr.js index 1d9ce92e7..060bbbe32 100644 --- a/l10n/fr.js +++ b/l10n/fr.js @@ -665,7 +665,6 @@ OC.L10N.register( "Enable lobby" : "Activer la salle d'attente", "Meeting start time" : "Heure de début de la réunion", "Start time (optional)" : "Heure de début (optionelle)", - "Save meeting start time" : "Enregistrer l'heure de début de la réunion", "Start time has been updated" : "L'heure de début a été mise à jour", "Error occurred while updating start time" : "Une erreur s'est produite lors de la mise à jour de l'heure de début", "Lock conversation" : "Verrouiller la conversation", @@ -861,7 +860,6 @@ OC.L10N.register( "Select conversation" : "Sélectionnez une conversation", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Vous avez déjà ouvert une conversation dans une autre fenêtre ou sur un autre périphérique. Ce n'est pas supporté pour l'instant dans Nextcloud Talk, votre session a été fermée ", "Join a conversation or start a new one" : "Rejoignez une conversation ou démarrez-en une nouvelle", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Le navigateur que vous utilisez n'est pas entièrement pris en charge par Nextcloud Talk. Veuillez utiliser la dernière version de Mozilla Firefox, Microsoft Edge, Google Chrome ou Apple Safari.\n ", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk a été mis à jour, veuillez actualiser la page", "Do not disturb" : "Ne pas déranger", "Away" : "Absent", @@ -929,6 +927,7 @@ OC.L10N.register( "Start calls" : "Démarrer les appels", "Who can start a call?" : "Qui peut démarrer un appel ?", "Select a conversation to add to the project" : "Sélectionnez une conversation à ajouter au projet", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Le navigateur que vous utilisez n'est pas entièrement pris en charge par Nextcloud Talk. Veuillez utiliser la dernière version de Mozilla Firefox, Microsoft Edge, Google Chrome ou Apple Safari.\n ", "Please enter the password for this call" : "Veuillez entrer le mot de passe pour cet appel", "Password required" : "Mot de passe requis", "Cancel" : "Annuler", diff --git a/l10n/fr.json b/l10n/fr.json index f697353de..a7f8806fb 100644 --- a/l10n/fr.json +++ b/l10n/fr.json @@ -663,7 +663,6 @@ "Enable lobby" : "Activer la salle d'attente", "Meeting start time" : "Heure de début de la réunion", "Start time (optional)" : "Heure de début (optionelle)", - "Save meeting start time" : "Enregistrer l'heure de début de la réunion", "Start time has been updated" : "L'heure de début a été mise à jour", "Error occurred while updating start time" : "Une erreur s'est produite lors de la mise à jour de l'heure de début", "Lock conversation" : "Verrouiller la conversation", @@ -859,7 +858,6 @@ "Select conversation" : "Sélectionnez une conversation", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Vous avez déjà ouvert une conversation dans une autre fenêtre ou sur un autre périphérique. Ce n'est pas supporté pour l'instant dans Nextcloud Talk, votre session a été fermée ", "Join a conversation or start a new one" : "Rejoignez une conversation ou démarrez-en une nouvelle", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Le navigateur que vous utilisez n'est pas entièrement pris en charge par Nextcloud Talk. Veuillez utiliser la dernière version de Mozilla Firefox, Microsoft Edge, Google Chrome ou Apple Safari.\n ", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk a été mis à jour, veuillez actualiser la page", "Do not disturb" : "Ne pas déranger", "Away" : "Absent", @@ -927,6 +925,7 @@ "Start calls" : "Démarrer les appels", "Who can start a call?" : "Qui peut démarrer un appel ?", "Select a conversation to add to the project" : "Sélectionnez une conversation à ajouter au projet", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Le navigateur que vous utilisez n'est pas entièrement pris en charge par Nextcloud Talk. Veuillez utiliser la dernière version de Mozilla Firefox, Microsoft Edge, Google Chrome ou Apple Safari.\n ", "Please enter the password for this call" : "Veuillez entrer le mot de passe pour cet appel", "Password required" : "Mot de passe requis", "Cancel" : "Annuler", diff --git a/l10n/gl.js b/l10n/gl.js index e1b246dfd..54bd326ad 100644 --- a/l10n/gl.js +++ b/l10n/gl.js @@ -695,7 +695,6 @@ OC.L10N.register( "After the time limit the lobby will be automatically disabled." : "Após o límite de tempo, o ástrago desactivarase automaticamente.", "Meeting start time" : "Hora de inicio da xuntanza", "Start time (optional)" : "Hora de inicio (opcional)", - "Save meeting start time" : "Gardar a hora de inicio da xuntanza", "Error occurred when restricting the conversation to moderator" : "Produciuse un erro ao restrinxir a conversa ao moderador", "Error occurred when opening the conversation to everyone" : "Produciuse un erro ao abrir a conversa a todos", "Start time has been updated" : "Actualizouse a hora de inicio", @@ -780,6 +779,7 @@ OC.L10N.register( "You need to promote a new moderator before you can leave the conversation." : "Debe promover un novo moderador antes de poder abandonar a conversa.", "No matches" : "Non hai coincidencias", "Conversation list" : "Lista de conversas", + "Open conversations" : "Conversas abertas", "Loading" : "Cargando", "No search results" : "Sen resultados de busca", "Groups" : "Grupos", @@ -822,6 +822,8 @@ OC.L10N.register( "Sending message" : "Enviando a mensaxe", "Message sent" : "Mensaxe enviada", "Message read by everyone who shares their reading status" : "Mensaxe lida por todos os que comparten o seu estado de lectura", + "Failed to send the message. Click to try again" : "Produciuse un fallo ao enviar a mensaxe. Prema para tentalo de novo", + "You can not send messages to this conversation at the moment" : "Non pode enviar mensaxes a esta conversa neste momento", "{stack} in {board}" : "{stack} en {board}", "Remove" : "Retirar", "[Unknown username]" : "[Nome de usuario descoñecido]", @@ -845,6 +847,7 @@ OC.L10N.register( "Edit conversation description" : "Editar a descrición da conversa", "Description" : "Descrición", "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "A descrición debe ser de menos ou igual a {maxLength} caracteres. O seu texto actual ten {charactersCount} caracteres.", + "Disable lobby" : "Desactivar o ástrago", "moderator" : "moderador", "guest" : "convidado", "Dial-in PIN" : "PIN de marcación", @@ -929,7 +932,7 @@ OC.L10N.register( "Select conversation" : "Seleccionar conversa", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Uniuse á conversa noutra xanela ou dispositivo. Isto non é compatíbel actualmente co Nextcloud Talk polo que esta sesión pechouse.", "Join a conversation or start a new one" : "Únase a unha conversa ou inicie unha nova", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Talk non é totalmente compatíbel co navegador que está a usar. Utilice a versión máis recente de Mozilla Firefox, Microsoft Edge, Google Chrome ou Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Nextcloud Talk non é totalmente compatíbel co navegador que está a usar. Utilice a versión máis recente de Mozilla Firefox, Microsoft Edge, Google Chrome, Opera ou Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Actualizouse o Nextcloud Talk, volva cargar a páxina", "Do not disturb" : "Non molestar", "Away" : "Ausente", @@ -997,6 +1000,7 @@ OC.L10N.register( "Start calls" : "Iniciar chamadas", "Who can start a call?" : "Quen pode iniciar unha chamada?", "Select a conversation to add to the project" : "Seleccione unha conversa para engadila ao proxecto", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Talk non é totalmente compatíbel co navegador que está a usar. Utilice a versión máis recente de Mozilla Firefox, Microsoft Edge, Google Chrome ou Apple Safari.", "Please enter the password for this call" : "Introduza o contrasinal desta chamada", "Password required" : "É necesario o contrasinal", "Cancel" : "Cancelar", diff --git a/l10n/gl.json b/l10n/gl.json index 1e5eb6a6e..c06a103ab 100644 --- a/l10n/gl.json +++ b/l10n/gl.json @@ -693,7 +693,6 @@ "After the time limit the lobby will be automatically disabled." : "Após o límite de tempo, o ástrago desactivarase automaticamente.", "Meeting start time" : "Hora de inicio da xuntanza", "Start time (optional)" : "Hora de inicio (opcional)", - "Save meeting start time" : "Gardar a hora de inicio da xuntanza", "Error occurred when restricting the conversation to moderator" : "Produciuse un erro ao restrinxir a conversa ao moderador", "Error occurred when opening the conversation to everyone" : "Produciuse un erro ao abrir a conversa a todos", "Start time has been updated" : "Actualizouse a hora de inicio", @@ -778,6 +777,7 @@ "You need to promote a new moderator before you can leave the conversation." : "Debe promover un novo moderador antes de poder abandonar a conversa.", "No matches" : "Non hai coincidencias", "Conversation list" : "Lista de conversas", + "Open conversations" : "Conversas abertas", "Loading" : "Cargando", "No search results" : "Sen resultados de busca", "Groups" : "Grupos", @@ -820,6 +820,8 @@ "Sending message" : "Enviando a mensaxe", "Message sent" : "Mensaxe enviada", "Message read by everyone who shares their reading status" : "Mensaxe lida por todos os que comparten o seu estado de lectura", + "Failed to send the message. Click to try again" : "Produciuse un fallo ao enviar a mensaxe. Prema para tentalo de novo", + "You can not send messages to this conversation at the moment" : "Non pode enviar mensaxes a esta conversa neste momento", "{stack} in {board}" : "{stack} en {board}", "Remove" : "Retirar", "[Unknown username]" : "[Nome de usuario descoñecido]", @@ -843,6 +845,7 @@ "Edit conversation description" : "Editar a descrición da conversa", "Description" : "Descrición", "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "A descrición debe ser de menos ou igual a {maxLength} caracteres. O seu texto actual ten {charactersCount} caracteres.", + "Disable lobby" : "Desactivar o ástrago", "moderator" : "moderador", "guest" : "convidado", "Dial-in PIN" : "PIN de marcación", @@ -927,7 +930,7 @@ "Select conversation" : "Seleccionar conversa", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Uniuse á conversa noutra xanela ou dispositivo. Isto non é compatíbel actualmente co Nextcloud Talk polo que esta sesión pechouse.", "Join a conversation or start a new one" : "Únase a unha conversa ou inicie unha nova", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Talk non é totalmente compatíbel co navegador que está a usar. Utilice a versión máis recente de Mozilla Firefox, Microsoft Edge, Google Chrome ou Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Nextcloud Talk non é totalmente compatíbel co navegador que está a usar. Utilice a versión máis recente de Mozilla Firefox, Microsoft Edge, Google Chrome, Opera ou Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Actualizouse o Nextcloud Talk, volva cargar a páxina", "Do not disturb" : "Non molestar", "Away" : "Ausente", @@ -995,6 +998,7 @@ "Start calls" : "Iniciar chamadas", "Who can start a call?" : "Quen pode iniciar unha chamada?", "Select a conversation to add to the project" : "Seleccione unha conversa para engadila ao proxecto", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Talk non é totalmente compatíbel co navegador que está a usar. Utilice a versión máis recente de Mozilla Firefox, Microsoft Edge, Google Chrome ou Apple Safari.", "Please enter the password for this call" : "Introduza o contrasinal desta chamada", "Password required" : "É necesario o contrasinal", "Cancel" : "Cancelar", diff --git a/l10n/he.js b/l10n/he.js index 8602b9168..dff412d3c 100644 --- a/l10n/he.js +++ b/l10n/he.js @@ -55,10 +55,19 @@ OC.L10N.register( "You added {user}" : "הוספת את {user}", "{actor} added you" : "נוספת על ידי {actor}", "You left the conversation" : "עזבת את הדיון", + "Conversation invitation" : "הזמנה לדיון", + "Click the button below to join." : "יש ללחוץ על הכפתור שלהלן כדי להצטרף.", + "Meeting ID" : "מזהה פגישה", + "Password request: %s" : "בקשת ססמה: %s", + "Private conversation" : "דיון פרטי", + "Deleted user (%s)" : "משתמש שנמחק (%s)", "{user} sent you a private message" : "התקבלה הודעה פרטית מאת {user}", "{user} invited you to a private conversation" : "הוזמנת לדיון פרטי על ידי {user}", "Join call" : "הצטרפות לשיחה", "{user} invited you to a group conversation: {call}" : "הוזמנת על ידי {user} לדיון קבוצתי: {call}", + "Answer call" : "לענות לשיחה", + "Call back" : "להתקשר בחזרה", + "You missed a call from {user}" : "החמצת שיחה עם {user}", "A group call has started in {call}" : "החלה שיחה קבוצתית תחת {call}", "Open settings" : "פתיחת הגדרות", "Conversations" : "דיונים", diff --git a/l10n/he.json b/l10n/he.json index 105cc2efc..529876128 100644 --- a/l10n/he.json +++ b/l10n/he.json @@ -53,10 +53,19 @@ "You added {user}" : "הוספת את {user}", "{actor} added you" : "נוספת על ידי {actor}", "You left the conversation" : "עזבת את הדיון", + "Conversation invitation" : "הזמנה לדיון", + "Click the button below to join." : "יש ללחוץ על הכפתור שלהלן כדי להצטרף.", + "Meeting ID" : "מזהה פגישה", + "Password request: %s" : "בקשת ססמה: %s", + "Private conversation" : "דיון פרטי", + "Deleted user (%s)" : "משתמש שנמחק (%s)", "{user} sent you a private message" : "התקבלה הודעה פרטית מאת {user}", "{user} invited you to a private conversation" : "הוזמנת לדיון פרטי על ידי {user}", "Join call" : "הצטרפות לשיחה", "{user} invited you to a group conversation: {call}" : "הוזמנת על ידי {user} לדיון קבוצתי: {call}", + "Answer call" : "לענות לשיחה", + "Call back" : "להתקשר בחזרה", + "You missed a call from {user}" : "החמצת שיחה עם {user}", "A group call has started in {call}" : "החלה שיחה קבוצתית תחת {call}", "Open settings" : "פתיחת הגדרות", "Conversations" : "דיונים", diff --git a/l10n/hr.js b/l10n/hr.js index c4fae2bb6..84aba65ab 100644 --- a/l10n/hr.js +++ b/l10n/hr.js @@ -809,7 +809,6 @@ OC.L10N.register( "Select conversation" : "Odaberi razgovor", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Pridružili ste se razgovoru u drugom prozoru ili na drugom uređaju. Nextcloud Talk trenutačno ne podržava tu radnju pa je ova sesija zatvorena.", "Join a conversation or start a new one" : "Pridružite se razgovoru ili započnite novi", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Talk ne podržava trenutni preglednik. Preuzmite najnoviju inačicu preglednika Mozilla Firefox, Microsoft Edge, Google Chrome ili Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk je ažuriran, ponovno učitajte stranicu", "Do not disturb" : "Ne ometaj", "Away" : "Odsutan", @@ -877,6 +876,7 @@ OC.L10N.register( "Start calls" : "Uputi pozive", "Who can start a call?" : "Tko može uputiti poziv?", "Select a conversation to add to the project" : "Odaberite razgovor koji želite dodati projektu", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Talk ne podržava trenutni preglednik. Preuzmite najnoviju inačicu preglednika Mozilla Firefox, Microsoft Edge, Google Chrome ili Apple Safari.", "Please enter the password for this call" : "Unesite zaporku za ovaj poziv", "Password required" : "Potrebna zaporka", "Cancel" : "Odustani", diff --git a/l10n/hr.json b/l10n/hr.json index fd875a94c..38efb9b3b 100644 --- a/l10n/hr.json +++ b/l10n/hr.json @@ -807,7 +807,6 @@ "Select conversation" : "Odaberi razgovor", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Pridružili ste se razgovoru u drugom prozoru ili na drugom uređaju. Nextcloud Talk trenutačno ne podržava tu radnju pa je ova sesija zatvorena.", "Join a conversation or start a new one" : "Pridružite se razgovoru ili započnite novi", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Talk ne podržava trenutni preglednik. Preuzmite najnoviju inačicu preglednika Mozilla Firefox, Microsoft Edge, Google Chrome ili Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk je ažuriran, ponovno učitajte stranicu", "Do not disturb" : "Ne ometaj", "Away" : "Odsutan", @@ -875,6 +874,7 @@ "Start calls" : "Uputi pozive", "Who can start a call?" : "Tko može uputiti poziv?", "Select a conversation to add to the project" : "Odaberite razgovor koji želite dodati projektu", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Talk ne podržava trenutni preglednik. Preuzmite najnoviju inačicu preglednika Mozilla Firefox, Microsoft Edge, Google Chrome ili Apple Safari.", "Please enter the password for this call" : "Unesite zaporku za ovaj poziv", "Password required" : "Potrebna zaporka", "Cancel" : "Odustani", diff --git a/l10n/hu.js b/l10n/hu.js index cfb38a47e..81b8f0c8f 100644 --- a/l10n/hu.js +++ b/l10n/hu.js @@ -581,7 +581,6 @@ OC.L10N.register( "Link to a conversation" : "Link egy beszélgetéshez", "Select conversation" : "Válassza ki a beszélgetést", "Join a conversation or start a new one" : "Csatlakozz egy társalgásba vagy indíts egy újat", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "A Nextcloud Talk nem támogatja teljes mértékben az Ön által használt böngészőt. Kérjük, használja a Mozilla Firefox, a Microsoft Edge, a Google Chrome vagy az Apple Safari legújabb verzióját.", "Nextcloud Talk was updated, please reload the page" : "A Nextcloud Talk frissült, kérjük, töltse újra az oldalt", "Nextcloud is in maintenance mode, please reload the page" : "A Nextcloud karbantartási módban van, kérjük, töltse újra az oldalt", "Error while sharing file" : "Hiba a fájl megosztása közben", @@ -638,6 +637,7 @@ OC.L10N.register( "Start calls" : "Hívások indítása", "Who can start a call?" : "Ki kezdeményezhet hívást?", "Select a conversation to add to the project" : "Válasszon ki egy beszélgetést, amelyet hozzá kíván adni a projekthez", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "A Nextcloud Talk nem támogatja teljes mértékben az Ön által használt böngészőt. Kérjük, használja a Mozilla Firefox, a Microsoft Edge, a Google Chrome vagy az Apple Safari legújabb verzióját.", "Please enter the password for this call" : "Kérlek adj meg egy jelszót ehhez a híváshoz", "Password required" : "Jelszó szükséges", "Cancel" : "Mégse", diff --git a/l10n/hu.json b/l10n/hu.json index c1b9a58f2..642e898c3 100644 --- a/l10n/hu.json +++ b/l10n/hu.json @@ -579,7 +579,6 @@ "Link to a conversation" : "Link egy beszélgetéshez", "Select conversation" : "Válassza ki a beszélgetést", "Join a conversation or start a new one" : "Csatlakozz egy társalgásba vagy indíts egy újat", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "A Nextcloud Talk nem támogatja teljes mértékben az Ön által használt böngészőt. Kérjük, használja a Mozilla Firefox, a Microsoft Edge, a Google Chrome vagy az Apple Safari legújabb verzióját.", "Nextcloud Talk was updated, please reload the page" : "A Nextcloud Talk frissült, kérjük, töltse újra az oldalt", "Nextcloud is in maintenance mode, please reload the page" : "A Nextcloud karbantartási módban van, kérjük, töltse újra az oldalt", "Error while sharing file" : "Hiba a fájl megosztása közben", @@ -636,6 +635,7 @@ "Start calls" : "Hívások indítása", "Who can start a call?" : "Ki kezdeményezhet hívást?", "Select a conversation to add to the project" : "Válasszon ki egy beszélgetést, amelyet hozzá kíván adni a projekthez", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "A Nextcloud Talk nem támogatja teljes mértékben az Ön által használt böngészőt. Kérjük, használja a Mozilla Firefox, a Microsoft Edge, a Google Chrome vagy az Apple Safari legújabb verzióját.", "Please enter the password for this call" : "Kérlek adj meg egy jelszót ehhez a híváshoz", "Password required" : "Jelszó szükséges", "Cancel" : "Mégse", diff --git a/l10n/it.js b/l10n/it.js index f8b9cee2b..568294749 100644 --- a/l10n/it.js +++ b/l10n/it.js @@ -71,6 +71,9 @@ OC.L10N.register( "{actor} opened the conversation to registered users" : "{actor} ha aperto la conversazione agli utenti registrati", "You opened the conversation to registered users" : "Hai aperto la conversazione agli utenti registrati", "An administrator opened the conversation to registered users" : "Un amministratore ha aperto la conversazione agli utenti registrati", + "{actor} opened the conversation to registered and guest app users" : "{actor} ha aperto la conversazione agli utenti registrati e agli utenti dell'applicazione ospite", + "You opened the conversation to registered and guest app users" : "Hai aperto la conversazione agli utenti registrati e agli utenti dell'applicazione ospite", + "An administrator opened the conversation to registered and guest app users" : "Un amministratore ha aperto la conversazione agli utenti registrati e agli utenti dell'applicazione ospite", "The conversation is now open to everyone" : "La conversazione è ora aperta a chiunque", "{actor} opened the conversation to everyone" : "{actor} ha aperto la conversazione a chiunque", "You opened the conversation to everyone" : "Hai aperto la conversazione a chiunque", @@ -685,13 +688,13 @@ OC.L10N.register( "Error occurred while disallowing guests" : "Si è verificato un errore durante la disabilitazione degli ospiti", "Open conversation to registered users" : "Apri la conversazione agli utenti registrati", "This conversation will be shown in search results" : "Questa conversazione sarà mostrata nei risultati di ricerca", + "Also open to guest app users" : "Apri anche agli utenti dell'applicazione ospite", "Error occurred when opening or limiting the conversation" : "Si è verificato un errore durante l'apertura o la limitazione della conversazione", "Enabling the lobby only allows moderators to post messages." : "L'abilitazione dell'ingresso consente solo ai moderatori di pubblicare messaggi.", "Enable lobby" : "Abilita ingresso", "After the time limit the lobby will be automatically disabled." : "Dopo il limite di tempo, l'ingresso sarà disabilitato automaticamente.", "Meeting start time" : "Orario di inizio della riunione", "Start time (optional)" : "Ora iniziale (facoltativa)", - "Save meeting start time" : "Salva l'ora di inizio della riunione", "Error occurred when restricting the conversation to moderator" : "Si è verificato un errore durante la limitazione della conversazione al moderatore", "Error occurred when opening the conversation to everyone" : "Si è verificato un errore durante l'apertura della conversazione a tutti", "Start time has been updated" : "L'orario di inizio è stato aggiornato", @@ -776,6 +779,7 @@ OC.L10N.register( "You need to promote a new moderator before you can leave the conversation." : "Devi promuovere un nuovo moderatore prima di poter abbandonare la conversazione. ", "No matches" : "Nessuna corrispondenza", "Conversation list" : "Elenco delle conversazioni", + "Open conversations" : "Apri conversazioni", "Loading" : "Caricamento", "No search results" : "Nessun risultato di ricerca", "Groups" : "Gruppi", @@ -818,6 +822,8 @@ OC.L10N.register( "Sending message" : "Invio del messaggio", "Message sent" : "Messaggio inviato", "Message read by everyone who shares their reading status" : "Messaggio letto da tutti coloro che condividono il proprio stato di lettura", + "Failed to send the message. Click to try again" : "Invio del messaggio non riuscito. Fare clic per riprovare", + "You can not send messages to this conversation at the moment" : "Al momento, non puoi inviare messaggi a questa conversazione", "{stack} in {board}" : "{stack} in {board}", "Remove" : "Rimuovi", "[Unknown username]" : "[Nome utente sconosciuto]", @@ -841,6 +847,7 @@ OC.L10N.register( "Edit conversation description" : "Modifica la descrizione della conversazione", "Description" : "Descrizione", "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "La descrizione deve essere inferiore o uguale a {maxLength} caratteri. Il tuo testo attuale è lungo {charactersCount} caratteri.", + "Disable lobby" : "Disabilita l'ingresso", "moderator" : "moderatore", "guest" : "ospite", "Dial-in PIN" : "PIN di accesso", @@ -925,7 +932,7 @@ OC.L10N.register( "Select conversation" : "Seleziona conversazione", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Ti sei unito alla conversazione in un'altra finestra o dispositivo. Questo non è attualmente supportato da Nextcloud Talk, quindi questa sessione è stata chiusa.", "Join a conversation or start a new one" : "Unisciti a una conversazione o avviane una nuova", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Il browser che stai utilizzando non è completamente supportata da Nextcloud Talk. Usa l'ultima versione di Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Il browser che stai utilizzando non è completamente supportato da Nextcloud Talk. Usa l'ultima versione di Mozilla Firefox, Microsoft Edge, Google Chrome, Opera o Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk è stato aggiornato, ricarica la pagina", "Do not disturb" : "Non disturbare", "Away" : "Assente", @@ -993,6 +1000,7 @@ OC.L10N.register( "Start calls" : "Inizia chiamate", "Who can start a call?" : "Chi può iniziare una chiamata?", "Select a conversation to add to the project" : "Seleziona una conversazione da aggiungere al progetto", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Il browser che stai utilizzando non è completamente supportata da Nextcloud Talk. Usa l'ultima versione di Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.", "Please enter the password for this call" : "Digita la password per questa chiamata", "Password required" : "Password richiesta", "Cancel" : "Annulla", diff --git a/l10n/it.json b/l10n/it.json index 2f401535c..c16310879 100644 --- a/l10n/it.json +++ b/l10n/it.json @@ -69,6 +69,9 @@ "{actor} opened the conversation to registered users" : "{actor} ha aperto la conversazione agli utenti registrati", "You opened the conversation to registered users" : "Hai aperto la conversazione agli utenti registrati", "An administrator opened the conversation to registered users" : "Un amministratore ha aperto la conversazione agli utenti registrati", + "{actor} opened the conversation to registered and guest app users" : "{actor} ha aperto la conversazione agli utenti registrati e agli utenti dell'applicazione ospite", + "You opened the conversation to registered and guest app users" : "Hai aperto la conversazione agli utenti registrati e agli utenti dell'applicazione ospite", + "An administrator opened the conversation to registered and guest app users" : "Un amministratore ha aperto la conversazione agli utenti registrati e agli utenti dell'applicazione ospite", "The conversation is now open to everyone" : "La conversazione è ora aperta a chiunque", "{actor} opened the conversation to everyone" : "{actor} ha aperto la conversazione a chiunque", "You opened the conversation to everyone" : "Hai aperto la conversazione a chiunque", @@ -683,13 +686,13 @@ "Error occurred while disallowing guests" : "Si è verificato un errore durante la disabilitazione degli ospiti", "Open conversation to registered users" : "Apri la conversazione agli utenti registrati", "This conversation will be shown in search results" : "Questa conversazione sarà mostrata nei risultati di ricerca", + "Also open to guest app users" : "Apri anche agli utenti dell'applicazione ospite", "Error occurred when opening or limiting the conversation" : "Si è verificato un errore durante l'apertura o la limitazione della conversazione", "Enabling the lobby only allows moderators to post messages." : "L'abilitazione dell'ingresso consente solo ai moderatori di pubblicare messaggi.", "Enable lobby" : "Abilita ingresso", "After the time limit the lobby will be automatically disabled." : "Dopo il limite di tempo, l'ingresso sarà disabilitato automaticamente.", "Meeting start time" : "Orario di inizio della riunione", "Start time (optional)" : "Ora iniziale (facoltativa)", - "Save meeting start time" : "Salva l'ora di inizio della riunione", "Error occurred when restricting the conversation to moderator" : "Si è verificato un errore durante la limitazione della conversazione al moderatore", "Error occurred when opening the conversation to everyone" : "Si è verificato un errore durante l'apertura della conversazione a tutti", "Start time has been updated" : "L'orario di inizio è stato aggiornato", @@ -774,6 +777,7 @@ "You need to promote a new moderator before you can leave the conversation." : "Devi promuovere un nuovo moderatore prima di poter abbandonare la conversazione. ", "No matches" : "Nessuna corrispondenza", "Conversation list" : "Elenco delle conversazioni", + "Open conversations" : "Apri conversazioni", "Loading" : "Caricamento", "No search results" : "Nessun risultato di ricerca", "Groups" : "Gruppi", @@ -816,6 +820,8 @@ "Sending message" : "Invio del messaggio", "Message sent" : "Messaggio inviato", "Message read by everyone who shares their reading status" : "Messaggio letto da tutti coloro che condividono il proprio stato di lettura", + "Failed to send the message. Click to try again" : "Invio del messaggio non riuscito. Fare clic per riprovare", + "You can not send messages to this conversation at the moment" : "Al momento, non puoi inviare messaggi a questa conversazione", "{stack} in {board}" : "{stack} in {board}", "Remove" : "Rimuovi", "[Unknown username]" : "[Nome utente sconosciuto]", @@ -839,6 +845,7 @@ "Edit conversation description" : "Modifica la descrizione della conversazione", "Description" : "Descrizione", "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "La descrizione deve essere inferiore o uguale a {maxLength} caratteri. Il tuo testo attuale è lungo {charactersCount} caratteri.", + "Disable lobby" : "Disabilita l'ingresso", "moderator" : "moderatore", "guest" : "ospite", "Dial-in PIN" : "PIN di accesso", @@ -923,7 +930,7 @@ "Select conversation" : "Seleziona conversazione", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Ti sei unito alla conversazione in un'altra finestra o dispositivo. Questo non è attualmente supportato da Nextcloud Talk, quindi questa sessione è stata chiusa.", "Join a conversation or start a new one" : "Unisciti a una conversazione o avviane una nuova", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Il browser che stai utilizzando non è completamente supportata da Nextcloud Talk. Usa l'ultima versione di Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Il browser che stai utilizzando non è completamente supportato da Nextcloud Talk. Usa l'ultima versione di Mozilla Firefox, Microsoft Edge, Google Chrome, Opera o Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk è stato aggiornato, ricarica la pagina", "Do not disturb" : "Non disturbare", "Away" : "Assente", @@ -991,6 +998,7 @@ "Start calls" : "Inizia chiamate", "Who can start a call?" : "Chi può iniziare una chiamata?", "Select a conversation to add to the project" : "Seleziona una conversazione da aggiungere al progetto", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Il browser che stai utilizzando non è completamente supportata da Nextcloud Talk. Usa l'ultima versione di Mozilla Firefox, Microsoft Edge, Google Chrome o Apple Safari.", "Please enter the password for this call" : "Digita la password per questa chiamata", "Password required" : "Password richiesta", "Cancel" : "Annulla", diff --git a/l10n/ja.js b/l10n/ja.js index 19cf38248..2157ca419 100644 --- a/l10n/ja.js +++ b/l10n/ja.js @@ -703,7 +703,6 @@ OC.L10N.register( "Select conversation" : "会話を選択", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "別ウィンドウかデバイスで既に会話に参加済みです。現在、複数接続はNextcloud Talkではサポートされていないため、このセッションは閉じられます。", "Join a conversation or start a new one" : "会話に参加または開始する", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "あなたが使用しているブラウザはNextcloud Talkに完全には対応していません。最新版のMozilla Firefox、Microsoft Edge、Google Chrome、Apple Safariをご利用ください。", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talkを更新しました。ページをリロードしてください。", "Nextcloud is in maintenance mode, please reload the page" : "Nextcloud を更新しました。ページをリロードしてください。", "Error while sharing file" : "ファイルの共有中にエラーが発生しました", @@ -766,6 +765,7 @@ OC.L10N.register( "Start calls" : "通話を開始", "Who can start a call?" : "誰が通話を開始できますか?", "Select a conversation to add to the project" : "プロジェクトに追加する会話を選択", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "あなたが使用しているブラウザはNextcloud Talkに完全には対応していません。最新版のMozilla Firefox、Microsoft Edge、Google Chrome、Apple Safariをご利用ください。", "Please enter the password for this call" : "この通話のパスワードを入力してください", "Password required" : "パスワードが必要です", "Cancel" : "キャンセル", diff --git a/l10n/ja.json b/l10n/ja.json index 6a03ed16f..ebf2215d6 100644 --- a/l10n/ja.json +++ b/l10n/ja.json @@ -701,7 +701,6 @@ "Select conversation" : "会話を選択", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "別ウィンドウかデバイスで既に会話に参加済みです。現在、複数接続はNextcloud Talkではサポートされていないため、このセッションは閉じられます。", "Join a conversation or start a new one" : "会話に参加または開始する", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "あなたが使用しているブラウザはNextcloud Talkに完全には対応していません。最新版のMozilla Firefox、Microsoft Edge、Google Chrome、Apple Safariをご利用ください。", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talkを更新しました。ページをリロードしてください。", "Nextcloud is in maintenance mode, please reload the page" : "Nextcloud を更新しました。ページをリロードしてください。", "Error while sharing file" : "ファイルの共有中にエラーが発生しました", @@ -764,6 +763,7 @@ "Start calls" : "通話を開始", "Who can start a call?" : "誰が通話を開始できますか?", "Select a conversation to add to the project" : "プロジェクトに追加する会話を選択", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "あなたが使用しているブラウザはNextcloud Talkに完全には対応していません。最新版のMozilla Firefox、Microsoft Edge、Google Chrome、Apple Safariをご利用ください。", "Please enter the password for this call" : "この通話のパスワードを入力してください", "Password required" : "パスワードが必要です", "Cancel" : "キャンセル", diff --git a/l10n/ko.js b/l10n/ko.js index 135403574..fbd3e43b5 100644 --- a/l10n/ko.js +++ b/l10n/ko.js @@ -679,7 +679,6 @@ OC.L10N.register( "After the time limit the lobby will be automatically disabled." : "시간 제한이 지나면 로비가 자동으로 비활성화됩니다.", "Meeting start time" : "미팅 시작 시간", "Start time (optional)" : "시작 시간 (옵션)", - "Save meeting start time" : "미팅 시작 시간 저장", "Error occurred when restricting the conversation to moderator" : "대화를 진행자로 제한하는 동안 오류가 발생했습니다.", "Error occurred when opening the conversation to everyone" : "모든 사용자에게 대화를 여는 동안 오류가 발생했습니다.", "Start time has been updated" : "시작 시간이 업데이트 되었습니다.", @@ -910,7 +909,6 @@ OC.L10N.register( "Select conversation" : "대화 선택", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "다른 창이나 장치에서 대화에 참여했습니다. 현재 Nextcloud 토크에서 지원되지 않으므로 이 세션이 닫혔습니다.", "Join a conversation or start a new one" : "대화에 참여하거나 새 대화 시작", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "사용 중인 브라우저는 Nextcloud 토크에서 완전히 지원되지 않습니다. 최신 버전의 Mozilla Firefox, Microsoft Edge, Google Chrome 또는 Apple Safari를 사용하십시오.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud 토크가 업데이트되었습니다. 페이지를 다시 로드하십시오.", "Do not disturb" : "방해 없음", "Away" : "자리비움", @@ -978,6 +976,7 @@ OC.L10N.register( "Start calls" : "통화 시작", "Who can start a call?" : "누가 전화를 걸 수 있습니까?", "Select a conversation to add to the project" : "프로젝트에 추가할 대화 선택", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "사용 중인 브라우저는 Nextcloud 토크에서 완전히 지원되지 않습니다. 최신 버전의 Mozilla Firefox, Microsoft Edge, Google Chrome 또는 Apple Safari를 사용하십시오.", "Please enter the password for this call" : "이 통화의 암호를 입력하십시오", "Password required" : "암호가 필요함", "Cancel" : "취소", diff --git a/l10n/ko.json b/l10n/ko.json index ad1a92bcc..b8353e653 100644 --- a/l10n/ko.json +++ b/l10n/ko.json @@ -677,7 +677,6 @@ "After the time limit the lobby will be automatically disabled." : "시간 제한이 지나면 로비가 자동으로 비활성화됩니다.", "Meeting start time" : "미팅 시작 시간", "Start time (optional)" : "시작 시간 (옵션)", - "Save meeting start time" : "미팅 시작 시간 저장", "Error occurred when restricting the conversation to moderator" : "대화를 진행자로 제한하는 동안 오류가 발생했습니다.", "Error occurred when opening the conversation to everyone" : "모든 사용자에게 대화를 여는 동안 오류가 발생했습니다.", "Start time has been updated" : "시작 시간이 업데이트 되었습니다.", @@ -908,7 +907,6 @@ "Select conversation" : "대화 선택", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "다른 창이나 장치에서 대화에 참여했습니다. 현재 Nextcloud 토크에서 지원되지 않으므로 이 세션이 닫혔습니다.", "Join a conversation or start a new one" : "대화에 참여하거나 새 대화 시작", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "사용 중인 브라우저는 Nextcloud 토크에서 완전히 지원되지 않습니다. 최신 버전의 Mozilla Firefox, Microsoft Edge, Google Chrome 또는 Apple Safari를 사용하십시오.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud 토크가 업데이트되었습니다. 페이지를 다시 로드하십시오.", "Do not disturb" : "방해 없음", "Away" : "자리비움", @@ -976,6 +974,7 @@ "Start calls" : "통화 시작", "Who can start a call?" : "누가 전화를 걸 수 있습니까?", "Select a conversation to add to the project" : "프로젝트에 추가할 대화 선택", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "사용 중인 브라우저는 Nextcloud 토크에서 완전히 지원되지 않습니다. 최신 버전의 Mozilla Firefox, Microsoft Edge, Google Chrome 또는 Apple Safari를 사용하십시오.", "Please enter the password for this call" : "이 통화의 암호를 입력하십시오", "Password required" : "암호가 필요함", "Cancel" : "취소", diff --git a/l10n/lt_LT.js b/l10n/lt_LT.js index f1e018d54..49eec5880 100644 --- a/l10n/lt_LT.js +++ b/l10n/lt_LT.js @@ -603,7 +603,6 @@ OC.L10N.register( "The conversation does not exist" : "Pokalbio nėra", "Join a conversation or start a new one!" : "Prisijunkite prie pokalbio arba pradėkite naują!", "Join a conversation or start a new one" : "Prisijunkite prie pokalbio arba pradėkite naują", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Pokalbiai nepalaiko pilnai jūsų naudojamos naršyklės. Naudokite naujausią Mozilla Firefox, Microsoft Edge, Google Chrome ar Apple Safari versiją.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Pokalbiai buvo atnaujinti, įkelkite puslapį iš naujo", "Do not disturb" : "Netrukdyti", "Away" : "Atsitraukęs", @@ -657,6 +656,7 @@ OC.L10N.register( "Projects" : "Projektai", "Start calls" : "Pradeda skambučius", "Who can start a call?" : "Kas gali pradėti skambutį?", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Pokalbiai nepalaiko pilnai jūsų naudojamos naršyklės. Naudokite naujausią Mozilla Firefox, Microsoft Edge, Google Chrome ar Apple Safari versiją.", "Please enter the password for this call" : "Įveskite šio skambučio slaptažodį", "Password required" : "Reikalingas slaptažodis", "Cancel" : "Atsisakyti", diff --git a/l10n/lt_LT.json b/l10n/lt_LT.json index 682052df8..ba015a91d 100644 --- a/l10n/lt_LT.json +++ b/l10n/lt_LT.json @@ -601,7 +601,6 @@ "The conversation does not exist" : "Pokalbio nėra", "Join a conversation or start a new one!" : "Prisijunkite prie pokalbio arba pradėkite naują!", "Join a conversation or start a new one" : "Prisijunkite prie pokalbio arba pradėkite naują", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Pokalbiai nepalaiko pilnai jūsų naudojamos naršyklės. Naudokite naujausią Mozilla Firefox, Microsoft Edge, Google Chrome ar Apple Safari versiją.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Pokalbiai buvo atnaujinti, įkelkite puslapį iš naujo", "Do not disturb" : "Netrukdyti", "Away" : "Atsitraukęs", @@ -655,6 +654,7 @@ "Projects" : "Projektai", "Start calls" : "Pradeda skambučius", "Who can start a call?" : "Kas gali pradėti skambutį?", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Nextcloud Pokalbiai nepalaiko pilnai jūsų naudojamos naršyklės. Naudokite naujausią Mozilla Firefox, Microsoft Edge, Google Chrome ar Apple Safari versiją.", "Please enter the password for this call" : "Įveskite šio skambučio slaptažodį", "Password required" : "Reikalingas slaptažodis", "Cancel" : "Atsisakyti", diff --git a/l10n/nb.js b/l10n/nb.js index 0850196f4..15a11b1ad 100644 --- a/l10n/nb.js +++ b/l10n/nb.js @@ -421,7 +421,6 @@ OC.L10N.register( "Enable lobby" : "Aktiver lobby", "Meeting start time" : "Møtets starttidspunkt", "Start time (optional)" : "Starttidspunkt (valgfri)", - "Save meeting start time" : "Lagre møtets starttidspunkt", "Start time has been updated" : "Starttidspunkt har blitt oppdatert", "Lock conversation" : "Lås samtalen", "Save" : "Lagre", diff --git a/l10n/nb.json b/l10n/nb.json index e6982c52f..baecc1e8a 100644 --- a/l10n/nb.json +++ b/l10n/nb.json @@ -419,7 +419,6 @@ "Enable lobby" : "Aktiver lobby", "Meeting start time" : "Møtets starttidspunkt", "Start time (optional)" : "Starttidspunkt (valgfri)", - "Save meeting start time" : "Lagre møtets starttidspunkt", "Start time has been updated" : "Starttidspunkt har blitt oppdatert", "Lock conversation" : "Lås samtalen", "Save" : "Lagre", diff --git a/l10n/nl.js b/l10n/nl.js index 9e9d4ebc8..c8475ca73 100644 --- a/l10n/nl.js +++ b/l10n/nl.js @@ -16,34 +16,34 @@ OC.L10N.register( "Guest" : "Gast", "Welcome to Nextcloud Talk!\nIn this conversation you will be informed about new features available in Nextcloud Talk." : "Welkom bij Nextcloud Talk!\nIn dit gesprek vertellen we je over de nieuwe functies die beschikbaar zijn in Nextcloud Talk.", "New in Talk 6" : "Nieuw in Talk 6", - "- Microsoft Edge and Safari can now be used to participate in audio and video calls" : "- Microsoft Edge en Safari kunnen nu ook worden gebruikt in audio en video gesprekken", - "- One-to-one conversations are now persistent and can not be turned into group conversations by accident anymore. Also when one of the participants leaves the conversation, the conversation is not automatically deleted anymore. Only if both participants leave, the conversation is deleted from the server" : "- een-op-een gesprekken zijn nu blijvend en kunnen niet meer per ongeluk groepsgesprekken worden. Wanneer een deelnemer het gesprek verlaat, wordt het gesprek niet meer automatisch verwijderd. Alleen als beide deelnemers verdwijnen, wordt het gesprek verwijderd van de server.", - "- You can now notify all participants by posting \"@all\" into the chat" : "- Je kunt nu alle deelnemers waarschuwen door \"@all\" in de chat te plaatsen", - "- With the \"arrow-up\" key you can repost your last message" : "- Met de \"pijl-omhoog\" toets kun je je laatste bericht opnieuw plaatsen", + "- Microsoft Edge and Safari can now be used to participate in audio and video calls" : "- Microsoft Edge en Safari kunnen nu worden gebruikt om deel te nemen aan audio- en videogesprekken", + "- One-to-one conversations are now persistent and can not be turned into group conversations by accident anymore. Also when one of the participants leaves the conversation, the conversation is not automatically deleted anymore. Only if both participants leave, the conversation is deleted from the server" : "- een-op-eengesprekken zijn nu blijvend en kunnen niet meer per ongeluk in groepsgesprekken worden veranderd. Wanneer een deelnemer het gesprek verlaat, wordt het gesprek daarnaast niet meer automatisch verwijderd. Alleen als beide deelnemers vertrekken, wordt het gesprek van de server verwijderd.", + "- You can now notify all participants by posting \"@all\" into the chat" : "- Je kunt nu alle deelnemers op de hoogte stellen door \"@all\" in de chat te plaatsen", + "- With the \"arrow-up\" key you can repost your last message" : "- Met de \"pijl-omhoog\"-toets kun je je laatste bericht opnieuw plaatsen", "- Talk can now have commands, send \"/help\" as a chat message to see if your administrator configured some" : "- Talk heeft nu ook commando's: stuur \"/help\" als chatbericht om te zien of er commando's door de beheerder zijn ingesteld", - "- With projects you can create quick links between conversations, files and other items" : "- Met projecten kun je snel links creëren tussen gesprekken, bestanden en andere objecten", + "- With projects you can create quick links between conversations, files and other items" : "- Met projecten kun je snel links maken tussen gesprekken, bestanden en andere objecten", "New in Talk 7" : "Nieuw in Talk 7", - "- You can now mention guests in the chat" : "- Je kunt nu gasten waarschuwen in de chat met een mention", - "- Conversations can now have a lobby. This will allow moderators to join the chat and call already to prepare the meeting, while users and guests have to wait" : "- Gesprekken kunnen nu een lobby hebben. Dit zorgt ervoor dat moderators kunnen deelnemen aan het gesprek om het gesprek voor te bereiden, terwijl de gebruikers en gasten moeten wachten.", + "- You can now mention guests in the chat" : "- Je kunt nu gasten in de chat vernoemen met een mention", + "- Conversations can now have a lobby. This will allow moderators to join the chat and call already to prepare the meeting, while users and guests have to wait" : "- Gesprekken kunnen nu een lobby hebben. Dit stelt moderators in staat om alvast deel te nemen aan het gesprek om de meeting voor te bereiden, terwijl gebruikers en gasten moeten wachten", "New in Talk 8" : "Nieuw in Talk 8", - "- You can now directly reply to messages giving the other users more context what your message is about" : "- je kunt nu direct op berichten reageren en de andere gebruikers meer context geven over waar je bericht over gaat", + "- You can now directly reply to messages giving the other users more context what your message is about" : "- Je kunt nu direct op berichten reageren, zodat je andere gebruikers meer context kunt geven over de inhoud van je bericht", "- Searching for conversations and participants will now also filter your existing conversations, making it much easier to find previous conversations" : "- Zoeken naar gesprekken en deelnemers filtert nu ook je bestaande gesprekken, waardoor het veel gemakkelijker wordt om eerdere gesprekken te vinden", "- You can now add custom user groups to conversations when the circles app is installed" : "- Je kunt nu aangepaste gebruikersgroepen toevoegen aan gesprekken wanneer de kringen-app is geïnstalleerd", "New in Talk 9" : "Nieuw in Talk 9", "- Check out the new grid and call view" : "- Een nieuw rooster- en gespreksoverzicht", - "- You can now upload and drag'n'drop files directly from your device into the chat" : "- Je kunt nu bestanden direct naar de chat uploaden en slepen rechtstreeks vanaf je toestel", - "- Shared files are now opened directly inside the chat view with the viewer apps" : "- Gedeelde bestanden worden nu direct geopend in het chat venster met de viewer apps", + "- You can now upload and drag'n'drop files directly from your device into the chat" : "- Je kunt bestanden nu rechtstreeks vanaf je apparaat naar de chat uploaden en slepen", + "- Shared files are now opened directly inside the chat view with the viewer apps" : "- Gedeelde bestanden worden nu direct geopend in het chatvenster met de viewer-apps", "New in Talk 10" : "Nieuw in Talk 10", - "- You can now search for chats and messages in the unified search in the top bar" : "- Je kunt nu zoeken naar chats en berichten in de uniforme zoekopdracht in de bovenste balk", + "- You can now search for chats and messages in the unified search in the top bar" : "- Je kunt nu naar chats en berichten zoeken via de geïntegreerde zoekfunctie in de bovenste balk", "- Spice up your messages with emojis from the emoji picker" : "- Geef je berichten meer pit met emoji's uit de emoji-kiezer", "- You can now change your camera and microphone while being in a call" : "- Je kunt nu je camera en microfoon wijzigen terwijl je in gesprek bent", "There are currently no commands available." : "Er zijn nu geen commando's beschikbaar.", "The command does not exist" : "Het commando bestaat niet", - "An error occurred while running the command. Please ask an administrator to check the logs." : "Er trad een fout op bij het uitvoeren van het commando. Vraag een beheerder de logs te controleren.", + "An error occurred while running the command. Please ask an administrator to check the logs." : "Er is een fout opgetreden bij het uitvoeren van het commando. Vraag een beheerder de logs te controleren.", "Talk updates ✅" : "Talk updates ✅", - "{actor} created the conversation" : "{actor} creëerde gesprek", - "You created the conversation" : "Je creëerde gesprek", - "An administrator created the conversation" : "Een beheerder creëerde het gesprek", + "{actor} created the conversation" : "{actor} heeft het gesprek gemaakt", + "You created the conversation" : "Je hebt het gesprek gemaakt", + "An administrator created the conversation" : "Een beheerder heeft het gesprek gemaakt", "{actor} renamed the conversation from \"%1$s\" to \"%2$s\"" : "{actor} hernoemde gesprek van \"%1$s\" naar \"%2$s\"", "You renamed the conversation from \"%1$s\" to \"%2$s\"" : "Je hernoemde gesprek van \"%1$s\" naar \"%2$s\"", "An administrator renamed the conversation from \"%1$s\" to \"%2$s\"" : "Een beheerder hernoemde het gesprek van \"%1$s\" naar \"%2$s\"", @@ -57,110 +57,119 @@ OC.L10N.register( "You started a call" : "Je startte een gesprek", "{actor} joined the call" : "{actor} nam deel aan gesprek", "You joined the call" : "Je nam deel aan gesprek", - "{actor} left the call" : "{actor} verliet gesprek", - "You left the call" : "Je verliet gesprek", - "{actor} unlocked the conversation" : "{actor} heeft het gesprek geopend", - "You unlocked the conversation" : "Je hebt het gesprek geopend.", - "An administrator unlocked the conversation" : "Een beheerder heeft het gesprek geopend", - "{actor} locked the conversation" : "{actor} heeft het gesprek gesloten", - "You locked the conversation" : "Je hebt het gesprek gesloten", - "An administrator locked the conversation" : "Een beheerder heeft het gesprek gesloten", + "{actor} left the call" : "{actor} heeft het gesprek verlaten", + "You left the call" : "Je hebt het gesprek verlaten", + "{actor} unlocked the conversation" : "{actor} heeft het gesprek ontgrendeld", + "You unlocked the conversation" : "Je hebt het gesprek ontgrendeld.", + "An administrator unlocked the conversation" : "Een beheerder heeft het gesprek ontgrendeld", + "{actor} locked the conversation" : "{actor} heeft het gesprek vergrendeld", + "You locked the conversation" : "Je hebt het gesprek vergrendeld", + "An administrator locked the conversation" : "Een beheerder heeft het gesprek vergrendeld", + "{actor} limited the conversation to the current participants" : "{actor} heeft het gesprek beperkt tot de huidige deelnemers", + "You limited the conversation to the current participants" : "Je hebt het gesprek beperkt tot de huidige deelnemers", + "An administrator limited the conversation to the current participants" : "Een beheerder heeft het gesprek beperkt tot de huidige deelnemers", + "{actor} opened the conversation to registered users" : "{actor} heeft het gesprek geopend voor geregistreerde gebruikers", + "You opened the conversation to registered users" : "Je hebt het gesprek geopend voor geregistreerde gebruikers", + "An administrator opened the conversation to registered users" : "Een beheerder heeft het gesprek geopend voor geregistreerde gebruikers", + "{actor} opened the conversation to registered and guest app users" : "{actor} heeft het gesprek geopend voor geregistreerde gebruikers en voor gastgebruikers van de app", + "You opened the conversation to registered and guest app users" : "Je hebt het gesprek geopend voor geregistreerde gebruikers en voor gastgebruikers van de app", + "An administrator opened the conversation to registered and guest app users" : "Een beheerder heeft het gesprek geopend voor geregistreerde gebruikers en voor gastgebruikers van de app", "The conversation is now open to everyone" : "Het gesprek is nu open voor iedereen", - "{actor} opened the conversation to everyone" : "{actor} opende het gesprek voor iedereen", - "You opened the conversation to everyone" : "Je opende het gesprek voor iedereen", + "{actor} opened the conversation to everyone" : "{actor} heeft het gesprek voor iedereen geopend", + "You opened the conversation to everyone" : "Je hebt het gesprek voor iedereen geopend", "{actor} restricted the conversation to moderators" : "{actor} beperkte het gesprek tot moderators", - "You restricted the conversation to moderators" : "Je beperkte het gesprek tot moderators", - "{actor} allowed guests" : "{actor} accepteerde gasten", - "You allowed guests" : "Je accepteerde gasten", - "An administrator allowed guests" : "Een beheerder accepteerde gasten", - "{actor} disallowed guests" : "{actor} weigerde gasten", - "You disallowed guests" : "Je weigerde gasten", - "An administrator disallowed guests" : "Een beheerder weigerde gasten", - "{actor} set a password" : "{actor} stelde een wachtwoord in", - "You set a password" : "Je stelde een wachtwoord in", - "An administrator set a password" : "Een beheerder stelde een wachtwoord in", - "{actor} removed the password" : "{actor} verwijderde het wachtwoord", - "You removed the password" : "Je verwijderde het wachtwoord", - "An administrator removed the password" : "Een beheerder verwijderde het wachtwoord", - "{actor} added {user}" : "{actor} voegde {user} toe", + "You restricted the conversation to moderators" : "Je hebt het gesprek beperkt tot moderators", + "{actor} allowed guests" : "{actor} heeft gasten toegelaten", + "You allowed guests" : "Je hebt gasten toegelaten", + "An administrator allowed guests" : "Een beheerder heeft gasten toegelaten", + "{actor} disallowed guests" : "{actor} heeft gasten geweigerd", + "You disallowed guests" : "Je hebt gasten geweigerd", + "An administrator disallowed guests" : "Een beheerder heeft gasten geweigerd", + "{actor} set a password" : "{actor} heeft een wachtwoord ingesteld", + "You set a password" : "Je hebt een wachtwoord ingesteld", + "An administrator set a password" : "Een beheerder heeft een wachtwoord ingesteld", + "{actor} removed the password" : "{actor} heeft het wachtwoord verwijderd", + "You removed the password" : "Je hebt het wachtwoord verwijderd", + "An administrator removed the password" : "Een beheerder heeft het wachtwoord verwijderd", + "{actor} added {user}" : "{actor} heeft {user} toegevoegd", "You joined the conversation" : "Je neemt deel aan het gesprek", "{actor} joined the conversation" : "{actor} neemt deel aan het gesprek", - "You added {user}" : "Je voegde {user} toe", - "{actor} added you" : "{actor} voegde jou toe", - "An administrator added you" : "Een beheerder voegde jou toe", - "An administrator added {user}" : "Een beheerder voegde {user} toe", - "You left the conversation" : "Je verliet het gesprek", - "{actor} left the conversation" : "{actor} verliet het gesprek", - "{actor} removed {user}" : "{actor} verwijderde {user}", - "You removed {user}" : "Je verwijderde {user}", - "{actor} removed you" : "{actor} verwijderde jou", - "An administrator removed you" : "Een beheerder verwijderde jou", - "An administrator removed {user}" : "Een beheerder verwijderde {user}", - "{actor} promoted {user} to moderator" : "{actor} bevorderde {user} tot moderator", - "You promoted {user} to moderator" : "Je bevorderde {user} tot moderator", - "{actor} promoted you to moderator" : "{actor} bevorderde jou tot moderator", - "An administrator promoted you to moderator" : "Een beheerder bevorderde jou tot moderator", - "An administrator promoted {user} to moderator" : "Een beheerder bevorderde {user} tot moderator", - "{actor} demoted {user} from moderator" : "{actor} degradeerde {user} uit moderatorschap", - "You demoted {user} from moderator" : "Je degradeerde {user} uit moderatorschap", - "{actor} demoted you from moderator" : "{actor} degradeerde jou uit moderatorschap", - "An administrator demoted you from moderator" : "Een beheerder degradeerde jou uit moderatorschap", - "An administrator demoted {user} from moderator" : "Een beheerder degradeerde {user} uit moderatorschap", - "{actor} shared a file which is no longer available" : "{actor} deelde een bestand dat niet meer beschikbaar is", - "You shared a file which is no longer available" : "Je deelde een bestand dat niet meer beschikbaar is", + "You added {user}" : "Je hebt {user} toegevoegd", + "{actor} added you" : "{actor} heeft jou toegevoegd", + "An administrator added you" : "Een beheerder heeft jou toegevoegd", + "An administrator added {user}" : "Een beheerder heeft {user} toegevoegd", + "You left the conversation" : "Je hebt het gesprek verlaten", + "{actor} left the conversation" : "{actor} heeft het gesprek verlaten", + "{actor} removed {user}" : "{actor} heeft {user} verwijderd", + "You removed {user}" : "Je hebt {user} verwijderd", + "{actor} removed you" : "{actor} heeft jou verwijderd", + "An administrator removed you" : "Een beheerder heeft jou verwijderd", + "An administrator removed {user}" : "Een beheerder heeft {user} verwijderd", + "{actor} promoted {user} to moderator" : "{actor} heeft {user} bevorderd tot moderator", + "You promoted {user} to moderator" : "Je hebt {user} bevorderd tot moderator", + "{actor} promoted you to moderator" : "{actor} heeft jou tot moderator bevorderd", + "An administrator promoted you to moderator" : "Een beheerder heeft jou tot moderator bevorderd", + "An administrator promoted {user} to moderator" : "Een beheerder heeft {user} tot moderator bevorderd", + "{actor} demoted {user} from moderator" : "{actor} heeft {user} gedegradeerd als moderator", + "You demoted {user} from moderator" : "Je hebt {user} gedegradeerd als moderator", + "{actor} demoted you from moderator" : "{actor} heeft jou uit gedegradeerd als moderator", + "An administrator demoted you from moderator" : "Een beheerder heeft jou gedegradeerd als moderator", + "An administrator demoted {user} from moderator" : "Een beheerder heeft {user} gedegradeerd als moderator", + "{actor} shared a file which is no longer available" : "{actor} heeft een bestand gedeeld dat niet meer beschikbaar is", + "You shared a file which is no longer available" : "Je hebt een bestand gedeeld dat niet meer beschikbaar is", "{actor} set up Matterbridge to synchronize this conversation with other chats." : "{actor} heeft Matterbridge opgezet om deze conversatie te synchroniseren met andere chats.", "You set up Matterbridge to synchronize this conversation with other chats." : "Je hebt Matterbridge opgezet om deze conversatie te synchroniseren met andere chats.", - "{actor} updated the Matterbridge configuration." : "{actor} heeft de Matterbridge configuratie aangepast.", - "You updated the Matterbridge configuration." : "Je hebt de Matterbridge configuratie aangepast.", - "{actor} removed the Matterbridge configuration." : "{actor} heeft de Matterbridge configuratie verwijderd.", - "You removed the Matterbridge configuration." : "Je hebt de Matterbridge configuratie verwijderd.", - "{actor} started Matterbridge." : "{actor} startteMatterbridge.", - "You started Matterbridge." : "Je startte Matterbridge.", - "{actor} stopped Matterbridge." : "{actor} stopte Matterbridge.", - "You stopped Matterbridge." : "Je stopte Matterbridge.", + "{actor} updated the Matterbridge configuration." : "{actor} heeft de Matterbridge-configuratie aangepast.", + "You updated the Matterbridge configuration." : "Je hebt de Matterbridge-configuratie aangepast.", + "{actor} removed the Matterbridge configuration." : "{actor} heeft de Matterbridge-configuratie verwijderd.", + "You removed the Matterbridge configuration." : "Je hebt de Matterbridge-configuratie verwijderd.", + "{actor} started Matterbridge." : "{actor} heeft Matterbridge gestart.", + "You started Matterbridge." : "Je hebt Matterbridge gestart.", + "{actor} stopped Matterbridge." : "{actor} heeft Matterbridge gestopt.", + "You stopped Matterbridge." : "Je hebt Matterbridge gestopt.", "%s (guest)" : "%s (gast)", "_Call with %n guest (Duration {duration})_::_Call with %n guests (Duration {duration})_" : ["Gesprek met %n gast (Duur {duration})","Gesprek met%n gasten (Duur {duration})"], "Call with {user1} and {user2} (Duration {duration})" : "Gesprek met {user1} en {user2} (Duur {duration})", "Call with {user1}, {user2} and {user3} (Duration {duration})" : "Gesprek met {user1}, {user2} en {user3} (Duur {duration})", "Call with {user1}, {user2}, {user3} and {user4} (Duration {duration})" : "Gesprek met {user1}, {user2}, {user3} en {user4} (Duur {duration})", "Call with {user1}, {user2}, {user3}, {user4} and {user5} (Duration {duration})" : "Gesprek met {user1}, {user2}, {user3}, {user4} en {user5} (Duur {duration})", - "Talk to %s" : "Spreken met %s", + "Talk to %s" : "Spreek met %s", "File is not shared, or shared but not with the user" : "Bestand is niet gedeeld, of wel gedeeld maar niet met de gebruiker", "No account available to delete." : "Geen account beschikbaar om te verwijderen.", - "Talk mentions" : "Talk noemt", + "Talk mentions" : "Talk-vermeldingen", "Write to conversation" : "Schrijf naar gesprek", "Writes event information into a conversation of your choice" : "Schrijft gebeurtenisinformatie in een gesprek naar keuze", "%s invited you to a conversation." : "%s heeft je uitgenodigd voor een gesprek", - "You were invited to a conversation." : "Je werd uitgenodigd voor een gesprek.", + "You were invited to a conversation." : "Je bent uitgenodigd voor een gesprek.", "Conversation invitation" : "Gespreksuitnodiging", - "Click the button below to join." : "Klik op de button hieronder om mee te doen.", - "Join »%s«" : "Medoen aan \"%s\"", - "You can also dial-in via phone with the following details" : "Je kunt ook met de telefoon inbellen met deze informatie", - "Dial-in information" : "Inbel-informatie", - "Meeting ID" : "Meeting ID", - "Your PIN" : "Je PIN", - "Password request: %s" : "Wachtwoord aanvraag: %s", + "Click the button below to join." : "Klik op de button hieronder om deel te nemen.", + "Join »%s«" : "Deelnemen aan \"%s\"", + "You can also dial-in via phone with the following details" : "Je kunt ook via telefoon inbellen met behulp van deze informatie", + "Dial-in information" : "Inbelinformatie", + "Meeting ID" : "Meeting-ID", + "Your PIN" : "Jouw PIN", + "Password request: %s" : "Wachtwoordverzoek: %s", "Private conversation" : "Privégesprek", "Deleted user (%s)" : "Verwijderde gebruiker (%s)", "{user} in {call}" : "{user} in {call}", "Deleted user in {call}" : "Gebruiker verwijderd in {call}", "{guest} (guest) in {call}" : "{guest} (gast) in {call}", "Guest in {call}" : "Gast in {call}", - "{user} sent you a private message" : "{user} stuurde je een privébericht", - "{user} sent a message in conversation {call}" : "{user} plaatste een reactie in gesprek {call}", - "A deleted user sent a message in conversation {call}" : "Een verwijderde gebruiker plaatste een reactie in gesprek {call}", - "{guest} (guest) sent a message in conversation {call}" : "{guest} (gast) verstuurde een bericht in gesprek {call}", - "A guest sent a message in conversation {call}" : "Een gast plaatste een reactie in gesprek {call}", - "{user} replied to your private message" : "{user} reageerde op jouw privébericht", - "{user} replied to your message in conversation {call}" : "{user} reageerde op jouw bericht in gesprek {call}", - "A deleted user replied to your message in conversation {call}" : "Een verwijderde gebruiker reageerde op jouw bericht in gesprek {call}", - "{guest} (guest) replied to your message in conversation {call}" : "{guest} (gast) antwoordde op jouw bericht in gesprek {call}", - "A guest replied to your message in conversation {call}" : "Een gast reageerde op jouw bericht in gesprek {call}", - "{user} mentioned you in a private conversation" : "{user} vermeldde je in een besloten gesprek", - "{user} mentioned you in conversation {call}" : "{user} vermeldde je in gesprek {call}", - "A deleted user mentioned you in conversation {call}" : "Een verwijderde gebruiker vermeldde je in gesprek {call}", - "{guest} (guest) mentioned you in conversation {call}" : "{guest} (gast) vermeldde jou in gesprek {call}", - "A guest mentioned you in conversation {call}" : "Een gast vermeldde je in gesprek {call}", + "{user} sent you a private message" : "{user} heeft je een privébericht gestuurd", + "{user} sent a message in conversation {call}" : "{user} heeft een bericht gestuurd in gesprek {call}", + "A deleted user sent a message in conversation {call}" : "Een verwijderde gebruiker heeft een bericht gestuurd in gesprek {call}", + "{guest} (guest) sent a message in conversation {call}" : "{guest} (gast) heeft een bericht gestuurd in gesprek {call}", + "A guest sent a message in conversation {call}" : "Een gast heeft een bericht gestuurd in gesprek {call}", + "{user} replied to your private message" : "{user} heeft op jouw privébericht gereageerd", + "{user} replied to your message in conversation {call}" : "{user} heeft op jouw bericht gereageerd in gesprek {call}", + "A deleted user replied to your message in conversation {call}" : "Een verwijderde gebruiker heeft op jouw bericht gereageerd in gesprek {call}", + "{guest} (guest) replied to your message in conversation {call}" : "{guest} (gast) heeft op jouw bericht gereageerd in gesprek {call}", + "A guest replied to your message in conversation {call}" : "Een gast heeft op jouw bericht gereageerd in gesprek {call}", + "{user} mentioned you in a private conversation" : "{user} heeft jou in een privégesprek vermeld", + "{user} mentioned you in conversation {call}" : "{user} heeft jou in vermeld in gesprek {call}", + "A deleted user mentioned you in conversation {call}" : "Een verwijderde gebruiker heeft jou vermeld in gesprek {call}", + "{guest} (guest) mentioned you in conversation {call}" : "{guest} (gast) heeft jou vermeld in gesprek {call}", + "A guest mentioned you in conversation {call}" : "Een gast heeft jou vermeld in gesprek {call}", "View chat" : "Bekijk chat", "{user} invited you to a private conversation" : "{user} heeft je uitgenodigd voor een privégesprek", "Join call" : "Deelnemen aan gesprek", @@ -168,47 +177,47 @@ OC.L10N.register( "Answer call" : "Oproep beantwoorden", "{user} would like to talk with you" : "{user} wil met je spreken", "Call back" : "Terugbellen", - "You missed a call from {user}" : "Je miste een gesprek van {user}", + "You missed a call from {user}" : "Je hebt een gesprek gemist van {user}", "A group call has started in {call}" : "Groepsgesprek is begonnen in {call}", - "You missed a group call in {call}" : "Je miste een groepsgesprek in {call}", - "{email} is requesting the password to access {file}" : "{email} vraagt het wachtwoord voor het benaderen van {file}", - "{email} tried to request the password to access {file}" : "{email} probeerde het wachtwoord op te vragen voor het openen van bestand {file}", - "Someone is requesting the password to access {file}" : "Iemand vraagt het wachtwoord voor het benadeen van bestand {file}", - "Someone tried to request the password to access {file}" : "Iemand probeerde het wachtwoord op te vragen voor het openen van bestand {file}", - "Open settings" : "Openen instellingen", + "You missed a group call in {call}" : "Je hebt een groepsgesprek gemist in {call}", + "{email} is requesting the password to access {file}" : "{email} verzoekt het wachtwoord voor toegang tot {file}", + "{email} tried to request the password to access {file}" : "{email} heeft geprobeerd het wachtwoord op te vragen voor toegang tot {file}", + "Someone is requesting the password to access {file}" : "Iemand verzoekt het wachtwoord voor toegang tot {file}", + "Someone tried to request the password to access {file}" : "Iemand heeft geprobeerd het wachtwoord op te vragen voor toegang tot {file}", + "Open settings" : "Instellingen openen", "The hosted signaling server is now configured and will be used." : "De gehoste signaleringsserver is nu geconfigureerd en zal worden gebruikt.", "The hosted signaling server was removed and will not be used anymore." : "De gehoste signaleringsserver is verwijderd en zal niet meer worden gebruikt.", - "The hosted signaling server account has changed the status from \"{oldstatus}\" to \"{newstatus}\"." : "Het gehoste signaleringsserveraccount heeft de status gewijzigd van \"{oldstatus}\" in \"{newstatus}\".", + "The hosted signaling server account has changed the status from \"{oldstatus}\" to \"{newstatus}\"." : "Het account van gehoste signaleringsserver heeft de status gewijzigd van \"{oldstatus}\" naar \"{newstatus}\".", "Conversations" : "Gesprekken", "Messages" : "Berichten", "{user}" : "{user}", "Messages in {conversation}" : "Berichten in {conversation}", "{user} in {conversation}" : "{user} in {conversation}", "Messages in other conversations" : "Berichten in andere gesprekken", - "Failed to request trial because the trial server is unreachable. Please try again later." : "Het aanvragen van een proefversie is mislukt omdat de proefserver niet bereikbaar is. Probeer het later opnieuw.", - "There is a problem with the authentication of this instance. Maybe it is not reachable from the outside to verify it's URL." : "Er is een probleem met authenticatie van deze server. Misschien is het niet van om de URL van buitenaf te bereiken.", - "Something unexpected happened." : "Er gebeurde iets onverwachts.", + "Failed to request trial because the trial server is unreachable. Please try again later." : "Het aanvragen van een proefversie is mislukt, omdat de proefserver niet bereikbaar is. Probeer het later opnieuw.", + "There is a problem with the authentication of this instance. Maybe it is not reachable from the outside to verify it's URL." : "Er is een probleem met authenticatie van deze instantie. Misschien is deze niet van buitenaf bereikbaar om de URL te verifiëren.", + "Something unexpected happened." : "Er is iets onverwachts gebeurd.", "The URL is invalid." : "De URL is ongeldig.", - "An HTTPS URL is required." : "Een URL van het type HTTPS is vereist.", + "An HTTPS URL is required." : "Een HTTPS-URL is vereist.", "The email address is invalid." : "Het e-mailadres is ongeldig.", "The language is invalid." : "De taal is ongeldig.", "The country is invalid." : "Het land is ongeldig.", - "There is a problem with the request of the trial. Please check your logs for further information." : "Er is een probleem met het verzoek om het proces. Controleer uw logboeken voor meer informatie.", - "Too many requests are send from your servers address. Please try again later." : "Er worden te veel verzoeken verzonden vanaf uw serveradres. Probeer het later opnieuw.", + "There is a problem with the request of the trial. Please check your logs for further information." : "Er is een probleem met de aanvraag van de proefversie. Raadpleeg de logs voor meer informatie.", + "Too many requests are send from your servers address. Please try again later." : "Er worden te veel verzoeken verzonden vanaf het adres van je server. Probeer het later opnieuw.", "There is already a trial registered for this Nextcloud instance." : "Er is al een proefversie geregistreerd voor deze Nextcloud-instantie.", - "Something unexpected happened. Please try again later." : "Er gebeurde iets onverwachts. Probeer het later opnieuw aub.", - "Failed to request trial because the trial server behaved wrongly. Please try again later." : "Het aanvragen van een proefversie is mislukt omdat de proefserver zich verkeerd heeft gedragen. Probeer het later opnieuw.", - "Trial requested but failed to get account information. Please check back later." : "Proefperiode aangevraagd, maar kreeg geen accountinformatie. Kom later terug.", - "There is a problem with the authentication of this request. Maybe it is not reachable from the outside to verify it's URL." : "Er is een probleem bij authenticatie van de opvraging. Misschien is het niet mogelijk om de URL van buitenaf te benaderen.", - "Failed to fetch account information because the trial server behaved wrongly. Please check back later." : "Het ophalen van accountgegevens is mislukt omdat de proefserver zich verkeerd heeft gedragen. Kom later terug.", - "There is a problem with fetching the account information. Please check your logs for further information." : "Er is een probleem met het ophalen van de accountgegevens. Controleer uw logboeken voor meer informatie.", - "There is no such account registered." : "Er is niet zo'n account geregistreerd.", - "Failed to fetch account information because the trial server is unreachable. Please check back later." : "Kan accountgegevens niet ophalen omdat de proefserver niet bereikbaar is. Kom later terug.", - "Deleting the hosted signaling server account failed. Please check back later." : "Het verwijderen van het gehoste signaleringsserveraccount is mislukt. Kom later terug.", - "Failed to delete the account because the trial server behaved wrongly. Please check back later." : "Het account kan niet worden verwijderd omdat de proefserver zich verkeerd heeft gedragen. Kom later terug.", - "There is a problem with deleting the account. Please check your logs for further information." : "Er is een probleem met het verwijderen van het account. Controleer je logboeken voor meer informatie.", + "Something unexpected happened. Please try again later." : "Er is iets onverwachts gebeurd. Probeer het later opnieuw.", + "Failed to request trial because the trial server behaved wrongly. Please try again later." : "Het aanvragen van een proefversie is mislukt, vanwege onjuist gedrag van de proefserver. Probeer het later opnieuw.", + "Trial requested but failed to get account information. Please check back later." : "De proefperiode is aangevraagd, maar het ophalen van accountinformatie is mislukt. Controleer het later nog eens.", + "There is a problem with the authentication of this request. Maybe it is not reachable from the outside to verify it's URL." : "Er is een probleem met de authenticatie van dit verzoek. Misschien is het niet van buitenaf bereikbaar om de URL te verifiëren.", + "Failed to fetch account information because the trial server behaved wrongly. Please check back later." : "Het ophalen van accountinformatie is mislukt, vanwege onjuist gedrag van de proefserver. Controleer het later nog eens.", + "There is a problem with fetching the account information. Please check your logs for further information." : "Er is een probleem met het ophalen van de accountgegevens. Controleer de logs voor meer informatie.", + "There is no such account registered." : "Dit account is niet geregistreerd.", + "Failed to fetch account information because the trial server is unreachable. Please check back later." : "Het ophalen van accountinformatie is mislukt, omdat de proefserver niet bereikbaar is. Controleer het later opnieuw.", + "Deleting the hosted signaling server account failed. Please check back later." : "Het verwijderd van het account van de gehoste signaleringsserver is mislukt. Controleer het later opnieuw.", + "Failed to delete the account because the trial server behaved wrongly. Please check back later." : "Het account kan niet worden verwijderd, vanwege onjuist gedrag van de proefserver. Controleer het later opnieuw.", + "There is a problem with deleting the account. Please check your logs for further information." : "Er is een probleem met het verwijderen van het account. Controleer de logboeken voor meer informatie.", "Too many requests are sent from your servers address. Please try again later." : "Er worden te veel verzoeken verzonden vanaf je serveradres. Probeer het later opnieuw.", - "Failed to delete the account because the trial server is unreachable. Please check back later." : "Het account kan niet worden verwijderd omdat de proefserver niet bereikbaar is. Kom later terug.", + "Failed to delete the account because the trial server is unreachable. Please check back later." : "Het account kan niet worden verwijderd omdat de proefserver niet bereikbaar is. Controleer het later opnieuw.", "Andorra" : "Andorra", "United Arab Emirates" : "Verenigde Arabische Emiraten", "Afghanistan" : "Afghanistan", @@ -524,7 +533,7 @@ OC.L10N.register( "Request signaling server trial" : "Verzoek proefperiode signaleringsserver", "You can see the current status of your hosted signaling server in the following table." : "U kunt de huidige status van uw gehoste signaleringsserver in de volgende tabel zien.", "Status" : "Status", - "Created at" : "Aangemaakt op", + "Created at" : "Gemaakt op", "Expires at" : "Vervalt op", "Limits" : "Limieten", "Delete the signaling server account" : "Verwijder het signaleringsserveraccount", @@ -677,20 +686,23 @@ OC.L10N.register( "Error occurred while saving conversation password" : "Er trad een fout op bij het opslaan van het gesprekswachtwoord ", "Error occurred while allowing guests" : "Fout bij toelaten gasten", "Error occurred while disallowing guests" : "Fout bij toegang ontzeggen voor gasten", + "Open conversation to registered users" : "Open gesprek voor geregistreerde gebruikers", + "This conversation will be shown in search results" : "Dit gesprek zal worden weergegeven in de zoekresultaten", + "Also open to guest app users" : "Ook open voor gastgebruikers van de app", + "Error occurred when opening or limiting the conversation" : "Er is een fout opgetreden tijdens het openen of beperken van het gesprek", "Enabling the lobby only allows moderators to post messages." : "Door de lobby in te schakelen, kunnen alleen moderators berichten plaatsen.", "Enable lobby" : "Lobby inschakelen", "After the time limit the lobby will be automatically disabled." : "Na de tijdslimiet wordt de lobby automatisch uitgeschakeld.", "Meeting start time" : "Meeting starttijd", "Start time (optional)" : "Begintijd (optioneel)", - "Save meeting start time" : "Opslaan meeting starttijd", "Error occurred when restricting the conversation to moderator" : "Er is een fout opgetreden bij het beperken van het gesprek tot moderator", "Error occurred when opening the conversation to everyone" : "Er is een fout opgetreden bij het openen van het gesprek voor iedereen", "Start time has been updated" : "Starttijd bijgewerkt", "Error occurred while updating start time" : "Fout bij bijwerken starttijd", "Locking the conversation prevents anyone to post messages or start calls." : "Door het gesprek te vergrendelen, kan niemand berichten plaatsen of gesprekken starten.", - "Lock conversation" : "Vergrendelen gesprek", - "Error occurred when locking the conversation" : "Fout bij vergrendelen gesprek", - "Error occurred when unlocking the conversation" : "Fout bij ontgrendelen gesprek", + "Lock conversation" : "Gesprek vergrendelen", + "Error occurred when locking the conversation" : "Er is een fout opgetreden bij het vergrendelen van het gesprek", + "Error occurred when unlocking the conversation" : "Er is een fout opgetreden bij het ontgrendelen van het gesprek", "Save" : "Opslaan", "Edit" : "Bewerk", "More information" : "Meer informatie", @@ -767,6 +779,7 @@ OC.L10N.register( "You need to promote a new moderator before you can leave the conversation." : "Je moet een nieuwe moderator promoveren voordat je het gesprek kunt verlaten.", "No matches" : "Geen overeenkomsten", "Conversation list" : "Gesprekkenlijst", + "Open conversations" : "Open gesprekken", "Loading" : "Laden", "No search results" : "Geen zoekresultaten", "Groups" : "Groepen", @@ -782,10 +795,10 @@ OC.L10N.register( "All set" : "Alles ingesteld", "Error while creating the conversation" : "Fout bij creëren gesprek", "Link copied to the clipboard!" : "Link gekopieerd naar het klembord!", - "Create a new group conversation" : "Creëer een nieuw groepsgesprek", + "Create a new group conversation" : "Maak een nieuw groepsgesprek", "Password protect" : "Wachtwoord beveiligen", "Add participants" : "Deelnemers toevoegen", - "Create conversation" : "Creëer gesprek", + "Create conversation" : "Maak gesprek", "Close" : "Sluiten", "Choose a password" : "Kies een wachtwoord", "Search participants" : "Zoek deelnemers", @@ -916,7 +929,7 @@ OC.L10N.register( "Select conversation" : "Selecteer een gesprek", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Je nam deel aan het gesprek in een ander venster of apparaat. Dit wordt momenteel niet ondersteund door Nextcloud Talk, dus deze sessie is gesloten.", "Join a conversation or start a new one" : "Doe mee met een discussie, of start een nieuwe", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "De browser die je gebruikt, wordt niet volledig ondersteund door Nextcloud Talk. Gebruik de nieuwste versie van Mozilla Firefox, Microsoft Edge, Google Chrome of Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "De browser die je gebruikt, wordt niet volledig ondersteund door Nextcloud Talk. Gebruik alsjeblieft de laatste versie van Mozilla Firefox, Microsoft Edge, Google Chrome, Opera of Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk is bijgewerkt, herlaad de pagina", "Do not disturb" : "Niet storen", "Away" : "Afwezig", @@ -984,6 +997,7 @@ OC.L10N.register( "Start calls" : "Begin gesprekken", "Who can start a call?" : "Wie kan een gesprek starten?", "Select a conversation to add to the project" : "Selecteer een gesprek om toe te voegen aan het project", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "De browser die je gebruikt, wordt niet volledig ondersteund door Nextcloud Talk. Gebruik de nieuwste versie van Mozilla Firefox, Microsoft Edge, Google Chrome of Apple Safari.", "Please enter the password for this call" : "Voer het wachtwoord in voor dit gesprek", "Password required" : "Wachtwoord vereist", "Cancel" : "Annuleren", diff --git a/l10n/nl.json b/l10n/nl.json index c0dcf7924..a6d08918c 100644 --- a/l10n/nl.json +++ b/l10n/nl.json @@ -14,34 +14,34 @@ "Guest" : "Gast", "Welcome to Nextcloud Talk!\nIn this conversation you will be informed about new features available in Nextcloud Talk." : "Welkom bij Nextcloud Talk!\nIn dit gesprek vertellen we je over de nieuwe functies die beschikbaar zijn in Nextcloud Talk.", "New in Talk 6" : "Nieuw in Talk 6", - "- Microsoft Edge and Safari can now be used to participate in audio and video calls" : "- Microsoft Edge en Safari kunnen nu ook worden gebruikt in audio en video gesprekken", - "- One-to-one conversations are now persistent and can not be turned into group conversations by accident anymore. Also when one of the participants leaves the conversation, the conversation is not automatically deleted anymore. Only if both participants leave, the conversation is deleted from the server" : "- een-op-een gesprekken zijn nu blijvend en kunnen niet meer per ongeluk groepsgesprekken worden. Wanneer een deelnemer het gesprek verlaat, wordt het gesprek niet meer automatisch verwijderd. Alleen als beide deelnemers verdwijnen, wordt het gesprek verwijderd van de server.", - "- You can now notify all participants by posting \"@all\" into the chat" : "- Je kunt nu alle deelnemers waarschuwen door \"@all\" in de chat te plaatsen", - "- With the \"arrow-up\" key you can repost your last message" : "- Met de \"pijl-omhoog\" toets kun je je laatste bericht opnieuw plaatsen", + "- Microsoft Edge and Safari can now be used to participate in audio and video calls" : "- Microsoft Edge en Safari kunnen nu worden gebruikt om deel te nemen aan audio- en videogesprekken", + "- One-to-one conversations are now persistent and can not be turned into group conversations by accident anymore. Also when one of the participants leaves the conversation, the conversation is not automatically deleted anymore. Only if both participants leave, the conversation is deleted from the server" : "- een-op-eengesprekken zijn nu blijvend en kunnen niet meer per ongeluk in groepsgesprekken worden veranderd. Wanneer een deelnemer het gesprek verlaat, wordt het gesprek daarnaast niet meer automatisch verwijderd. Alleen als beide deelnemers vertrekken, wordt het gesprek van de server verwijderd.", + "- You can now notify all participants by posting \"@all\" into the chat" : "- Je kunt nu alle deelnemers op de hoogte stellen door \"@all\" in de chat te plaatsen", + "- With the \"arrow-up\" key you can repost your last message" : "- Met de \"pijl-omhoog\"-toets kun je je laatste bericht opnieuw plaatsen", "- Talk can now have commands, send \"/help\" as a chat message to see if your administrator configured some" : "- Talk heeft nu ook commando's: stuur \"/help\" als chatbericht om te zien of er commando's door de beheerder zijn ingesteld", - "- With projects you can create quick links between conversations, files and other items" : "- Met projecten kun je snel links creëren tussen gesprekken, bestanden en andere objecten", + "- With projects you can create quick links between conversations, files and other items" : "- Met projecten kun je snel links maken tussen gesprekken, bestanden en andere objecten", "New in Talk 7" : "Nieuw in Talk 7", - "- You can now mention guests in the chat" : "- Je kunt nu gasten waarschuwen in de chat met een mention", - "- Conversations can now have a lobby. This will allow moderators to join the chat and call already to prepare the meeting, while users and guests have to wait" : "- Gesprekken kunnen nu een lobby hebben. Dit zorgt ervoor dat moderators kunnen deelnemen aan het gesprek om het gesprek voor te bereiden, terwijl de gebruikers en gasten moeten wachten.", + "- You can now mention guests in the chat" : "- Je kunt nu gasten in de chat vernoemen met een mention", + "- Conversations can now have a lobby. This will allow moderators to join the chat and call already to prepare the meeting, while users and guests have to wait" : "- Gesprekken kunnen nu een lobby hebben. Dit stelt moderators in staat om alvast deel te nemen aan het gesprek om de meeting voor te bereiden, terwijl gebruikers en gasten moeten wachten", "New in Talk 8" : "Nieuw in Talk 8", - "- You can now directly reply to messages giving the other users more context what your message is about" : "- je kunt nu direct op berichten reageren en de andere gebruikers meer context geven over waar je bericht over gaat", + "- You can now directly reply to messages giving the other users more context what your message is about" : "- Je kunt nu direct op berichten reageren, zodat je andere gebruikers meer context kunt geven over de inhoud van je bericht", "- Searching for conversations and participants will now also filter your existing conversations, making it much easier to find previous conversations" : "- Zoeken naar gesprekken en deelnemers filtert nu ook je bestaande gesprekken, waardoor het veel gemakkelijker wordt om eerdere gesprekken te vinden", "- You can now add custom user groups to conversations when the circles app is installed" : "- Je kunt nu aangepaste gebruikersgroepen toevoegen aan gesprekken wanneer de kringen-app is geïnstalleerd", "New in Talk 9" : "Nieuw in Talk 9", "- Check out the new grid and call view" : "- Een nieuw rooster- en gespreksoverzicht", - "- You can now upload and drag'n'drop files directly from your device into the chat" : "- Je kunt nu bestanden direct naar de chat uploaden en slepen rechtstreeks vanaf je toestel", - "- Shared files are now opened directly inside the chat view with the viewer apps" : "- Gedeelde bestanden worden nu direct geopend in het chat venster met de viewer apps", + "- You can now upload and drag'n'drop files directly from your device into the chat" : "- Je kunt bestanden nu rechtstreeks vanaf je apparaat naar de chat uploaden en slepen", + "- Shared files are now opened directly inside the chat view with the viewer apps" : "- Gedeelde bestanden worden nu direct geopend in het chatvenster met de viewer-apps", "New in Talk 10" : "Nieuw in Talk 10", - "- You can now search for chats and messages in the unified search in the top bar" : "- Je kunt nu zoeken naar chats en berichten in de uniforme zoekopdracht in de bovenste balk", + "- You can now search for chats and messages in the unified search in the top bar" : "- Je kunt nu naar chats en berichten zoeken via de geïntegreerde zoekfunctie in de bovenste balk", "- Spice up your messages with emojis from the emoji picker" : "- Geef je berichten meer pit met emoji's uit de emoji-kiezer", "- You can now change your camera and microphone while being in a call" : "- Je kunt nu je camera en microfoon wijzigen terwijl je in gesprek bent", "There are currently no commands available." : "Er zijn nu geen commando's beschikbaar.", "The command does not exist" : "Het commando bestaat niet", - "An error occurred while running the command. Please ask an administrator to check the logs." : "Er trad een fout op bij het uitvoeren van het commando. Vraag een beheerder de logs te controleren.", + "An error occurred while running the command. Please ask an administrator to check the logs." : "Er is een fout opgetreden bij het uitvoeren van het commando. Vraag een beheerder de logs te controleren.", "Talk updates ✅" : "Talk updates ✅", - "{actor} created the conversation" : "{actor} creëerde gesprek", - "You created the conversation" : "Je creëerde gesprek", - "An administrator created the conversation" : "Een beheerder creëerde het gesprek", + "{actor} created the conversation" : "{actor} heeft het gesprek gemaakt", + "You created the conversation" : "Je hebt het gesprek gemaakt", + "An administrator created the conversation" : "Een beheerder heeft het gesprek gemaakt", "{actor} renamed the conversation from \"%1$s\" to \"%2$s\"" : "{actor} hernoemde gesprek van \"%1$s\" naar \"%2$s\"", "You renamed the conversation from \"%1$s\" to \"%2$s\"" : "Je hernoemde gesprek van \"%1$s\" naar \"%2$s\"", "An administrator renamed the conversation from \"%1$s\" to \"%2$s\"" : "Een beheerder hernoemde het gesprek van \"%1$s\" naar \"%2$s\"", @@ -55,110 +55,119 @@ "You started a call" : "Je startte een gesprek", "{actor} joined the call" : "{actor} nam deel aan gesprek", "You joined the call" : "Je nam deel aan gesprek", - "{actor} left the call" : "{actor} verliet gesprek", - "You left the call" : "Je verliet gesprek", - "{actor} unlocked the conversation" : "{actor} heeft het gesprek geopend", - "You unlocked the conversation" : "Je hebt het gesprek geopend.", - "An administrator unlocked the conversation" : "Een beheerder heeft het gesprek geopend", - "{actor} locked the conversation" : "{actor} heeft het gesprek gesloten", - "You locked the conversation" : "Je hebt het gesprek gesloten", - "An administrator locked the conversation" : "Een beheerder heeft het gesprek gesloten", + "{actor} left the call" : "{actor} heeft het gesprek verlaten", + "You left the call" : "Je hebt het gesprek verlaten", + "{actor} unlocked the conversation" : "{actor} heeft het gesprek ontgrendeld", + "You unlocked the conversation" : "Je hebt het gesprek ontgrendeld.", + "An administrator unlocked the conversation" : "Een beheerder heeft het gesprek ontgrendeld", + "{actor} locked the conversation" : "{actor} heeft het gesprek vergrendeld", + "You locked the conversation" : "Je hebt het gesprek vergrendeld", + "An administrator locked the conversation" : "Een beheerder heeft het gesprek vergrendeld", + "{actor} limited the conversation to the current participants" : "{actor} heeft het gesprek beperkt tot de huidige deelnemers", + "You limited the conversation to the current participants" : "Je hebt het gesprek beperkt tot de huidige deelnemers", + "An administrator limited the conversation to the current participants" : "Een beheerder heeft het gesprek beperkt tot de huidige deelnemers", + "{actor} opened the conversation to registered users" : "{actor} heeft het gesprek geopend voor geregistreerde gebruikers", + "You opened the conversation to registered users" : "Je hebt het gesprek geopend voor geregistreerde gebruikers", + "An administrator opened the conversation to registered users" : "Een beheerder heeft het gesprek geopend voor geregistreerde gebruikers", + "{actor} opened the conversation to registered and guest app users" : "{actor} heeft het gesprek geopend voor geregistreerde gebruikers en voor gastgebruikers van de app", + "You opened the conversation to registered and guest app users" : "Je hebt het gesprek geopend voor geregistreerde gebruikers en voor gastgebruikers van de app", + "An administrator opened the conversation to registered and guest app users" : "Een beheerder heeft het gesprek geopend voor geregistreerde gebruikers en voor gastgebruikers van de app", "The conversation is now open to everyone" : "Het gesprek is nu open voor iedereen", - "{actor} opened the conversation to everyone" : "{actor} opende het gesprek voor iedereen", - "You opened the conversation to everyone" : "Je opende het gesprek voor iedereen", + "{actor} opened the conversation to everyone" : "{actor} heeft het gesprek voor iedereen geopend", + "You opened the conversation to everyone" : "Je hebt het gesprek voor iedereen geopend", "{actor} restricted the conversation to moderators" : "{actor} beperkte het gesprek tot moderators", - "You restricted the conversation to moderators" : "Je beperkte het gesprek tot moderators", - "{actor} allowed guests" : "{actor} accepteerde gasten", - "You allowed guests" : "Je accepteerde gasten", - "An administrator allowed guests" : "Een beheerder accepteerde gasten", - "{actor} disallowed guests" : "{actor} weigerde gasten", - "You disallowed guests" : "Je weigerde gasten", - "An administrator disallowed guests" : "Een beheerder weigerde gasten", - "{actor} set a password" : "{actor} stelde een wachtwoord in", - "You set a password" : "Je stelde een wachtwoord in", - "An administrator set a password" : "Een beheerder stelde een wachtwoord in", - "{actor} removed the password" : "{actor} verwijderde het wachtwoord", - "You removed the password" : "Je verwijderde het wachtwoord", - "An administrator removed the password" : "Een beheerder verwijderde het wachtwoord", - "{actor} added {user}" : "{actor} voegde {user} toe", + "You restricted the conversation to moderators" : "Je hebt het gesprek beperkt tot moderators", + "{actor} allowed guests" : "{actor} heeft gasten toegelaten", + "You allowed guests" : "Je hebt gasten toegelaten", + "An administrator allowed guests" : "Een beheerder heeft gasten toegelaten", + "{actor} disallowed guests" : "{actor} heeft gasten geweigerd", + "You disallowed guests" : "Je hebt gasten geweigerd", + "An administrator disallowed guests" : "Een beheerder heeft gasten geweigerd", + "{actor} set a password" : "{actor} heeft een wachtwoord ingesteld", + "You set a password" : "Je hebt een wachtwoord ingesteld", + "An administrator set a password" : "Een beheerder heeft een wachtwoord ingesteld", + "{actor} removed the password" : "{actor} heeft het wachtwoord verwijderd", + "You removed the password" : "Je hebt het wachtwoord verwijderd", + "An administrator removed the password" : "Een beheerder heeft het wachtwoord verwijderd", + "{actor} added {user}" : "{actor} heeft {user} toegevoegd", "You joined the conversation" : "Je neemt deel aan het gesprek", "{actor} joined the conversation" : "{actor} neemt deel aan het gesprek", - "You added {user}" : "Je voegde {user} toe", - "{actor} added you" : "{actor} voegde jou toe", - "An administrator added you" : "Een beheerder voegde jou toe", - "An administrator added {user}" : "Een beheerder voegde {user} toe", - "You left the conversation" : "Je verliet het gesprek", - "{actor} left the conversation" : "{actor} verliet het gesprek", - "{actor} removed {user}" : "{actor} verwijderde {user}", - "You removed {user}" : "Je verwijderde {user}", - "{actor} removed you" : "{actor} verwijderde jou", - "An administrator removed you" : "Een beheerder verwijderde jou", - "An administrator removed {user}" : "Een beheerder verwijderde {user}", - "{actor} promoted {user} to moderator" : "{actor} bevorderde {user} tot moderator", - "You promoted {user} to moderator" : "Je bevorderde {user} tot moderator", - "{actor} promoted you to moderator" : "{actor} bevorderde jou tot moderator", - "An administrator promoted you to moderator" : "Een beheerder bevorderde jou tot moderator", - "An administrator promoted {user} to moderator" : "Een beheerder bevorderde {user} tot moderator", - "{actor} demoted {user} from moderator" : "{actor} degradeerde {user} uit moderatorschap", - "You demoted {user} from moderator" : "Je degradeerde {user} uit moderatorschap", - "{actor} demoted you from moderator" : "{actor} degradeerde jou uit moderatorschap", - "An administrator demoted you from moderator" : "Een beheerder degradeerde jou uit moderatorschap", - "An administrator demoted {user} from moderator" : "Een beheerder degradeerde {user} uit moderatorschap", - "{actor} shared a file which is no longer available" : "{actor} deelde een bestand dat niet meer beschikbaar is", - "You shared a file which is no longer available" : "Je deelde een bestand dat niet meer beschikbaar is", + "You added {user}" : "Je hebt {user} toegevoegd", + "{actor} added you" : "{actor} heeft jou toegevoegd", + "An administrator added you" : "Een beheerder heeft jou toegevoegd", + "An administrator added {user}" : "Een beheerder heeft {user} toegevoegd", + "You left the conversation" : "Je hebt het gesprek verlaten", + "{actor} left the conversation" : "{actor} heeft het gesprek verlaten", + "{actor} removed {user}" : "{actor} heeft {user} verwijderd", + "You removed {user}" : "Je hebt {user} verwijderd", + "{actor} removed you" : "{actor} heeft jou verwijderd", + "An administrator removed you" : "Een beheerder heeft jou verwijderd", + "An administrator removed {user}" : "Een beheerder heeft {user} verwijderd", + "{actor} promoted {user} to moderator" : "{actor} heeft {user} bevorderd tot moderator", + "You promoted {user} to moderator" : "Je hebt {user} bevorderd tot moderator", + "{actor} promoted you to moderator" : "{actor} heeft jou tot moderator bevorderd", + "An administrator promoted you to moderator" : "Een beheerder heeft jou tot moderator bevorderd", + "An administrator promoted {user} to moderator" : "Een beheerder heeft {user} tot moderator bevorderd", + "{actor} demoted {user} from moderator" : "{actor} heeft {user} gedegradeerd als moderator", + "You demoted {user} from moderator" : "Je hebt {user} gedegradeerd als moderator", + "{actor} demoted you from moderator" : "{actor} heeft jou uit gedegradeerd als moderator", + "An administrator demoted you from moderator" : "Een beheerder heeft jou gedegradeerd als moderator", + "An administrator demoted {user} from moderator" : "Een beheerder heeft {user} gedegradeerd als moderator", + "{actor} shared a file which is no longer available" : "{actor} heeft een bestand gedeeld dat niet meer beschikbaar is", + "You shared a file which is no longer available" : "Je hebt een bestand gedeeld dat niet meer beschikbaar is", "{actor} set up Matterbridge to synchronize this conversation with other chats." : "{actor} heeft Matterbridge opgezet om deze conversatie te synchroniseren met andere chats.", "You set up Matterbridge to synchronize this conversation with other chats." : "Je hebt Matterbridge opgezet om deze conversatie te synchroniseren met andere chats.", - "{actor} updated the Matterbridge configuration." : "{actor} heeft de Matterbridge configuratie aangepast.", - "You updated the Matterbridge configuration." : "Je hebt de Matterbridge configuratie aangepast.", - "{actor} removed the Matterbridge configuration." : "{actor} heeft de Matterbridge configuratie verwijderd.", - "You removed the Matterbridge configuration." : "Je hebt de Matterbridge configuratie verwijderd.", - "{actor} started Matterbridge." : "{actor} startteMatterbridge.", - "You started Matterbridge." : "Je startte Matterbridge.", - "{actor} stopped Matterbridge." : "{actor} stopte Matterbridge.", - "You stopped Matterbridge." : "Je stopte Matterbridge.", + "{actor} updated the Matterbridge configuration." : "{actor} heeft de Matterbridge-configuratie aangepast.", + "You updated the Matterbridge configuration." : "Je hebt de Matterbridge-configuratie aangepast.", + "{actor} removed the Matterbridge configuration." : "{actor} heeft de Matterbridge-configuratie verwijderd.", + "You removed the Matterbridge configuration." : "Je hebt de Matterbridge-configuratie verwijderd.", + "{actor} started Matterbridge." : "{actor} heeft Matterbridge gestart.", + "You started Matterbridge." : "Je hebt Matterbridge gestart.", + "{actor} stopped Matterbridge." : "{actor} heeft Matterbridge gestopt.", + "You stopped Matterbridge." : "Je hebt Matterbridge gestopt.", "%s (guest)" : "%s (gast)", "_Call with %n guest (Duration {duration})_::_Call with %n guests (Duration {duration})_" : ["Gesprek met %n gast (Duur {duration})","Gesprek met%n gasten (Duur {duration})"], "Call with {user1} and {user2} (Duration {duration})" : "Gesprek met {user1} en {user2} (Duur {duration})", "Call with {user1}, {user2} and {user3} (Duration {duration})" : "Gesprek met {user1}, {user2} en {user3} (Duur {duration})", "Call with {user1}, {user2}, {user3} and {user4} (Duration {duration})" : "Gesprek met {user1}, {user2}, {user3} en {user4} (Duur {duration})", "Call with {user1}, {user2}, {user3}, {user4} and {user5} (Duration {duration})" : "Gesprek met {user1}, {user2}, {user3}, {user4} en {user5} (Duur {duration})", - "Talk to %s" : "Spreken met %s", + "Talk to %s" : "Spreek met %s", "File is not shared, or shared but not with the user" : "Bestand is niet gedeeld, of wel gedeeld maar niet met de gebruiker", "No account available to delete." : "Geen account beschikbaar om te verwijderen.", - "Talk mentions" : "Talk noemt", + "Talk mentions" : "Talk-vermeldingen", "Write to conversation" : "Schrijf naar gesprek", "Writes event information into a conversation of your choice" : "Schrijft gebeurtenisinformatie in een gesprek naar keuze", "%s invited you to a conversation." : "%s heeft je uitgenodigd voor een gesprek", - "You were invited to a conversation." : "Je werd uitgenodigd voor een gesprek.", + "You were invited to a conversation." : "Je bent uitgenodigd voor een gesprek.", "Conversation invitation" : "Gespreksuitnodiging", - "Click the button below to join." : "Klik op de button hieronder om mee te doen.", - "Join »%s«" : "Medoen aan \"%s\"", - "You can also dial-in via phone with the following details" : "Je kunt ook met de telefoon inbellen met deze informatie", - "Dial-in information" : "Inbel-informatie", - "Meeting ID" : "Meeting ID", - "Your PIN" : "Je PIN", - "Password request: %s" : "Wachtwoord aanvraag: %s", + "Click the button below to join." : "Klik op de button hieronder om deel te nemen.", + "Join »%s«" : "Deelnemen aan \"%s\"", + "You can also dial-in via phone with the following details" : "Je kunt ook via telefoon inbellen met behulp van deze informatie", + "Dial-in information" : "Inbelinformatie", + "Meeting ID" : "Meeting-ID", + "Your PIN" : "Jouw PIN", + "Password request: %s" : "Wachtwoordverzoek: %s", "Private conversation" : "Privégesprek", "Deleted user (%s)" : "Verwijderde gebruiker (%s)", "{user} in {call}" : "{user} in {call}", "Deleted user in {call}" : "Gebruiker verwijderd in {call}", "{guest} (guest) in {call}" : "{guest} (gast) in {call}", "Guest in {call}" : "Gast in {call}", - "{user} sent you a private message" : "{user} stuurde je een privébericht", - "{user} sent a message in conversation {call}" : "{user} plaatste een reactie in gesprek {call}", - "A deleted user sent a message in conversation {call}" : "Een verwijderde gebruiker plaatste een reactie in gesprek {call}", - "{guest} (guest) sent a message in conversation {call}" : "{guest} (gast) verstuurde een bericht in gesprek {call}", - "A guest sent a message in conversation {call}" : "Een gast plaatste een reactie in gesprek {call}", - "{user} replied to your private message" : "{user} reageerde op jouw privébericht", - "{user} replied to your message in conversation {call}" : "{user} reageerde op jouw bericht in gesprek {call}", - "A deleted user replied to your message in conversation {call}" : "Een verwijderde gebruiker reageerde op jouw bericht in gesprek {call}", - "{guest} (guest) replied to your message in conversation {call}" : "{guest} (gast) antwoordde op jouw bericht in gesprek {call}", - "A guest replied to your message in conversation {call}" : "Een gast reageerde op jouw bericht in gesprek {call}", - "{user} mentioned you in a private conversation" : "{user} vermeldde je in een besloten gesprek", - "{user} mentioned you in conversation {call}" : "{user} vermeldde je in gesprek {call}", - "A deleted user mentioned you in conversation {call}" : "Een verwijderde gebruiker vermeldde je in gesprek {call}", - "{guest} (guest) mentioned you in conversation {call}" : "{guest} (gast) vermeldde jou in gesprek {call}", - "A guest mentioned you in conversation {call}" : "Een gast vermeldde je in gesprek {call}", + "{user} sent you a private message" : "{user} heeft je een privébericht gestuurd", + "{user} sent a message in conversation {call}" : "{user} heeft een bericht gestuurd in gesprek {call}", + "A deleted user sent a message in conversation {call}" : "Een verwijderde gebruiker heeft een bericht gestuurd in gesprek {call}", + "{guest} (guest) sent a message in conversation {call}" : "{guest} (gast) heeft een bericht gestuurd in gesprek {call}", + "A guest sent a message in conversation {call}" : "Een gast heeft een bericht gestuurd in gesprek {call}", + "{user} replied to your private message" : "{user} heeft op jouw privébericht gereageerd", + "{user} replied to your message in conversation {call}" : "{user} heeft op jouw bericht gereageerd in gesprek {call}", + "A deleted user replied to your message in conversation {call}" : "Een verwijderde gebruiker heeft op jouw bericht gereageerd in gesprek {call}", + "{guest} (guest) replied to your message in conversation {call}" : "{guest} (gast) heeft op jouw bericht gereageerd in gesprek {call}", + "A guest replied to your message in conversation {call}" : "Een gast heeft op jouw bericht gereageerd in gesprek {call}", + "{user} mentioned you in a private conversation" : "{user} heeft jou in een privégesprek vermeld", + "{user} mentioned you in conversation {call}" : "{user} heeft jou in vermeld in gesprek {call}", + "A deleted user mentioned you in conversation {call}" : "Een verwijderde gebruiker heeft jou vermeld in gesprek {call}", + "{guest} (guest) mentioned you in conversation {call}" : "{guest} (gast) heeft jou vermeld in gesprek {call}", + "A guest mentioned you in conversation {call}" : "Een gast heeft jou vermeld in gesprek {call}", "View chat" : "Bekijk chat", "{user} invited you to a private conversation" : "{user} heeft je uitgenodigd voor een privégesprek", "Join call" : "Deelnemen aan gesprek", @@ -166,47 +175,47 @@ "Answer call" : "Oproep beantwoorden", "{user} would like to talk with you" : "{user} wil met je spreken", "Call back" : "Terugbellen", - "You missed a call from {user}" : "Je miste een gesprek van {user}", + "You missed a call from {user}" : "Je hebt een gesprek gemist van {user}", "A group call has started in {call}" : "Groepsgesprek is begonnen in {call}", - "You missed a group call in {call}" : "Je miste een groepsgesprek in {call}", - "{email} is requesting the password to access {file}" : "{email} vraagt het wachtwoord voor het benaderen van {file}", - "{email} tried to request the password to access {file}" : "{email} probeerde het wachtwoord op te vragen voor het openen van bestand {file}", - "Someone is requesting the password to access {file}" : "Iemand vraagt het wachtwoord voor het benadeen van bestand {file}", - "Someone tried to request the password to access {file}" : "Iemand probeerde het wachtwoord op te vragen voor het openen van bestand {file}", - "Open settings" : "Openen instellingen", + "You missed a group call in {call}" : "Je hebt een groepsgesprek gemist in {call}", + "{email} is requesting the password to access {file}" : "{email} verzoekt het wachtwoord voor toegang tot {file}", + "{email} tried to request the password to access {file}" : "{email} heeft geprobeerd het wachtwoord op te vragen voor toegang tot {file}", + "Someone is requesting the password to access {file}" : "Iemand verzoekt het wachtwoord voor toegang tot {file}", + "Someone tried to request the password to access {file}" : "Iemand heeft geprobeerd het wachtwoord op te vragen voor toegang tot {file}", + "Open settings" : "Instellingen openen", "The hosted signaling server is now configured and will be used." : "De gehoste signaleringsserver is nu geconfigureerd en zal worden gebruikt.", "The hosted signaling server was removed and will not be used anymore." : "De gehoste signaleringsserver is verwijderd en zal niet meer worden gebruikt.", - "The hosted signaling server account has changed the status from \"{oldstatus}\" to \"{newstatus}\"." : "Het gehoste signaleringsserveraccount heeft de status gewijzigd van \"{oldstatus}\" in \"{newstatus}\".", + "The hosted signaling server account has changed the status from \"{oldstatus}\" to \"{newstatus}\"." : "Het account van gehoste signaleringsserver heeft de status gewijzigd van \"{oldstatus}\" naar \"{newstatus}\".", "Conversations" : "Gesprekken", "Messages" : "Berichten", "{user}" : "{user}", "Messages in {conversation}" : "Berichten in {conversation}", "{user} in {conversation}" : "{user} in {conversation}", "Messages in other conversations" : "Berichten in andere gesprekken", - "Failed to request trial because the trial server is unreachable. Please try again later." : "Het aanvragen van een proefversie is mislukt omdat de proefserver niet bereikbaar is. Probeer het later opnieuw.", - "There is a problem with the authentication of this instance. Maybe it is not reachable from the outside to verify it's URL." : "Er is een probleem met authenticatie van deze server. Misschien is het niet van om de URL van buitenaf te bereiken.", - "Something unexpected happened." : "Er gebeurde iets onverwachts.", + "Failed to request trial because the trial server is unreachable. Please try again later." : "Het aanvragen van een proefversie is mislukt, omdat de proefserver niet bereikbaar is. Probeer het later opnieuw.", + "There is a problem with the authentication of this instance. Maybe it is not reachable from the outside to verify it's URL." : "Er is een probleem met authenticatie van deze instantie. Misschien is deze niet van buitenaf bereikbaar om de URL te verifiëren.", + "Something unexpected happened." : "Er is iets onverwachts gebeurd.", "The URL is invalid." : "De URL is ongeldig.", - "An HTTPS URL is required." : "Een URL van het type HTTPS is vereist.", + "An HTTPS URL is required." : "Een HTTPS-URL is vereist.", "The email address is invalid." : "Het e-mailadres is ongeldig.", "The language is invalid." : "De taal is ongeldig.", "The country is invalid." : "Het land is ongeldig.", - "There is a problem with the request of the trial. Please check your logs for further information." : "Er is een probleem met het verzoek om het proces. Controleer uw logboeken voor meer informatie.", - "Too many requests are send from your servers address. Please try again later." : "Er worden te veel verzoeken verzonden vanaf uw serveradres. Probeer het later opnieuw.", + "There is a problem with the request of the trial. Please check your logs for further information." : "Er is een probleem met de aanvraag van de proefversie. Raadpleeg de logs voor meer informatie.", + "Too many requests are send from your servers address. Please try again later." : "Er worden te veel verzoeken verzonden vanaf het adres van je server. Probeer het later opnieuw.", "There is already a trial registered for this Nextcloud instance." : "Er is al een proefversie geregistreerd voor deze Nextcloud-instantie.", - "Something unexpected happened. Please try again later." : "Er gebeurde iets onverwachts. Probeer het later opnieuw aub.", - "Failed to request trial because the trial server behaved wrongly. Please try again later." : "Het aanvragen van een proefversie is mislukt omdat de proefserver zich verkeerd heeft gedragen. Probeer het later opnieuw.", - "Trial requested but failed to get account information. Please check back later." : "Proefperiode aangevraagd, maar kreeg geen accountinformatie. Kom later terug.", - "There is a problem with the authentication of this request. Maybe it is not reachable from the outside to verify it's URL." : "Er is een probleem bij authenticatie van de opvraging. Misschien is het niet mogelijk om de URL van buitenaf te benaderen.", - "Failed to fetch account information because the trial server behaved wrongly. Please check back later." : "Het ophalen van accountgegevens is mislukt omdat de proefserver zich verkeerd heeft gedragen. Kom later terug.", - "There is a problem with fetching the account information. Please check your logs for further information." : "Er is een probleem met het ophalen van de accountgegevens. Controleer uw logboeken voor meer informatie.", - "There is no such account registered." : "Er is niet zo'n account geregistreerd.", - "Failed to fetch account information because the trial server is unreachable. Please check back later." : "Kan accountgegevens niet ophalen omdat de proefserver niet bereikbaar is. Kom later terug.", - "Deleting the hosted signaling server account failed. Please check back later." : "Het verwijderen van het gehoste signaleringsserveraccount is mislukt. Kom later terug.", - "Failed to delete the account because the trial server behaved wrongly. Please check back later." : "Het account kan niet worden verwijderd omdat de proefserver zich verkeerd heeft gedragen. Kom later terug.", - "There is a problem with deleting the account. Please check your logs for further information." : "Er is een probleem met het verwijderen van het account. Controleer je logboeken voor meer informatie.", + "Something unexpected happened. Please try again later." : "Er is iets onverwachts gebeurd. Probeer het later opnieuw.", + "Failed to request trial because the trial server behaved wrongly. Please try again later." : "Het aanvragen van een proefversie is mislukt, vanwege onjuist gedrag van de proefserver. Probeer het later opnieuw.", + "Trial requested but failed to get account information. Please check back later." : "De proefperiode is aangevraagd, maar het ophalen van accountinformatie is mislukt. Controleer het later nog eens.", + "There is a problem with the authentication of this request. Maybe it is not reachable from the outside to verify it's URL." : "Er is een probleem met de authenticatie van dit verzoek. Misschien is het niet van buitenaf bereikbaar om de URL te verifiëren.", + "Failed to fetch account information because the trial server behaved wrongly. Please check back later." : "Het ophalen van accountinformatie is mislukt, vanwege onjuist gedrag van de proefserver. Controleer het later nog eens.", + "There is a problem with fetching the account information. Please check your logs for further information." : "Er is een probleem met het ophalen van de accountgegevens. Controleer de logs voor meer informatie.", + "There is no such account registered." : "Dit account is niet geregistreerd.", + "Failed to fetch account information because the trial server is unreachable. Please check back later." : "Het ophalen van accountinformatie is mislukt, omdat de proefserver niet bereikbaar is. Controleer het later opnieuw.", + "Deleting the hosted signaling server account failed. Please check back later." : "Het verwijderd van het account van de gehoste signaleringsserver is mislukt. Controleer het later opnieuw.", + "Failed to delete the account because the trial server behaved wrongly. Please check back later." : "Het account kan niet worden verwijderd, vanwege onjuist gedrag van de proefserver. Controleer het later opnieuw.", + "There is a problem with deleting the account. Please check your logs for further information." : "Er is een probleem met het verwijderen van het account. Controleer de logboeken voor meer informatie.", "Too many requests are sent from your servers address. Please try again later." : "Er worden te veel verzoeken verzonden vanaf je serveradres. Probeer het later opnieuw.", - "Failed to delete the account because the trial server is unreachable. Please check back later." : "Het account kan niet worden verwijderd omdat de proefserver niet bereikbaar is. Kom later terug.", + "Failed to delete the account because the trial server is unreachable. Please check back later." : "Het account kan niet worden verwijderd omdat de proefserver niet bereikbaar is. Controleer het later opnieuw.", "Andorra" : "Andorra", "United Arab Emirates" : "Verenigde Arabische Emiraten", "Afghanistan" : "Afghanistan", @@ -522,7 +531,7 @@ "Request signaling server trial" : "Verzoek proefperiode signaleringsserver", "You can see the current status of your hosted signaling server in the following table." : "U kunt de huidige status van uw gehoste signaleringsserver in de volgende tabel zien.", "Status" : "Status", - "Created at" : "Aangemaakt op", + "Created at" : "Gemaakt op", "Expires at" : "Vervalt op", "Limits" : "Limieten", "Delete the signaling server account" : "Verwijder het signaleringsserveraccount", @@ -675,20 +684,23 @@ "Error occurred while saving conversation password" : "Er trad een fout op bij het opslaan van het gesprekswachtwoord ", "Error occurred while allowing guests" : "Fout bij toelaten gasten", "Error occurred while disallowing guests" : "Fout bij toegang ontzeggen voor gasten", + "Open conversation to registered users" : "Open gesprek voor geregistreerde gebruikers", + "This conversation will be shown in search results" : "Dit gesprek zal worden weergegeven in de zoekresultaten", + "Also open to guest app users" : "Ook open voor gastgebruikers van de app", + "Error occurred when opening or limiting the conversation" : "Er is een fout opgetreden tijdens het openen of beperken van het gesprek", "Enabling the lobby only allows moderators to post messages." : "Door de lobby in te schakelen, kunnen alleen moderators berichten plaatsen.", "Enable lobby" : "Lobby inschakelen", "After the time limit the lobby will be automatically disabled." : "Na de tijdslimiet wordt de lobby automatisch uitgeschakeld.", "Meeting start time" : "Meeting starttijd", "Start time (optional)" : "Begintijd (optioneel)", - "Save meeting start time" : "Opslaan meeting starttijd", "Error occurred when restricting the conversation to moderator" : "Er is een fout opgetreden bij het beperken van het gesprek tot moderator", "Error occurred when opening the conversation to everyone" : "Er is een fout opgetreden bij het openen van het gesprek voor iedereen", "Start time has been updated" : "Starttijd bijgewerkt", "Error occurred while updating start time" : "Fout bij bijwerken starttijd", "Locking the conversation prevents anyone to post messages or start calls." : "Door het gesprek te vergrendelen, kan niemand berichten plaatsen of gesprekken starten.", - "Lock conversation" : "Vergrendelen gesprek", - "Error occurred when locking the conversation" : "Fout bij vergrendelen gesprek", - "Error occurred when unlocking the conversation" : "Fout bij ontgrendelen gesprek", + "Lock conversation" : "Gesprek vergrendelen", + "Error occurred when locking the conversation" : "Er is een fout opgetreden bij het vergrendelen van het gesprek", + "Error occurred when unlocking the conversation" : "Er is een fout opgetreden bij het ontgrendelen van het gesprek", "Save" : "Opslaan", "Edit" : "Bewerk", "More information" : "Meer informatie", @@ -765,6 +777,7 @@ "You need to promote a new moderator before you can leave the conversation." : "Je moet een nieuwe moderator promoveren voordat je het gesprek kunt verlaten.", "No matches" : "Geen overeenkomsten", "Conversation list" : "Gesprekkenlijst", + "Open conversations" : "Open gesprekken", "Loading" : "Laden", "No search results" : "Geen zoekresultaten", "Groups" : "Groepen", @@ -780,10 +793,10 @@ "All set" : "Alles ingesteld", "Error while creating the conversation" : "Fout bij creëren gesprek", "Link copied to the clipboard!" : "Link gekopieerd naar het klembord!", - "Create a new group conversation" : "Creëer een nieuw groepsgesprek", + "Create a new group conversation" : "Maak een nieuw groepsgesprek", "Password protect" : "Wachtwoord beveiligen", "Add participants" : "Deelnemers toevoegen", - "Create conversation" : "Creëer gesprek", + "Create conversation" : "Maak gesprek", "Close" : "Sluiten", "Choose a password" : "Kies een wachtwoord", "Search participants" : "Zoek deelnemers", @@ -914,7 +927,7 @@ "Select conversation" : "Selecteer een gesprek", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Je nam deel aan het gesprek in een ander venster of apparaat. Dit wordt momenteel niet ondersteund door Nextcloud Talk, dus deze sessie is gesloten.", "Join a conversation or start a new one" : "Doe mee met een discussie, of start een nieuwe", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "De browser die je gebruikt, wordt niet volledig ondersteund door Nextcloud Talk. Gebruik de nieuwste versie van Mozilla Firefox, Microsoft Edge, Google Chrome of Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "De browser die je gebruikt, wordt niet volledig ondersteund door Nextcloud Talk. Gebruik alsjeblieft de laatste versie van Mozilla Firefox, Microsoft Edge, Google Chrome, Opera of Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk is bijgewerkt, herlaad de pagina", "Do not disturb" : "Niet storen", "Away" : "Afwezig", @@ -982,6 +995,7 @@ "Start calls" : "Begin gesprekken", "Who can start a call?" : "Wie kan een gesprek starten?", "Select a conversation to add to the project" : "Selecteer een gesprek om toe te voegen aan het project", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "De browser die je gebruikt, wordt niet volledig ondersteund door Nextcloud Talk. Gebruik de nieuwste versie van Mozilla Firefox, Microsoft Edge, Google Chrome of Apple Safari.", "Please enter the password for this call" : "Voer het wachtwoord in voor dit gesprek", "Password required" : "Wachtwoord vereist", "Cancel" : "Annuleren", diff --git a/l10n/pl.js b/l10n/pl.js index 074c6c7d2..e57c6a12a 100644 --- a/l10n/pl.js +++ b/l10n/pl.js @@ -695,7 +695,6 @@ OC.L10N.register( "After the time limit the lobby will be automatically disabled." : "Po upływie tego czasu poczekalnia zostanie automatycznie wyłączona.", "Meeting start time" : "Czas rozpoczęcia spotkania", "Start time (optional)" : "Czas rozpoczęcia (opcjonalnie)", - "Save meeting start time" : "Zapisz czas rozpoczęcia spotkania", "Error occurred when restricting the conversation to moderator" : "Wystąpił błąd podczas ograniczania rozmowy do moderatora", "Error occurred when opening the conversation to everyone" : "Wystąpił błąd podczas otwierania rozmowy dla wszystkich", "Start time has been updated" : "Czas rozpoczęcia został zaktualizowany", @@ -780,6 +779,7 @@ OC.L10N.register( "You need to promote a new moderator before you can leave the conversation." : "Zanim opuścisz rozmowę, musisz promować nowego moderatora.", "No matches" : "Nie pasuje", "Conversation list" : "Lista rozmów", + "Open conversations" : "Otwarte rozmowy", "Loading" : "Wczytywanie", "No search results" : "Brak wyników wyszukiwania", "Groups" : "Grupy", @@ -822,6 +822,8 @@ OC.L10N.register( "Sending message" : "Wysyłanie wiadomości", "Message sent" : "Wiadomość wysłana", "Message read by everyone who shares their reading status" : "Wiadomość czytana przez każdego, kto udostępnił status czytania", + "Failed to send the message. Click to try again" : "Nie udało się wysłać wiadomości. Kliknij, aby spróbować ponownie", + "You can not send messages to this conversation at the moment" : "W tej chwili nie możesz wysyłać wiadomości dla tej rozmowy", "{stack} in {board}" : "{stack} na {board}", "Remove" : "Usuń", "[Unknown username]" : "[Nieznana nazwa użytkownika]", @@ -845,6 +847,7 @@ OC.L10N.register( "Edit conversation description" : "Edytuj opis rozmowy", "Description" : "Opis", "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "Opis musi mieć długość mniejszą lub równą {maxLength} znaków. Twój obecny tekst ma długość {charactersCount} znaków.", + "Disable lobby" : "Wyłącz poczekalnie", "moderator" : "moderator", "guest" : "gość", "Dial-in PIN" : "Kod PIN połączenia telefonicznego", @@ -929,7 +932,7 @@ OC.L10N.register( "Select conversation" : "Wybierz rozmowę", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Dołączyłeś do rozmowy w innym oknie lub urządzeniu. Ta sesja została zamknięta, ponieważ nie jest obecnie obsługiwana przez Nextcloud Talk.", "Join a conversation or start a new one" : "Dołącz do rozmowy lub rozpocznij nową", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Używana przeglądarka nie obsługuje w pełni Nextcloud Talk. Użyj najnowszej wersji Mozilla Firefox, Microsoft Edge, Google Chrome lub Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Używana przeglądarka nie obsługuje w pełni Nextcloud Talk. Użyj najnowszej wersji Mozilla Firefox, Microsoft Edge, Google Chrome, Opera lub Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk został zaktualizowany, przeładuj stronę", "Do not disturb" : "Nie przeszkadzać", "Away" : "Bezczynny", @@ -997,6 +1000,7 @@ OC.L10N.register( "Start calls" : "Rozpoczynają połączenia", "Who can start a call?" : "Kto może rozpocząć połączenie?", "Select a conversation to add to the project" : "Wybierz rozmowę, którą chcesz dodać do projektu", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Używana przeglądarka nie obsługuje w pełni Nextcloud Talk. Użyj najnowszej wersji Mozilla Firefox, Microsoft Edge, Google Chrome lub Apple Safari.", "Please enter the password for this call" : "Wprowadź hasło dla tego połączenia", "Password required" : "Wymagane hasło", "Cancel" : "Anuluj", diff --git a/l10n/pl.json b/l10n/pl.json index 19198e6bb..32e6d0e00 100644 --- a/l10n/pl.json +++ b/l10n/pl.json @@ -693,7 +693,6 @@ "After the time limit the lobby will be automatically disabled." : "Po upływie tego czasu poczekalnia zostanie automatycznie wyłączona.", "Meeting start time" : "Czas rozpoczęcia spotkania", "Start time (optional)" : "Czas rozpoczęcia (opcjonalnie)", - "Save meeting start time" : "Zapisz czas rozpoczęcia spotkania", "Error occurred when restricting the conversation to moderator" : "Wystąpił błąd podczas ograniczania rozmowy do moderatora", "Error occurred when opening the conversation to everyone" : "Wystąpił błąd podczas otwierania rozmowy dla wszystkich", "Start time has been updated" : "Czas rozpoczęcia został zaktualizowany", @@ -778,6 +777,7 @@ "You need to promote a new moderator before you can leave the conversation." : "Zanim opuścisz rozmowę, musisz promować nowego moderatora.", "No matches" : "Nie pasuje", "Conversation list" : "Lista rozmów", + "Open conversations" : "Otwarte rozmowy", "Loading" : "Wczytywanie", "No search results" : "Brak wyników wyszukiwania", "Groups" : "Grupy", @@ -820,6 +820,8 @@ "Sending message" : "Wysyłanie wiadomości", "Message sent" : "Wiadomość wysłana", "Message read by everyone who shares their reading status" : "Wiadomość czytana przez każdego, kto udostępnił status czytania", + "Failed to send the message. Click to try again" : "Nie udało się wysłać wiadomości. Kliknij, aby spróbować ponownie", + "You can not send messages to this conversation at the moment" : "W tej chwili nie możesz wysyłać wiadomości dla tej rozmowy", "{stack} in {board}" : "{stack} na {board}", "Remove" : "Usuń", "[Unknown username]" : "[Nieznana nazwa użytkownika]", @@ -843,6 +845,7 @@ "Edit conversation description" : "Edytuj opis rozmowy", "Description" : "Opis", "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "Opis musi mieć długość mniejszą lub równą {maxLength} znaków. Twój obecny tekst ma długość {charactersCount} znaków.", + "Disable lobby" : "Wyłącz poczekalnie", "moderator" : "moderator", "guest" : "gość", "Dial-in PIN" : "Kod PIN połączenia telefonicznego", @@ -927,7 +930,7 @@ "Select conversation" : "Wybierz rozmowę", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Dołączyłeś do rozmowy w innym oknie lub urządzeniu. Ta sesja została zamknięta, ponieważ nie jest obecnie obsługiwana przez Nextcloud Talk.", "Join a conversation or start a new one" : "Dołącz do rozmowy lub rozpocznij nową", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Używana przeglądarka nie obsługuje w pełni Nextcloud Talk. Użyj najnowszej wersji Mozilla Firefox, Microsoft Edge, Google Chrome lub Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Używana przeglądarka nie obsługuje w pełni Nextcloud Talk. Użyj najnowszej wersji Mozilla Firefox, Microsoft Edge, Google Chrome, Opera lub Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk został zaktualizowany, przeładuj stronę", "Do not disturb" : "Nie przeszkadzać", "Away" : "Bezczynny", @@ -995,6 +998,7 @@ "Start calls" : "Rozpoczynają połączenia", "Who can start a call?" : "Kto może rozpocząć połączenie?", "Select a conversation to add to the project" : "Wybierz rozmowę, którą chcesz dodać do projektu", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Używana przeglądarka nie obsługuje w pełni Nextcloud Talk. Użyj najnowszej wersji Mozilla Firefox, Microsoft Edge, Google Chrome lub Apple Safari.", "Please enter the password for this call" : "Wprowadź hasło dla tego połączenia", "Password required" : "Wymagane hasło", "Cancel" : "Anuluj", diff --git a/l10n/pt_BR.js b/l10n/pt_BR.js index 3425b6164..aa40cb64a 100644 --- a/l10n/pt_BR.js +++ b/l10n/pt_BR.js @@ -47,6 +47,12 @@ OC.L10N.register( "{actor} renamed the conversation from \"%1$s\" to \"%2$s\"" : "{actor} renomeou a conversa de \"%1$s\" para \"%2$s\"", "You renamed the conversation from \"%1$s\" to \"%2$s\"" : "Você renomeou a conversa de \"%1$s\" para \"%2$s\"", "An administrator renamed the conversation from \"%1$s\" to \"%2$s\"" : "Um administrador renomeou a conversa \"%1$s\" para \"%2$s\"", + "{actor} set the description to \"%1$s\"" : "{actor} definiu a descrição como \"%1$s\"", + "You set the description to \"%1$s\"" : "Você definiu a descrição como \"%1$s\"", + "An administrator set the description to \"%1$s\"" : "Um administrador definiu a descrição como \"%1$s\"", + "{actor} removed the description" : "{actor} removeu a descrição", + "You removed the description" : "Você removeu a descrição", + "An administrator removed the description" : "Um administrador removeu a descrição", "{actor} started a call" : "{actor} iniciou uma chamada", "You started a call" : "Você iniciou uma chamada", "{actor} joined the call" : "{actor} juntou-se à chamada", @@ -59,6 +65,15 @@ OC.L10N.register( "{actor} locked the conversation" : "{actor} bloqueou a conversa", "You locked the conversation" : "Você bloqueou a conversa", "An administrator locked the conversation" : "Um administrador bloqueou a conversa", + "{actor} limited the conversation to the current participants" : "{actor} limitou a conversa aos atuais participantes", + "You limited the conversation to the current participants" : "Você limitou a conversa aos atuais participantes", + "An administrator limited the conversation to the current participants" : "Um administrador limitou a conversa aos atuais participantes", + "{actor} opened the conversation to registered users" : "{actor} abriu a conversa aos usuários registrados", + "You opened the conversation to registered users" : "Você abriu a conversa aos usuários registrados", + "An administrator opened the conversation to registered users" : "Um administrador abriu a conversa aos usuários registrados", + "{actor} opened the conversation to registered and guest app users" : "{actor} abriu a conversa aos usuários registrados e convidados do aplicativo", + "You opened the conversation to registered and guest app users" : "Você abriu a conversa aos usuários registrados e convidados do aplicativo", + "An administrator opened the conversation to registered and guest app users" : "Um administrador abriu a conversa aos usuários registrados e convidados do aplicativo", "The conversation is now open to everyone" : "A conversa está aberta a todos agora", "{actor} opened the conversation to everyone" : "{actor} abriu a conversa a todos", "You opened the conversation to everyone" : "Você abriu a conversa para todos", @@ -108,6 +123,10 @@ OC.L10N.register( "You updated the Matterbridge configuration." : "Você atualizou a configuração do Matterbridge.", "{actor} removed the Matterbridge configuration." : "{actor} excluiu a configuração do Matterbridge.", "You removed the Matterbridge configuration." : "Você excluiu a configuração do Matterbridge.", + "{actor} started Matterbridge." : "{actor} iniciou o Matterbridge.", + "You started Matterbridge." : "Você iniciou o Matterbridge.", + "{actor} stopped Matterbridge." : "{actor} interrompeu o Matterbridge.", + "You stopped Matterbridge." : "Você interrompeu o Matterbridge.", "%s (guest)" : "%s (convidado)", "_Call with %n guest (Duration {duration})_::_Call with %n guests (Duration {duration})_" : ["Chamada com %n convidado (Duração {duration})","Chamada com %n convidados (Duração {duration})"], "Call with {user1} and {user2} (Duration {duration})" : "Chamada com {user1} e {user2} (Duração {duration})", @@ -197,6 +216,7 @@ OC.L10N.register( "Deleting the hosted signaling server account failed. Please check back later." : "A exclusão da conta do servidor de sinalização hospedada falhou. Tente novamente mais tarde.", "Failed to delete the account because the trial server behaved wrongly. Please check back later." : "Falha ao excluir a conta porque o servidor de avaliação se comportou incorretamente. Por favor, tente novamente mais tarde.", "There is a problem with deleting the account. Please check your logs for further information." : "Há um problema com a exclusão da conta. Verifique os logs para obter mais informações.", + "Too many requests are sent from your servers address. Please try again later." : "Muitas solicitações são enviadas dos endereços dos seus servidores. Tente novamente mais tarde.", "Failed to delete the account because the trial server is unreachable. Please check back later." : "Falha ao excluir a conta porque o servidor de avaliação está inacessível. Tente novamente mais tarde.", "Andorra" : "Andorra", "United Arab Emirates" : "Emirados Árabes Unidos", @@ -576,6 +596,8 @@ OC.L10N.register( "Test this server" : "Testar este servidor", "TURN servers" : "Servidores TURN", "A TURN server is used to proxy the traffic from participants behind a firewall. If individual participants can not connect to others a TURN server is mostlikely required. See {linkstart}this documentation{linkend} for setup instructions." : "Um servidor TURN é usado para o proxy do tráfego dos participantes por trás de um firewall. Se os participantes individuais não puderem se conectar a outros, provavelmente será necessário um servidor TURN. Consulte {linkstart}esta documentação{linkend} para instruções de configuração.", + "{nickName} raised their hand." : "{nickName} levantou a mão.", + "A participant raised their hand." : "Um participante levantou a mão.", "Previous page of videos" : "Página anterior de vídeos", "Next page of videos" : "Próxima página de vídeos", "Collapse stripe" : "Recolher faixa", @@ -591,8 +613,11 @@ OC.L10N.register( "Share a single window" : "Compartilhar uma janela única", "Show your screen" : "Exibir sua tela", "Stop screensharing" : "Parar de compartilhar tela", + "Lower hand" : "Baixar a mão", + "More actions" : "Mais ações", "Settings" : "Configurações", "Dismiss" : "Dispensar", + "Raise hand" : "Levantar a mão", "No audio" : "Sem áudio", "Mute audio (m)" : "Sem áudio (m)", "Unmute audio (m)" : "Com áudio (m)", @@ -646,15 +671,46 @@ OC.L10N.register( "Call in progress" : "Chamada em andamento", "Favorite" : "Favorito", "Conversation settings" : "Configurações da conversa", + "Guests access" : "Acesso de convidados", + "Meeting settings" : "Configurações da reunião", + "Matterbridge" : "Matterbridge", + "Allow guests to use a public link to join this conversation." : "Permite que convidados usem um link público para entrar nesta conversa.", + "Allow guests" : "Permitir convidados", + "Set a password to restrict who can use the public link." : "Definir uma senha para restringir quem pode usar o link público.", "Password protection" : "Proteger com senha", "Enter a password" : "Digite uma senha", + "Save password" : "Salvar senha", "Copy conversation link" : "Copiar link da conversa", + "Conversation password has been saved" : "A senha da conversa foi salva", + "Conversation password has been removed" : "A senha da conversa foi removida", + "Error occurred while saving conversation password" : "Ocorreu um erro ao salvar a senha da conversa", + "Error occurred while allowing guests" : "Erro ocorrido ao permitir convidados", + "Error occurred while disallowing guests" : "Erro ocorrido ao não permitir convidados", + "Open conversation to registered users" : "Conversa aberta a usuários registrados", + "This conversation will be shown in search results" : "Esta conversa será mostrada nos resultados da pesquisa", + "Also open to guest app users" : "Também abrir a usuários convidados do aplicativo", + "Error occurred when opening or limiting the conversation" : "Ocorreu um erro ao abrir ou limitar a conversa", + "Enabling the lobby only allows moderators to post messages." : "A ativação do lobby só permite que os moderadores postem mensagens.", "Enable lobby" : "Ativar lobby", + "After the time limit the lobby will be automatically disabled." : "Após o limite de tempo o lobby será desativado automaticamente.", + "Meeting start time" : "Hora de início da reunião", "Start time (optional)" : "Horário de início (opcional)", + "Error occurred when restricting the conversation to moderator" : "Ocorreu um erro ao restringir a conversa ao moderador", + "Error occurred when opening the conversation to everyone" : "Ocorreu um erro ao abrir a conversa para todos", + "Start time has been updated" : "A hora de início foi atualizada", + "Error occurred while updating start time" : "Ocorreu um erro ao atualizar a hora de início", + "Locking the conversation prevents anyone to post messages or start calls." : "O bloqueio da conversa impede que qualquer pessoa poste mensagens ou inicie chamadas.", "Lock conversation" : "Bloquear conversa", + "Error occurred when locking the conversation" : "Ocorreu um erro ao bloquear a conversa", + "Error occurred when unlocking the conversation" : "Ocorreu um erro ao desbloquear a conversa", "Save" : "Salvar", "Edit" : "Editar", + "More information" : "Mais informações", + "Delete" : "Excluir", "You can bridge channels from various instant messaging systems with Matterbridge." : "Você pode conectar canais de vários sistemas de mensagens instantâneas com Matterbridge.", + "More info on Matterbridge" : "Mais informações no Matterbridge", + "Enable bridge" : "Ativar ponte", + "Show Matterbridge log" : "Mostrar log do Matterbridge", "Nextcloud URL" : "URL Nextcloud", "Nextcloud user" : "Usuário Nextcloud", "User password" : "Senha do usuário", @@ -697,28 +753,38 @@ OC.L10N.register( "XMPP/Jabber server URL" : "URL do servidor XMPP/Jabber", "MUC server URL" : "URL do servidor MUC", "Jabber ID" : "ID Jabber", + "Add new bridged channel to current conversation" : "Adicionar novo canal de comunicação para a conversa atual", "unknown state" : "estado desconhecido", "running" : "rodando", + "not running, check Matterbridge log" : "não está funcionando, verifique o log do Matterbridge", "not running" : "sem funcionamento", "Bridge saved" : "Ponte salva", + "Allow participants to join from a phone." : "Permite que participantes entrem a partir de um telefone.", "Enable SIP dial-in" : "Ativar discagem SIP", - "Conversation \"{conversationName}\"" : "Conversação \"{conversationName}\"", + "SIP dial-in is now enabled" : "A discagem SIP agora está ativada", + "SIP dial-in is now disabled" : "A discagem SIP agora está desativada", + "Error occurred when enabling SIP dial-in" : "Ocorreu um erro ao ativar a discagem SIP", + "Error occurred when disabling SIP dial-in" : "Ocorreu um erro ao desativar a discagem SIP", + "Conversation \"{conversationName}\"" : "Conversa \"{conversationName}\"", "Settings for conversation \"{conversationName}\"" : "Configurações para conversa \"{conversationName}\"", "Chat notifications" : "Notificações do bate-papo", "Leave conversation" : "Encerrar conversa", "Delete conversation" : "Excluir conversa", "Remove from favorites" : "Remover dos favoritos", "Add to favorites" : "Adicionar aos favoritos", + "Joining conversation …" : "Entrando na conversa...", "You: {lastMessage}" : "Você: {lastMessage}", "{actor}: {lastMessage}" : "{actor}: {lastMessage}", "Do you really want to delete \"{displayName}\"?" : "Quer realmente excluir \"{displayName}\"?", "You need to promote a new moderator before you can leave the conversation." : "Você precisa promover um novo moderador antes de sair da conversa.", "No matches" : "Sem correspondência", "Conversation list" : "Lista de conversas", + "Open conversations" : "Abrir conversas", "Loading" : "Carregando", "No search results" : "Nenhum resultado encontrado", "Groups" : "Grupos", "Circles" : "Círculos", + "Talk settings" : "Configurações do Talk", "Users, groups and circles" : "Usuários, grupos e círculos", "Users and groups" : "Usuários e grupos", "Users and circles" : "Usuários e círculos", @@ -753,6 +819,12 @@ OC.L10N.register( "No camera available" : "Nenhuma câmera disponível", "Select camera" : "Selecionar câmera", "Reply" : "Responder", + "Sending message" : "Enviando mensagem", + "Message sent" : "Mensagem enviada", + "Message read by everyone who shares their reading status" : "Mensagem lida por todos que compartilham seu status de leitura", + "Failed to send the message. Click to try again" : "Ocorreu um erro ao enviar a mensagem. Clique para tentar novamente.", + "You can not send messages to this conversation at the moment" : "Você não pode enviar mensagens para esta conversa no momento", + "{stack} in {board}" : "{stack} de {board}", "Remove" : "Excluir", "[Unknown username]" : "[Nome de usuário desconhecido]", "Scroll to bottom" : "Rolar para baixo", @@ -770,6 +842,12 @@ OC.L10N.register( "No permission to post messages in this conversation" : "Sem permissão para postar mensagens nesta conversa", "Could not post message: {errorMessage}" : "Não foi possível postar a mensagem: {errorMessage}", "Invalid path selected" : "Caminho inválido selecionado", + "Cancel editing description" : "Cancelar descrição de edição", + "Submit conversation description" : "Enviar descrição da conversa", + "Edit conversation description" : "Editar descrição da conversa", + "Description" : "Descrição", + "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "A descrição deve ter no máximo {maxLength} caracteres. Seu texto atual tem {charactersCount} caracteres.", + "Disable lobby" : "Desativar lobby", "moderator" : "moderador", "guest" : "convidado", "Dial-in PIN" : "PIN de discagem", @@ -779,9 +857,10 @@ OC.L10N.register( "Settings for participant \"{user}\"" : "Configurações para o participante \"{user}\"", "Add participant \"{user}\"" : "Adicionar participante \"{user}\"", "Participant \"{user}\"" : "Participante \"{user}\"", - "Joined with audio" : "Anexado com áudio", - "Joined with video" : "Anexado com video", - "Joined via phone" : "Anexado via fone", + "Joined with audio" : "Entrou com áudio", + "Joined with video" : "Entrou com video", + "Joined via phone" : "Entrou via telefone", + "Raised their hand" : "Levantou a mão", "Add users" : "Adicionar usuários", "Add groups" : "Adicionar grupos", "Add emails" : "Adicionar e-mails", @@ -795,15 +874,20 @@ OC.L10N.register( "Add groups or circles" : "Adicionar grupos ou círculos", "Add other sources" : "Adicionar outras fontes", "Participants" : "Participantes", - "Search or add participants" : "Pesquise ou adicione participantes", + "Search or add participants" : "Procure ou adicione participantes", "An error occurred while adding the participants" : "Ocorreu um erro ao adicionar os participantes", "An error occurred while fetching the participants" : "Erro ao buscar os participantes", + "Add a description for this conversation" : "Adicionar uma descrição para esta conversa", "Chat" : "Conversa", + "Details" : "Detalhes", + "Error while updating conversation description" : "Ocorreu um erro ao editar a descrição da conversa", "Meeting ID: {meetingId}" : "ID da reunião: {meetingId}", "Your PIN: {attendeePin}" : "Seu PIN: {attendeePin}", "Display name: " : "Nome de tela:", "Choose devices" : "Escolher dispositivos", "Attachments folder" : "Pasta para os anexos", + "Privacy" : "Privacidade", + "Share my read-status and show the read-status of others" : "Compartilhar o meu status de leitura e o dos outros", "Keyboard shortcuts" : "Atalhos de teclado", "Speed up your Talk experience with these quick shortcuts." : "Acelere sua experiência no Talk com esses atalhos rápidos.", "Focus the chat input" : "Foco na entrada do bate-papo", @@ -815,9 +899,12 @@ OC.L10N.register( "Microphone on and off" : "Microfone ligado e desligado", "Space bar" : "Barra de espaço", "Push to talk or push to mute" : "Aperte para falar ou para deixar mudo", + "Raise or lower hand" : "Levantar ou baixar a mão", "Choose in which folder attachments should be saved." : "Escolha em qual pasta os anexos de mensagens serão salvos.", "Select location for attachments" : "Selecionar localização para os anexos", "Error while setting attachment folder" : "Erro ao definir a pasta do anexo", + "Your privacy setting has been saved" : "Sua configuração de privacidade foi salva", + "Error while setting read status privacy" : "Ocorreu um erro ao definir a privacidade do status de leitura", "Start call" : "Iniciar chamada", "Nextcloud Talk was updated, you need to reload the page before you can start or join a call." : "O Nextcloud Talk foi atualizado. É necessário recarregar a página antes de iniciar ou participar de uma chamada.", "You will be able to join the call only after a moderator starts it." : "Você só poderá ingressar na chamada depois que um moderador a iniciar.", @@ -845,7 +932,7 @@ OC.L10N.register( "Select conversation" : "Selecionar conversa", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Você ingressou na conversa em outra janela ou dispositivo. No momento, isso não é suportado pelo Nextcloud Talk e portanto esta sessão foi encerrada.", "Join a conversation or start a new one" : "Junte-se a uma conversa ou inicie outra", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "O navegador que você está usando não é totalmente suportado pelo Nextcloud Talk. Use a versão mais recente do Mozilla Firefox, Microsoft Edge, Google Chrome ou Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "O navegador que você está usando não possui suporte completo pelo Nextcloud Talk. Use a última versão do Mozilla Firefox, Microsoft Edge, Google Chrome, Opera ou Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "O Nextcloud Talk foi atualizado, recarregue a página", "Do not disturb" : "Não perturbe", "Away" : "Fora", @@ -913,6 +1000,7 @@ OC.L10N.register( "Start calls" : "Iniciar chamadas", "Who can start a call?" : "Quem pode iniciar uma chamada?", "Select a conversation to add to the project" : "Selecionar uma conversa para adicionar ao projeto", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "O navegador que você está usando não é totalmente suportado pelo Nextcloud Talk. Use a versão mais recente do Mozilla Firefox, Microsoft Edge, Google Chrome ou Apple Safari.", "Please enter the password for this call" : "Digite a senha para esta chamada", "Password required" : "Senha requerida", "Cancel" : "Cancelar", diff --git a/l10n/pt_BR.json b/l10n/pt_BR.json index be2bbb41b..fe09ccd72 100644 --- a/l10n/pt_BR.json +++ b/l10n/pt_BR.json @@ -45,6 +45,12 @@ "{actor} renamed the conversation from \"%1$s\" to \"%2$s\"" : "{actor} renomeou a conversa de \"%1$s\" para \"%2$s\"", "You renamed the conversation from \"%1$s\" to \"%2$s\"" : "Você renomeou a conversa de \"%1$s\" para \"%2$s\"", "An administrator renamed the conversation from \"%1$s\" to \"%2$s\"" : "Um administrador renomeou a conversa \"%1$s\" para \"%2$s\"", + "{actor} set the description to \"%1$s\"" : "{actor} definiu a descrição como \"%1$s\"", + "You set the description to \"%1$s\"" : "Você definiu a descrição como \"%1$s\"", + "An administrator set the description to \"%1$s\"" : "Um administrador definiu a descrição como \"%1$s\"", + "{actor} removed the description" : "{actor} removeu a descrição", + "You removed the description" : "Você removeu a descrição", + "An administrator removed the description" : "Um administrador removeu a descrição", "{actor} started a call" : "{actor} iniciou uma chamada", "You started a call" : "Você iniciou uma chamada", "{actor} joined the call" : "{actor} juntou-se à chamada", @@ -57,6 +63,15 @@ "{actor} locked the conversation" : "{actor} bloqueou a conversa", "You locked the conversation" : "Você bloqueou a conversa", "An administrator locked the conversation" : "Um administrador bloqueou a conversa", + "{actor} limited the conversation to the current participants" : "{actor} limitou a conversa aos atuais participantes", + "You limited the conversation to the current participants" : "Você limitou a conversa aos atuais participantes", + "An administrator limited the conversation to the current participants" : "Um administrador limitou a conversa aos atuais participantes", + "{actor} opened the conversation to registered users" : "{actor} abriu a conversa aos usuários registrados", + "You opened the conversation to registered users" : "Você abriu a conversa aos usuários registrados", + "An administrator opened the conversation to registered users" : "Um administrador abriu a conversa aos usuários registrados", + "{actor} opened the conversation to registered and guest app users" : "{actor} abriu a conversa aos usuários registrados e convidados do aplicativo", + "You opened the conversation to registered and guest app users" : "Você abriu a conversa aos usuários registrados e convidados do aplicativo", + "An administrator opened the conversation to registered and guest app users" : "Um administrador abriu a conversa aos usuários registrados e convidados do aplicativo", "The conversation is now open to everyone" : "A conversa está aberta a todos agora", "{actor} opened the conversation to everyone" : "{actor} abriu a conversa a todos", "You opened the conversation to everyone" : "Você abriu a conversa para todos", @@ -106,6 +121,10 @@ "You updated the Matterbridge configuration." : "Você atualizou a configuração do Matterbridge.", "{actor} removed the Matterbridge configuration." : "{actor} excluiu a configuração do Matterbridge.", "You removed the Matterbridge configuration." : "Você excluiu a configuração do Matterbridge.", + "{actor} started Matterbridge." : "{actor} iniciou o Matterbridge.", + "You started Matterbridge." : "Você iniciou o Matterbridge.", + "{actor} stopped Matterbridge." : "{actor} interrompeu o Matterbridge.", + "You stopped Matterbridge." : "Você interrompeu o Matterbridge.", "%s (guest)" : "%s (convidado)", "_Call with %n guest (Duration {duration})_::_Call with %n guests (Duration {duration})_" : ["Chamada com %n convidado (Duração {duration})","Chamada com %n convidados (Duração {duration})"], "Call with {user1} and {user2} (Duration {duration})" : "Chamada com {user1} e {user2} (Duração {duration})", @@ -195,6 +214,7 @@ "Deleting the hosted signaling server account failed. Please check back later." : "A exclusão da conta do servidor de sinalização hospedada falhou. Tente novamente mais tarde.", "Failed to delete the account because the trial server behaved wrongly. Please check back later." : "Falha ao excluir a conta porque o servidor de avaliação se comportou incorretamente. Por favor, tente novamente mais tarde.", "There is a problem with deleting the account. Please check your logs for further information." : "Há um problema com a exclusão da conta. Verifique os logs para obter mais informações.", + "Too many requests are sent from your servers address. Please try again later." : "Muitas solicitações são enviadas dos endereços dos seus servidores. Tente novamente mais tarde.", "Failed to delete the account because the trial server is unreachable. Please check back later." : "Falha ao excluir a conta porque o servidor de avaliação está inacessível. Tente novamente mais tarde.", "Andorra" : "Andorra", "United Arab Emirates" : "Emirados Árabes Unidos", @@ -574,6 +594,8 @@ "Test this server" : "Testar este servidor", "TURN servers" : "Servidores TURN", "A TURN server is used to proxy the traffic from participants behind a firewall. If individual participants can not connect to others a TURN server is mostlikely required. See {linkstart}this documentation{linkend} for setup instructions." : "Um servidor TURN é usado para o proxy do tráfego dos participantes por trás de um firewall. Se os participantes individuais não puderem se conectar a outros, provavelmente será necessário um servidor TURN. Consulte {linkstart}esta documentação{linkend} para instruções de configuração.", + "{nickName} raised their hand." : "{nickName} levantou a mão.", + "A participant raised their hand." : "Um participante levantou a mão.", "Previous page of videos" : "Página anterior de vídeos", "Next page of videos" : "Próxima página de vídeos", "Collapse stripe" : "Recolher faixa", @@ -589,8 +611,11 @@ "Share a single window" : "Compartilhar uma janela única", "Show your screen" : "Exibir sua tela", "Stop screensharing" : "Parar de compartilhar tela", + "Lower hand" : "Baixar a mão", + "More actions" : "Mais ações", "Settings" : "Configurações", "Dismiss" : "Dispensar", + "Raise hand" : "Levantar a mão", "No audio" : "Sem áudio", "Mute audio (m)" : "Sem áudio (m)", "Unmute audio (m)" : "Com áudio (m)", @@ -644,15 +669,46 @@ "Call in progress" : "Chamada em andamento", "Favorite" : "Favorito", "Conversation settings" : "Configurações da conversa", + "Guests access" : "Acesso de convidados", + "Meeting settings" : "Configurações da reunião", + "Matterbridge" : "Matterbridge", + "Allow guests to use a public link to join this conversation." : "Permite que convidados usem um link público para entrar nesta conversa.", + "Allow guests" : "Permitir convidados", + "Set a password to restrict who can use the public link." : "Definir uma senha para restringir quem pode usar o link público.", "Password protection" : "Proteger com senha", "Enter a password" : "Digite uma senha", + "Save password" : "Salvar senha", "Copy conversation link" : "Copiar link da conversa", + "Conversation password has been saved" : "A senha da conversa foi salva", + "Conversation password has been removed" : "A senha da conversa foi removida", + "Error occurred while saving conversation password" : "Ocorreu um erro ao salvar a senha da conversa", + "Error occurred while allowing guests" : "Erro ocorrido ao permitir convidados", + "Error occurred while disallowing guests" : "Erro ocorrido ao não permitir convidados", + "Open conversation to registered users" : "Conversa aberta a usuários registrados", + "This conversation will be shown in search results" : "Esta conversa será mostrada nos resultados da pesquisa", + "Also open to guest app users" : "Também abrir a usuários convidados do aplicativo", + "Error occurred when opening or limiting the conversation" : "Ocorreu um erro ao abrir ou limitar a conversa", + "Enabling the lobby only allows moderators to post messages." : "A ativação do lobby só permite que os moderadores postem mensagens.", "Enable lobby" : "Ativar lobby", + "After the time limit the lobby will be automatically disabled." : "Após o limite de tempo o lobby será desativado automaticamente.", + "Meeting start time" : "Hora de início da reunião", "Start time (optional)" : "Horário de início (opcional)", + "Error occurred when restricting the conversation to moderator" : "Ocorreu um erro ao restringir a conversa ao moderador", + "Error occurred when opening the conversation to everyone" : "Ocorreu um erro ao abrir a conversa para todos", + "Start time has been updated" : "A hora de início foi atualizada", + "Error occurred while updating start time" : "Ocorreu um erro ao atualizar a hora de início", + "Locking the conversation prevents anyone to post messages or start calls." : "O bloqueio da conversa impede que qualquer pessoa poste mensagens ou inicie chamadas.", "Lock conversation" : "Bloquear conversa", + "Error occurred when locking the conversation" : "Ocorreu um erro ao bloquear a conversa", + "Error occurred when unlocking the conversation" : "Ocorreu um erro ao desbloquear a conversa", "Save" : "Salvar", "Edit" : "Editar", + "More information" : "Mais informações", + "Delete" : "Excluir", "You can bridge channels from various instant messaging systems with Matterbridge." : "Você pode conectar canais de vários sistemas de mensagens instantâneas com Matterbridge.", + "More info on Matterbridge" : "Mais informações no Matterbridge", + "Enable bridge" : "Ativar ponte", + "Show Matterbridge log" : "Mostrar log do Matterbridge", "Nextcloud URL" : "URL Nextcloud", "Nextcloud user" : "Usuário Nextcloud", "User password" : "Senha do usuário", @@ -695,28 +751,38 @@ "XMPP/Jabber server URL" : "URL do servidor XMPP/Jabber", "MUC server URL" : "URL do servidor MUC", "Jabber ID" : "ID Jabber", + "Add new bridged channel to current conversation" : "Adicionar novo canal de comunicação para a conversa atual", "unknown state" : "estado desconhecido", "running" : "rodando", + "not running, check Matterbridge log" : "não está funcionando, verifique o log do Matterbridge", "not running" : "sem funcionamento", "Bridge saved" : "Ponte salva", + "Allow participants to join from a phone." : "Permite que participantes entrem a partir de um telefone.", "Enable SIP dial-in" : "Ativar discagem SIP", - "Conversation \"{conversationName}\"" : "Conversação \"{conversationName}\"", + "SIP dial-in is now enabled" : "A discagem SIP agora está ativada", + "SIP dial-in is now disabled" : "A discagem SIP agora está desativada", + "Error occurred when enabling SIP dial-in" : "Ocorreu um erro ao ativar a discagem SIP", + "Error occurred when disabling SIP dial-in" : "Ocorreu um erro ao desativar a discagem SIP", + "Conversation \"{conversationName}\"" : "Conversa \"{conversationName}\"", "Settings for conversation \"{conversationName}\"" : "Configurações para conversa \"{conversationName}\"", "Chat notifications" : "Notificações do bate-papo", "Leave conversation" : "Encerrar conversa", "Delete conversation" : "Excluir conversa", "Remove from favorites" : "Remover dos favoritos", "Add to favorites" : "Adicionar aos favoritos", + "Joining conversation …" : "Entrando na conversa...", "You: {lastMessage}" : "Você: {lastMessage}", "{actor}: {lastMessage}" : "{actor}: {lastMessage}", "Do you really want to delete \"{displayName}\"?" : "Quer realmente excluir \"{displayName}\"?", "You need to promote a new moderator before you can leave the conversation." : "Você precisa promover um novo moderador antes de sair da conversa.", "No matches" : "Sem correspondência", "Conversation list" : "Lista de conversas", + "Open conversations" : "Abrir conversas", "Loading" : "Carregando", "No search results" : "Nenhum resultado encontrado", "Groups" : "Grupos", "Circles" : "Círculos", + "Talk settings" : "Configurações do Talk", "Users, groups and circles" : "Usuários, grupos e círculos", "Users and groups" : "Usuários e grupos", "Users and circles" : "Usuários e círculos", @@ -751,6 +817,12 @@ "No camera available" : "Nenhuma câmera disponível", "Select camera" : "Selecionar câmera", "Reply" : "Responder", + "Sending message" : "Enviando mensagem", + "Message sent" : "Mensagem enviada", + "Message read by everyone who shares their reading status" : "Mensagem lida por todos que compartilham seu status de leitura", + "Failed to send the message. Click to try again" : "Ocorreu um erro ao enviar a mensagem. Clique para tentar novamente.", + "You can not send messages to this conversation at the moment" : "Você não pode enviar mensagens para esta conversa no momento", + "{stack} in {board}" : "{stack} de {board}", "Remove" : "Excluir", "[Unknown username]" : "[Nome de usuário desconhecido]", "Scroll to bottom" : "Rolar para baixo", @@ -768,6 +840,12 @@ "No permission to post messages in this conversation" : "Sem permissão para postar mensagens nesta conversa", "Could not post message: {errorMessage}" : "Não foi possível postar a mensagem: {errorMessage}", "Invalid path selected" : "Caminho inválido selecionado", + "Cancel editing description" : "Cancelar descrição de edição", + "Submit conversation description" : "Enviar descrição da conversa", + "Edit conversation description" : "Editar descrição da conversa", + "Description" : "Descrição", + "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "A descrição deve ter no máximo {maxLength} caracteres. Seu texto atual tem {charactersCount} caracteres.", + "Disable lobby" : "Desativar lobby", "moderator" : "moderador", "guest" : "convidado", "Dial-in PIN" : "PIN de discagem", @@ -777,9 +855,10 @@ "Settings for participant \"{user}\"" : "Configurações para o participante \"{user}\"", "Add participant \"{user}\"" : "Adicionar participante \"{user}\"", "Participant \"{user}\"" : "Participante \"{user}\"", - "Joined with audio" : "Anexado com áudio", - "Joined with video" : "Anexado com video", - "Joined via phone" : "Anexado via fone", + "Joined with audio" : "Entrou com áudio", + "Joined with video" : "Entrou com video", + "Joined via phone" : "Entrou via telefone", + "Raised their hand" : "Levantou a mão", "Add users" : "Adicionar usuários", "Add groups" : "Adicionar grupos", "Add emails" : "Adicionar e-mails", @@ -793,15 +872,20 @@ "Add groups or circles" : "Adicionar grupos ou círculos", "Add other sources" : "Adicionar outras fontes", "Participants" : "Participantes", - "Search or add participants" : "Pesquise ou adicione participantes", + "Search or add participants" : "Procure ou adicione participantes", "An error occurred while adding the participants" : "Ocorreu um erro ao adicionar os participantes", "An error occurred while fetching the participants" : "Erro ao buscar os participantes", + "Add a description for this conversation" : "Adicionar uma descrição para esta conversa", "Chat" : "Conversa", + "Details" : "Detalhes", + "Error while updating conversation description" : "Ocorreu um erro ao editar a descrição da conversa", "Meeting ID: {meetingId}" : "ID da reunião: {meetingId}", "Your PIN: {attendeePin}" : "Seu PIN: {attendeePin}", "Display name: " : "Nome de tela:", "Choose devices" : "Escolher dispositivos", "Attachments folder" : "Pasta para os anexos", + "Privacy" : "Privacidade", + "Share my read-status and show the read-status of others" : "Compartilhar o meu status de leitura e o dos outros", "Keyboard shortcuts" : "Atalhos de teclado", "Speed up your Talk experience with these quick shortcuts." : "Acelere sua experiência no Talk com esses atalhos rápidos.", "Focus the chat input" : "Foco na entrada do bate-papo", @@ -813,9 +897,12 @@ "Microphone on and off" : "Microfone ligado e desligado", "Space bar" : "Barra de espaço", "Push to talk or push to mute" : "Aperte para falar ou para deixar mudo", + "Raise or lower hand" : "Levantar ou baixar a mão", "Choose in which folder attachments should be saved." : "Escolha em qual pasta os anexos de mensagens serão salvos.", "Select location for attachments" : "Selecionar localização para os anexos", "Error while setting attachment folder" : "Erro ao definir a pasta do anexo", + "Your privacy setting has been saved" : "Sua configuração de privacidade foi salva", + "Error while setting read status privacy" : "Ocorreu um erro ao definir a privacidade do status de leitura", "Start call" : "Iniciar chamada", "Nextcloud Talk was updated, you need to reload the page before you can start or join a call." : "O Nextcloud Talk foi atualizado. É necessário recarregar a página antes de iniciar ou participar de uma chamada.", "You will be able to join the call only after a moderator starts it." : "Você só poderá ingressar na chamada depois que um moderador a iniciar.", @@ -843,7 +930,7 @@ "Select conversation" : "Selecionar conversa", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Você ingressou na conversa em outra janela ou dispositivo. No momento, isso não é suportado pelo Nextcloud Talk e portanto esta sessão foi encerrada.", "Join a conversation or start a new one" : "Junte-se a uma conversa ou inicie outra", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "O navegador que você está usando não é totalmente suportado pelo Nextcloud Talk. Use a versão mais recente do Mozilla Firefox, Microsoft Edge, Google Chrome ou Apple Safari.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "O navegador que você está usando não possui suporte completo pelo Nextcloud Talk. Use a última versão do Mozilla Firefox, Microsoft Edge, Google Chrome, Opera ou Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "O Nextcloud Talk foi atualizado, recarregue a página", "Do not disturb" : "Não perturbe", "Away" : "Fora", @@ -911,6 +998,7 @@ "Start calls" : "Iniciar chamadas", "Who can start a call?" : "Quem pode iniciar uma chamada?", "Select a conversation to add to the project" : "Selecionar uma conversa para adicionar ao projeto", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "O navegador que você está usando não é totalmente suportado pelo Nextcloud Talk. Use a versão mais recente do Mozilla Firefox, Microsoft Edge, Google Chrome ou Apple Safari.", "Please enter the password for this call" : "Digite a senha para esta chamada", "Password required" : "Senha requerida", "Cancel" : "Cancelar", diff --git a/l10n/ru.js b/l10n/ru.js index 4ceff5bbf..0c110aaaf 100644 --- a/l10n/ru.js +++ b/l10n/ru.js @@ -683,7 +683,6 @@ OC.L10N.register( "Select conversation" : "Выберите обсуждение", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Вы подключены к обсуждению в другом окне или устройстве. Данная возможность не поддерживается Nextcloud Talk в настоящее время, поэтому данная сессия будет закрыта.", "Join a conversation or start a new one" : "Присоединитесь к обсуждению или же начните новое", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Ваш браузер не полностью поддерживает Nextcloud Talk. Пожалуйста, используйте последнюю версию Mozilla Firefox, Microsoft Edge, Google Chrome или Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk обновлен, пожалуйста обновите страницу", "Do not disturb" : "Не беспокоить", "Away" : "Отсутствует", @@ -748,6 +747,7 @@ OC.L10N.register( "Start calls" : "Право начинать вызовы:", "Who can start a call?" : "Кто может начать вызов?", "Select a conversation to add to the project" : "Выберите обсуждение, чтобы добавить его в проект", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Ваш браузер не полностью поддерживает Nextcloud Talk. Пожалуйста, используйте последнюю версию Mozilla Firefox, Microsoft Edge, Google Chrome или Apple Safari.", "Please enter the password for this call" : "Задайте пароль для этого вызова", "Password required" : "Требуется пароль", "Cancel" : "Отмена", diff --git a/l10n/ru.json b/l10n/ru.json index a49d243cf..71fe848a9 100644 --- a/l10n/ru.json +++ b/l10n/ru.json @@ -681,7 +681,6 @@ "Select conversation" : "Выберите обсуждение", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Вы подключены к обсуждению в другом окне или устройстве. Данная возможность не поддерживается Nextcloud Talk в настоящее время, поэтому данная сессия будет закрыта.", "Join a conversation or start a new one" : "Присоединитесь к обсуждению или же начните новое", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Ваш браузер не полностью поддерживает Nextcloud Talk. Пожалуйста, используйте последнюю версию Mozilla Firefox, Microsoft Edge, Google Chrome или Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk обновлен, пожалуйста обновите страницу", "Do not disturb" : "Не беспокоить", "Away" : "Отсутствует", @@ -746,6 +745,7 @@ "Start calls" : "Право начинать вызовы:", "Who can start a call?" : "Кто может начать вызов?", "Select a conversation to add to the project" : "Выберите обсуждение, чтобы добавить его в проект", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Ваш браузер не полностью поддерживает Nextcloud Talk. Пожалуйста, используйте последнюю версию Mozilla Firefox, Microsoft Edge, Google Chrome или Apple Safari.", "Please enter the password for this call" : "Задайте пароль для этого вызова", "Password required" : "Требуется пароль", "Cancel" : "Отмена", diff --git a/l10n/sk.js b/l10n/sk.js index 683adcc08..af7d5e729 100644 --- a/l10n/sk.js +++ b/l10n/sk.js @@ -822,7 +822,6 @@ OC.L10N.register( "Select conversation" : "Vybrať konveráciu", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Pripojili ste sa k rozhovoru v inom okne alebo zariadení. Nextcloud Talk v súčasnosti túto možnosť nepodporuje, preto bola sedenie ukončené.", "Join a conversation or start a new one" : "Pripojte sa k rozhovoru, alebo začnite nový", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Prehliadač, ktorý používate, nie je službou Nextcloud Talk plne podporovaný. Použite najnovšiu verziu prehliadača Mozilla Firefox, Microsoft Edge, Google Chrome alebo Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk bolo aktualizované, znova načítajte stránku", "Do not disturb" : "Nerušiť", "Away" : "Preč", @@ -890,6 +889,7 @@ OC.L10N.register( "Start calls" : "Začať hovory", "Who can start a call?" : "Kto môže začať hovor?", "Select a conversation to add to the project" : "Vyberte konverzáciu, ktorú chcete pridať do projektu", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Prehliadač, ktorý používate, nie je službou Nextcloud Talk plne podporovaný. Použite najnovšiu verziu prehliadača Mozilla Firefox, Microsoft Edge, Google Chrome alebo Apple Safari.", "Please enter the password for this call" : "Zadajte prosím heslo pre tento hovor", "Password required" : "Vyžaduje sa heslo", "Cancel" : "Zrušiť", diff --git a/l10n/sk.json b/l10n/sk.json index 1359a0a9e..72e3508a2 100644 --- a/l10n/sk.json +++ b/l10n/sk.json @@ -820,7 +820,6 @@ "Select conversation" : "Vybrať konveráciu", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Pripojili ste sa k rozhovoru v inom okne alebo zariadení. Nextcloud Talk v súčasnosti túto možnosť nepodporuje, preto bola sedenie ukončené.", "Join a conversation or start a new one" : "Pripojte sa k rozhovoru, alebo začnite nový", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Prehliadač, ktorý používate, nie je službou Nextcloud Talk plne podporovaný. Použite najnovšiu verziu prehliadača Mozilla Firefox, Microsoft Edge, Google Chrome alebo Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk bolo aktualizované, znova načítajte stránku", "Do not disturb" : "Nerušiť", "Away" : "Preč", @@ -888,6 +887,7 @@ "Start calls" : "Začať hovory", "Who can start a call?" : "Kto môže začať hovor?", "Select a conversation to add to the project" : "Vyberte konverzáciu, ktorú chcete pridať do projektu", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Prehliadač, ktorý používate, nie je službou Nextcloud Talk plne podporovaný. Použite najnovšiu verziu prehliadača Mozilla Firefox, Microsoft Edge, Google Chrome alebo Apple Safari.", "Please enter the password for this call" : "Zadajte prosím heslo pre tento hovor", "Password required" : "Vyžaduje sa heslo", "Cancel" : "Zrušiť", diff --git a/l10n/sl.js b/l10n/sl.js index d5b465837..eef45eb24 100644 --- a/l10n/sl.js +++ b/l10n/sl.js @@ -695,7 +695,6 @@ OC.L10N.register( "After the time limit the lobby will be automatically disabled." : "Po določeni časovni omejitvi bo čakalnica samodejno onemogočena.", "Meeting start time" : "Čas začetka sestanka", "Start time (optional)" : "Čas začetka (izbirno)", - "Save meeting start time" : "Shrani čas začetka sestanka", "Error occurred when restricting the conversation to moderator" : "Prišlo je do napake med omejevanjem pogovora za moderatorja.", "Error occurred when opening the conversation to everyone" : "Prišlo je do napake med odpiranjem pogovora za vse udeležence.", "Start time has been updated" : "Čas začetka je posodobljen", @@ -929,7 +928,6 @@ OC.L10N.register( "Select conversation" : "pogovora", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Pogovoru ste se pridružili v novem oknu brskalnika, ali na drugi napravi. Nextcloud Talk te možnosti trenutno ne omogoča, zato je bila druga seja preklicana.", "Join a conversation or start a new one" : "Pridružite se pogovoru, ali pa začnite novega.", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Brskalnik, ki ga trenutno uporabljate, ni popolnoma podprt s programom Nextcloud Talk. Priporočljivo je uporabiti najnovejšo različico brskalnika Mozilla Firefox, Microsoft Edge, Google Chrome ali pa Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk je bil posodobljen, ponovno je treba naložiti stran", "Do not disturb" : "Ne moti", "Away" : "Odsoten", @@ -997,6 +995,7 @@ OC.L10N.register( "Start calls" : "Začni klice", "Who can start a call?" : "Kdo lahko začne klic?", "Select a conversation to add to the project" : "Izbor pogovora za dodajanje k projektu", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Brskalnik, ki ga trenutno uporabljate, ni popolnoma podprt s programom Nextcloud Talk. Priporočljivo je uporabiti najnovejšo različico brskalnika Mozilla Firefox, Microsoft Edge, Google Chrome ali pa Apple Safari.", "Please enter the password for this call" : "Vpišite geslo za ta klic", "Password required" : "Zahtevano je geslo", "Cancel" : "Prekliči", diff --git a/l10n/sl.json b/l10n/sl.json index a4f35e6a9..8485d0dbf 100644 --- a/l10n/sl.json +++ b/l10n/sl.json @@ -693,7 +693,6 @@ "After the time limit the lobby will be automatically disabled." : "Po določeni časovni omejitvi bo čakalnica samodejno onemogočena.", "Meeting start time" : "Čas začetka sestanka", "Start time (optional)" : "Čas začetka (izbirno)", - "Save meeting start time" : "Shrani čas začetka sestanka", "Error occurred when restricting the conversation to moderator" : "Prišlo je do napake med omejevanjem pogovora za moderatorja.", "Error occurred when opening the conversation to everyone" : "Prišlo je do napake med odpiranjem pogovora za vse udeležence.", "Start time has been updated" : "Čas začetka je posodobljen", @@ -927,7 +926,6 @@ "Select conversation" : "pogovora", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Pogovoru ste se pridružili v novem oknu brskalnika, ali na drugi napravi. Nextcloud Talk te možnosti trenutno ne omogoča, zato je bila druga seja preklicana.", "Join a conversation or start a new one" : "Pridružite se pogovoru, ali pa začnite novega.", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Brskalnik, ki ga trenutno uporabljate, ni popolnoma podprt s programom Nextcloud Talk. Priporočljivo je uporabiti najnovejšo različico brskalnika Mozilla Firefox, Microsoft Edge, Google Chrome ali pa Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk je bil posodobljen, ponovno je treba naložiti stran", "Do not disturb" : "Ne moti", "Away" : "Odsoten", @@ -995,6 +993,7 @@ "Start calls" : "Začni klice", "Who can start a call?" : "Kdo lahko začne klic?", "Select a conversation to add to the project" : "Izbor pogovora za dodajanje k projektu", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Brskalnik, ki ga trenutno uporabljate, ni popolnoma podprt s programom Nextcloud Talk. Priporočljivo je uporabiti najnovejšo različico brskalnika Mozilla Firefox, Microsoft Edge, Google Chrome ali pa Apple Safari.", "Please enter the password for this call" : "Vpišite geslo za ta klic", "Password required" : "Zahtevano je geslo", "Cancel" : "Prekliči", diff --git a/l10n/sv.js b/l10n/sv.js index ad102bf41..9d1cd3f67 100644 --- a/l10n/sv.js +++ b/l10n/sv.js @@ -640,7 +640,6 @@ OC.L10N.register( "Link to a conversation" : "Länka till en konversation", "Select conversation" : "Välj konversation", "Join a conversation or start a new one" : "Anslut till en konversation eller starta en ny", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Webbläsaren du använder stöds inte av Nextcloud Talk. Använd den senaste versionen av Mozilla Firefox, Microsoft Edge, Google Chrome eller Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk uppdaterades, ladda om sidan igen", "Do not disturb" : "Stör ej", "Away" : "Iväg", @@ -699,6 +698,7 @@ OC.L10N.register( "Start calls" : "Starta samtal", "Who can start a call?" : "Vem kan starta ett samtal?", "Select a conversation to add to the project" : "Välj en konversation som ska läggas till i projektet", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Webbläsaren du använder stöds inte av Nextcloud Talk. Använd den senaste versionen av Mozilla Firefox, Microsoft Edge, Google Chrome eller Apple Safari.", "Please enter the password for this call" : "Vänligen ange lösenordet för detta samtal", "Password required" : "Lösenord krävs", "Cancel" : "Avbryt", diff --git a/l10n/sv.json b/l10n/sv.json index c986afd22..64b909202 100644 --- a/l10n/sv.json +++ b/l10n/sv.json @@ -638,7 +638,6 @@ "Link to a conversation" : "Länka till en konversation", "Select conversation" : "Välj konversation", "Join a conversation or start a new one" : "Anslut till en konversation eller starta en ny", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Webbläsaren du använder stöds inte av Nextcloud Talk. Använd den senaste versionen av Mozilla Firefox, Microsoft Edge, Google Chrome eller Apple Safari.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk uppdaterades, ladda om sidan igen", "Do not disturb" : "Stör ej", "Away" : "Iväg", @@ -697,6 +696,7 @@ "Start calls" : "Starta samtal", "Who can start a call?" : "Vem kan starta ett samtal?", "Select a conversation to add to the project" : "Välj en konversation som ska läggas till i projektet", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Webbläsaren du använder stöds inte av Nextcloud Talk. Använd den senaste versionen av Mozilla Firefox, Microsoft Edge, Google Chrome eller Apple Safari.", "Please enter the password for this call" : "Vänligen ange lösenordet för detta samtal", "Password required" : "Lösenord krävs", "Cancel" : "Avbryt", diff --git a/l10n/tr.js b/l10n/tr.js index 8b906f8a6..bf9621128 100644 --- a/l10n/tr.js +++ b/l10n/tr.js @@ -695,7 +695,6 @@ OC.L10N.register( "After the time limit the lobby will be automatically disabled." : "Bekleme süresi bittiğinde lobi otomatik olarak devre dışı bırakılır.", "Meeting start time" : "Toplantının başlangıç saati", "Start time (optional)" : "Başlangıç zamanı (isteğe bağlı)", - "Save meeting start time" : "Toplantının başlangıç saatini kaydet", "Error occurred when restricting the conversation to moderator" : "Görüşmede yalnız sorumluya izin verilirken sorun çıktı", "Error occurred when opening the conversation to everyone" : "Görüşmede herkese izin verilirken sorun çıktı", "Start time has been updated" : "Başlangıç saati güncellendi", @@ -780,6 +779,7 @@ OC.L10N.register( "You need to promote a new moderator before you can leave the conversation." : "Görüşmeden ayrılmadan önce yeni bir sorumlu atamalısınız.", "No matches" : "Eşleşme yok", "Conversation list" : "Görüşme listesi", + "Open conversations" : "Açık görüşmeler", "Loading" : "Yükleniyor", "No search results" : "Aramadan bir sonuç alınamadı", "Groups" : "Gruplar", @@ -822,6 +822,8 @@ OC.L10N.register( "Sending message" : "İleti gönderiliyor", "Message sent" : "İleti gönderildi", "Message read by everyone who shares their reading status" : "İleti okundu durumunu paylaşan herkes tarafından okundu", + "Failed to send the message. Click to try again" : "İleti gönderilemedi. Yeniden denemek için tıklayın", + "You can not send messages to this conversation at the moment" : "Şu anda bu görüşmeye ileti gönderemezsiniz", "{stack} in {board}" : "{stack} {board} panosunda", "Remove" : "Sil", "[Unknown username]" : "[Kullanıcı adı bilinmiyor]", @@ -845,6 +847,7 @@ OC.L10N.register( "Edit conversation description" : "Görüşme açıklamasını düzenle", "Description" : "Açıklama", "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "Açıklama {maxLength} ya da daha az karakter uzunluğunda olmalıdır. Şu andaki metin uzunluğu {charactersCount} karakter.", + "Disable lobby" : "Lobi kullanılmasın", "moderator" : "sorumlu", "guest" : "konuk", "Dial-in PIN" : "Arama PIN kodu", @@ -929,7 +932,7 @@ OC.L10N.register( "Select conversation" : "Görüşme seçin", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Görüşmeye başka bir pencereden ya da aygıttan da katılmışsınız. Nextcloud Talk henüz bu özelliği desteklemediği için bu oturum kapatılacak.", "Join a conversation or start a new one" : "Bir görüşmeye katılın ya da yeni bir görüşme başlatın", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Kullandığınız web tarayıcısı Nextcloud Talk uygulaması tarafından tam olarak desteklenmiyor. Lütfen en son Mozilla Firefox, Microsoft Edge, Google Chrome ya da Apple Safari sürümünü kullanın.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Kullandığınız web tarayıcısı Nextcloud Talk uygulaması tarafından tam olarak desteklenmiyor. Lütfen en son Mozilla Firefox, Microsoft Edge, Google Chrome, Opera ya da Apple Safari sürümünü kullanın.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk güncellendi. Lütfen sayfayı yeniden yükleyin", "Do not disturb" : "Rahatsız etmeyin", "Away" : "Uzakta", @@ -997,6 +1000,7 @@ OC.L10N.register( "Start calls" : "Görüşmeleri başlat", "Who can start a call?" : "Kimler görüşme başlatabilir?", "Select a conversation to add to the project" : "Projeye eklenecek bir görüşme seçin", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Kullandığınız web tarayıcısı Nextcloud Talk uygulaması tarafından tam olarak desteklenmiyor. Lütfen en son Mozilla Firefox, Microsoft Edge, Google Chrome ya da Apple Safari sürümünü kullanın.", "Please enter the password for this call" : "Lütfen bu görüşmenin parolasını yazın", "Password required" : "Parola zorunludur", "Cancel" : "İptal", diff --git a/l10n/tr.json b/l10n/tr.json index c730570ff..db18c8c3e 100644 --- a/l10n/tr.json +++ b/l10n/tr.json @@ -693,7 +693,6 @@ "After the time limit the lobby will be automatically disabled." : "Bekleme süresi bittiğinde lobi otomatik olarak devre dışı bırakılır.", "Meeting start time" : "Toplantının başlangıç saati", "Start time (optional)" : "Başlangıç zamanı (isteğe bağlı)", - "Save meeting start time" : "Toplantının başlangıç saatini kaydet", "Error occurred when restricting the conversation to moderator" : "Görüşmede yalnız sorumluya izin verilirken sorun çıktı", "Error occurred when opening the conversation to everyone" : "Görüşmede herkese izin verilirken sorun çıktı", "Start time has been updated" : "Başlangıç saati güncellendi", @@ -778,6 +777,7 @@ "You need to promote a new moderator before you can leave the conversation." : "Görüşmeden ayrılmadan önce yeni bir sorumlu atamalısınız.", "No matches" : "Eşleşme yok", "Conversation list" : "Görüşme listesi", + "Open conversations" : "Açık görüşmeler", "Loading" : "Yükleniyor", "No search results" : "Aramadan bir sonuç alınamadı", "Groups" : "Gruplar", @@ -820,6 +820,8 @@ "Sending message" : "İleti gönderiliyor", "Message sent" : "İleti gönderildi", "Message read by everyone who shares their reading status" : "İleti okundu durumunu paylaşan herkes tarafından okundu", + "Failed to send the message. Click to try again" : "İleti gönderilemedi. Yeniden denemek için tıklayın", + "You can not send messages to this conversation at the moment" : "Şu anda bu görüşmeye ileti gönderemezsiniz", "{stack} in {board}" : "{stack} {board} panosunda", "Remove" : "Sil", "[Unknown username]" : "[Kullanıcı adı bilinmiyor]", @@ -843,6 +845,7 @@ "Edit conversation description" : "Görüşme açıklamasını düzenle", "Description" : "Açıklama", "The description must be less than or equal to {maxLength} characters long. Your current text is {charactersCount} characters long." : "Açıklama {maxLength} ya da daha az karakter uzunluğunda olmalıdır. Şu andaki metin uzunluğu {charactersCount} karakter.", + "Disable lobby" : "Lobi kullanılmasın", "moderator" : "sorumlu", "guest" : "konuk", "Dial-in PIN" : "Arama PIN kodu", @@ -927,7 +930,7 @@ "Select conversation" : "Görüşme seçin", "You joined the conversation in another window or device. This is currently not supported by Nextcloud Talk so this session was closed." : "Görüşmeye başka bir pencereden ya da aygıttan da katılmışsınız. Nextcloud Talk henüz bu özelliği desteklemediği için bu oturum kapatılacak.", "Join a conversation or start a new one" : "Bir görüşmeye katılın ya da yeni bir görüşme başlatın", - "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Kullandığınız web tarayıcısı Nextcloud Talk uygulaması tarafından tam olarak desteklenmiyor. Lütfen en son Mozilla Firefox, Microsoft Edge, Google Chrome ya da Apple Safari sürümünü kullanın.", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari." : "Kullandığınız web tarayıcısı Nextcloud Talk uygulaması tarafından tam olarak desteklenmiyor. Lütfen en son Mozilla Firefox, Microsoft Edge, Google Chrome, Opera ya da Apple Safari sürümünü kullanın.", "Nextcloud Talk was updated, please reload the page" : "Nextcloud Talk güncellendi. Lütfen sayfayı yeniden yükleyin", "Do not disturb" : "Rahatsız etmeyin", "Away" : "Uzakta", @@ -995,6 +998,7 @@ "Start calls" : "Görüşmeleri başlat", "Who can start a call?" : "Kimler görüşme başlatabilir?", "Select a conversation to add to the project" : "Projeye eklenecek bir görüşme seçin", + "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari." : "Kullandığınız web tarayıcısı Nextcloud Talk uygulaması tarafından tam olarak desteklenmiyor. Lütfen en son Mozilla Firefox, Microsoft Edge, Google Chrome ya da Apple Safari sürümünü kullanın.", "Please enter the password for this call" : "Lütfen bu görüşmenin parolasını yazın", "Password required" : "Parola zorunludur", "Cancel" : "İptal", diff --git a/lib/Collaboration/Resources/Listener.php b/lib/Collaboration/Resources/Listener.php index 57f8be678..ea1e51607 100644 --- a/lib/Collaboration/Resources/Listener.php +++ b/lib/Collaboration/Resources/Listener.php @@ -28,6 +28,7 @@ use OCA\Talk\Events\RemoveParticipantEvent; use OCA\Talk\Events\RemoveUserEvent; use OCA\Talk\Events\RoomEvent; use OCA\Talk\GuestManager; +use OCA\Talk\Model\Attendee; use OCA\Talk\Room; use OCP\Collaboration\Resources\IManager; use OCP\Collaboration\Resources\ResourceException; @@ -65,8 +66,8 @@ class Listener { $participants = $event->getParticipants(); foreach ($participants as $participant) { $user = null; - if ($participant['userId'] !== '') { - $user = $userManager->get($participant['userId']); + if ($participant['actorType'] === Attendee::ACTOR_USERS) { + $user = $userManager->get($participant['actorId']); } $resourceManager->invalidateAccessCacheForResourceByUser($resource, $user); @@ -101,7 +102,10 @@ class Listener { } $participant = $event->getParticipant(); - $user = $userManager->get($participant->getUser()); + $user = null; + if ($participant->getAttendee()->getActorType() === Attendee::ACTOR_USERS) { + $user = $userManager->get($participant->getAttendee()->getActorId()); + } $resourceManager->invalidateAccessCacheForResourceByUser($resource, $user); }; $dispatcher->addListener(Room::EVENT_AFTER_PARTICIPANT_REMOVE, $listener); diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php index 79b8fe53c..b3ab04cf3 100644 --- a/lib/Controller/PageController.php +++ b/lib/Controller/PageController.php @@ -43,11 +43,11 @@ use OCP\AppFramework\Http\RedirectResponse; use OCP\AppFramework\Http\Response; use OCP\AppFramework\Http\TemplateResponse; use OCP\AppFramework\Http\Template\PublicTemplateResponse; +use OCP\AppFramework\Services\IInitialState; use OCP\EventDispatcher\IEventDispatcher; use OCP\Files\IRootFolder; use OCP\ICacheFactory; use OCP\IConfig; -use OCP\IInitialStateService; use OCP\IRequest; use OCP\IURLGenerator; use OCP\IUser; @@ -93,7 +93,7 @@ class PageController extends Controller { IURLGenerator $url, INotificationManager $notificationManager, IAppManager $appManager, - IInitialStateService $initialStateService, + IInitialState $initialState, ICacheFactory $memcacheFactory, IRootFolder $rootFolder, Config $talkConfig, @@ -109,7 +109,7 @@ class PageController extends Controller { $this->url = $url; $this->notificationManager = $notificationManager; $this->appManager = $appManager; - $this->initialStateService = $initialStateService; + $this->initialState = $initialState; $this->memcacheFactory = $memcacheFactory; $this->rootFolder = $rootFolder; $this->talkConfig = $talkConfig; diff --git a/lib/Controller/RoomController.php b/lib/Controller/RoomController.php index 934a0566f..ed78d71d6 100644 --- a/lib/Controller/RoomController.php +++ b/lib/Controller/RoomController.php @@ -608,7 +608,7 @@ class RoomController extends AEnvironmentAwareController { ) { return array_merge($roomData, [ 'name' => $room->getName(), - 'displayName' => $room->getDisplayName($isSIPBridgeRequest ? '' : $this->userId), + 'displayName' => $room->getDisplayName($isSIPBridgeRequest || $this->userId === null ? '' : $this->userId), 'objectType' => $room->getObjectType(), 'objectId' => $room->getObjectId(), 'readOnly' => $room->getReadOnly(), diff --git a/lib/Files/TemplateLoader.php b/lib/Files/TemplateLoader.php index 9b23f7832..f3fc1b6f5 100644 --- a/lib/Files/TemplateLoader.php +++ b/lib/Files/TemplateLoader.php @@ -29,13 +29,13 @@ use OCA\Talk\AppInfo\Application; use OCA\Talk\Config; use OCA\Talk\TInitialState; use OCP\App\IAppManager; +use OCP\AppFramework\Services\IInitialState; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventDispatcher; use OCP\EventDispatcher\IEventListener; use OCP\Files\IRootFolder; use OCP\ICacheFactory; use OCP\IConfig; -use OCP\IInitialStateService; use OCP\IUser; use OCP\IUserSession; use OCP\Util; @@ -53,14 +53,14 @@ class TemplateLoader implements IEventListener { /** @var IUserSession */ private $userSession; - public function __construct(IInitialStateService $initialStateService, + public function __construct(IInitialState $initialState, ICacheFactory $memcacheFactory, Config $talkConfig, IConfig $serverConfig, IAppManager $appManager, IRootFolder $rootFolder, IUserSession $userSession) { - $this->initialStateService = $initialStateService; + $this->initialState = $initialState; $this->memcacheFactory = $memcacheFactory; $this->talkConfig = $talkConfig; $this->serverConfig = $serverConfig; diff --git a/lib/PublicShare/TemplateLoader.php b/lib/PublicShare/TemplateLoader.php index f5e1bccc8..a250c6ba5 100644 --- a/lib/PublicShare/TemplateLoader.php +++ b/lib/PublicShare/TemplateLoader.php @@ -28,12 +28,12 @@ namespace OCA\Talk\PublicShare; use OCA\Files_Sharing\Event\BeforeTemplateRenderedEvent; use OCA\Talk\Config; use OCA\Talk\TInitialState; +use OCP\AppFramework\Services\IInitialState; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; use OCP\Files\FileInfo; use OCP\ICacheFactory; use OCP\IConfig; -use OCP\IInitialStateService; use OCP\Util; /** @@ -44,11 +44,11 @@ use OCP\Util; class TemplateLoader implements IEventListener { use TInitialState; - public function __construct(IInitialStateService $initialStateService, + public function __construct(IInitialState $initialState, ICacheFactory $memcacheFactory, Config $talkConfig, IConfig $serverConfig) { - $this->initialStateService = $initialStateService; + $this->initialState = $initialState; $this->talkConfig = $talkConfig; $this->memcacheFactory = $memcacheFactory; $this->serverConfig = $serverConfig; diff --git a/lib/PublicShareAuth/TemplateLoader.php b/lib/PublicShareAuth/TemplateLoader.php index 3a4f32c80..66e6496b6 100644 --- a/lib/PublicShareAuth/TemplateLoader.php +++ b/lib/PublicShareAuth/TemplateLoader.php @@ -28,11 +28,11 @@ namespace OCA\Talk\PublicShareAuth; use OCA\Files_Sharing\Event\BeforeTemplateRenderedEvent; use OCA\Talk\Config; use OCA\Talk\TInitialState; +use OCP\AppFramework\Services\IInitialState; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; use OCP\ICacheFactory; use OCP\IConfig; -use OCP\IInitialStateService; use OCP\Util; /** @@ -43,11 +43,11 @@ use OCP\Util; class TemplateLoader implements IEventListener { use TInitialState; - public function __construct(IInitialStateService $initialStateService, + public function __construct(IInitialState $initialState, ICacheFactory $memcacheFactory, Config $talkConfig, IConfig $serverConfig) { - $this->initialStateService = $initialStateService; + $this->initialState = $initialState; $this->talkConfig = $talkConfig; $this->memcacheFactory = $memcacheFactory; $this->serverConfig = $serverConfig; diff --git a/lib/Settings/Admin/AdminSettings.php b/lib/Settings/Admin/AdminSettings.php index 1ff97a452..28ded4075 100644 --- a/lib/Settings/Admin/AdminSettings.php +++ b/lib/Settings/Admin/AdminSettings.php @@ -31,11 +31,11 @@ use OCA\Talk\Room; use OCA\Talk\Service\CommandService; use OCA\Talk\Exceptions\WrongPermissionsException; use OCP\AppFramework\Http\TemplateResponse; +use OCP\AppFramework\Services\IInitialState; use OCP\ICacheFactory; use OCP\IConfig; use OCP\IGroup; use OCP\IGroupManager; -use OCP\IInitialStateService; use OCP\IL10N; use OCP\IUser; use OCP\IUserSession; @@ -50,8 +50,8 @@ class AdminSettings implements ISettings { private $serverConfig; /** @var CommandService */ private $commandService; - /** @var IInitialStateService */ - private $initialStateService; + /** @var IInitialState */ + private $initialState; /** @var ICacheFactory */ private $memcacheFactory; /** @var IGroupManager */ @@ -68,7 +68,7 @@ class AdminSettings implements ISettings { public function __construct(Config $talkConfig, IConfig $serverConfig, CommandService $commandService, - IInitialStateService $initialStateService, + IInitialState $initialState, ICacheFactory $memcacheFactory, IGroupManager $groupManager, MatterbridgeManager $bridgeManager, @@ -78,7 +78,7 @@ class AdminSettings implements ISettings { $this->talkConfig = $talkConfig; $this->serverConfig = $serverConfig; $this->commandService = $commandService; - $this->initialStateService = $initialStateService; + $this->initialState = $initialState; $this->memcacheFactory = $memcacheFactory; $this->groupManager = $groupManager; $this->bridgeManager = $bridgeManager; @@ -105,19 +105,19 @@ class AdminSettings implements ISettings { } protected function initGeneralSettings(): void { - $this->initialStateService->provideInitialState('talk', 'default_group_notification', (int) $this->serverConfig->getAppValue('spreed', 'default_group_notification', Participant::NOTIFY_MENTION)); - $this->initialStateService->provideInitialState('talk', 'conversations_files', (int) $this->serverConfig->getAppValue('spreed', 'conversations_files', '1')); - $this->initialStateService->provideInitialState('talk', 'conversations_files_public_shares', (int) $this->serverConfig->getAppValue('spreed', 'conversations_files_public_shares', '1')); + $this->initialState->provideInitialState('default_group_notification', (int) $this->serverConfig->getAppValue('spreed', 'default_group_notification', Participant::NOTIFY_MENTION)); + $this->initialState->provideInitialState('conversations_files', (int) $this->serverConfig->getAppValue('spreed', 'conversations_files', '1')); + $this->initialState->provideInitialState('conversations_files_public_shares', (int) $this->serverConfig->getAppValue('spreed', 'conversations_files_public_shares', '1')); } protected function initAllowedGroups(): void { - $this->initialStateService->provideInitialState('talk', 'start_calls', (int) $this->serverConfig->getAppValue('spreed', 'start_calls', Room::START_CALL_EVERYONE)); + $this->initialState->provideInitialState('start_calls', (int) $this->serverConfig->getAppValue('spreed', 'start_calls', Room::START_CALL_EVERYONE)); $groups = $this->getGroupDetailsArray($this->talkConfig->getAllowedConversationsGroupIds()); - $this->initialStateService->provideInitialState('talk', 'start_conversations', $groups); + $this->initialState->provideInitialState('start_conversations', $groups); $groups = $this->getGroupDetailsArray($this->talkConfig->getAllowedTalkGroupIds()); - $this->initialStateService->provideInitialState('talk', 'allowed_groups', $groups); + $this->initialState->provideInitialState('allowed_groups', $groups); } protected function initCommands(): void { @@ -127,7 +127,7 @@ class AdminSettings implements ISettings { return $command->asArray(); }, $commands); - $this->initialStateService->provideInitialState('talk', 'commands', $result); + $this->initialState->provideInitialState('commands', $result); } protected function initMatterbridge(): void { @@ -141,32 +141,32 @@ class AdminSettings implements ISettings { $version = ''; $error = 'binary_permissions'; } - $this->initialStateService->provideInitialState( - 'talk', 'matterbridge_error', $error + $this->initialState->provideInitialState( + 'matterbridge_error', $error ); - $this->initialStateService->provideInitialState( - 'talk', 'matterbridge_version', $version + $this->initialState->provideInitialState( + 'matterbridge_version', $version ); - $this->initialStateService->provideInitialState( - 'talk', 'matterbridge_enable', + $this->initialState->provideInitialState( + 'matterbridge_enable', $this->serverConfig->getAppValue('spreed', 'enable_matterbridge', '0') === '1' ); } protected function initStunServers(): void { - $this->initialStateService->provideInitialState('talk', 'stun_servers', $this->talkConfig->getStunServers()); - $this->initialStateService->provideInitialState('talk', 'has_internet_connection', $this->serverConfig->getSystemValueBool('has_internet_connection', true)); + $this->initialState->provideInitialState('stun_servers', $this->talkConfig->getStunServers()); + $this->initialState->provideInitialState('has_internet_connection', $this->serverConfig->getSystemValueBool('has_internet_connection', true)); } protected function initTurnServers(): void { - $this->initialStateService->provideInitialState('talk', 'turn_servers', $this->talkConfig->getTurnServers()); + $this->initialState->provideInitialState('turn_servers', $this->talkConfig->getTurnServers()); } protected function initSignalingServers(): void { - $this->initialStateService->provideInitialState('talk', 'has_cache_configured', $this->memcacheFactory->isAvailable()); - $this->initialStateService->provideInitialState('talk', 'signaling_mode', $this->talkConfig->getSignalingMode(false)); - $this->initialStateService->provideInitialState('talk', 'signaling_servers', [ + $this->initialState->provideInitialState('has_cache_configured', $this->memcacheFactory->isAvailable()); + $this->initialState->provideInitialState('signaling_mode', $this->talkConfig->getSignalingMode(false)); + $this->initialState->provideInitialState('signaling_servers', [ 'servers' => $this->talkConfig->getSignalingServers(), 'secret' => $this->talkConfig->getSignalingSecret(), 'hideWarning' => $this->talkConfig->getHideSignalingWarning(), @@ -446,14 +446,14 @@ class AdminSettings implements ISettings { } } - $this->initialStateService->provideInitialState('talk', 'hosted_signaling_server_prefill', [ + $this->initialState->provideInitialState('hosted_signaling_server_prefill', [ 'url' => $this->serverConfig->getSystemValueString('overwrite.cli.url'), 'fullName' => $this->currentUser->getDisplayName(), 'email' => $this->currentUser->getEMailAddress() ?: '', 'language' => $userLanguage, 'country' => $guessCountry, ]); - $this->initialStateService->provideInitialState('talk', 'hosted_signaling_server_trial_data', + $this->initialState->provideInitialState('hosted_signaling_server_trial_data', json_decode($this->serverConfig->getAppValue('spreed', 'hosted-signaling-server-account', "[]"), true) ?? [] ); $languages = $this->l10nFactory->getLanguages(); @@ -472,7 +472,7 @@ class AdminSettings implements ISettings { usort($countries, function ($a, $b) { return strcmp($a['name'], $b['name']); }); - $this->initialStateService->provideInitialState('talk', 'hosted_signaling_server_language_data', [ + $this->initialState->provideInitialState('hosted_signaling_server_language_data', [ 'languages' => $languages, 'countries' => $countries, ]); @@ -481,9 +481,9 @@ class AdminSettings implements ISettings { protected function initSIPBridge(): void { $groups = $this->getGroupDetailsArray($this->talkConfig->getSIPGroups()); - $this->initialStateService->provideInitialState('talk', 'sip_bridge_groups', $groups); - $this->initialStateService->provideInitialState('talk', 'sip_bridge_shared_secret', $this->talkConfig->getSIPSharedSecret()); - $this->initialStateService->provideInitialState('talk', 'sip_bridge_dialin_info', $this->talkConfig->getDialInInfo()); + $this->initialState->provideInitialState('sip_bridge_groups', $groups); + $this->initialState->provideInitialState('sip_bridge_shared_secret', $this->talkConfig->getSIPSharedSecret()); + $this->initialState->provideInitialState('sip_bridge_dialin_info', $this->talkConfig->getDialInInfo()); } protected function getGroupDetailsArray(array $gids): array { diff --git a/lib/TInitialState.php b/lib/TInitialState.php index d9b2a1619..802deb6a6 100644 --- a/lib/TInitialState.php +++ b/lib/TInitialState.php @@ -26,11 +26,11 @@ namespace OCA\Talk; use OC\HintException; use OC\User\NoUserException; use OCP\App\IAppManager; +use OCP\AppFramework\Services\IInitialState; use OCP\Files\IRootFolder; use OCP\Files\NotPermittedException; use OCP\ICacheFactory; use OCP\IConfig; -use OCP\IInitialStateService; use OCP\IUser; use OCP\Util; @@ -40,8 +40,8 @@ trait TInitialState { protected $talkConfig; /** @var IConfig */ protected $serverConfig; - /** @var IInitialStateService */ - protected $initialStateService; + /** @var IInitialState */ + protected $initialState; /** @var ICacheFactory */ protected $memcacheFactory; @@ -49,8 +49,8 @@ trait TInitialState { // Needed to enable the screensharing extension in Chromium < 72. Util::addHeader('meta', ['id' => 'app', 'class' => 'nc-enable-screensharing-extension']); - $this->initialStateService->provideInitialState( - 'talk', 'prefer_h264', + $this->initialState->provideInitialState( + 'prefer_h264', $this->serverConfig->getAppValue('spreed', 'prefer_h264', 'no') === 'yes' ); @@ -63,13 +63,13 @@ trait TInitialState { ); } - $this->initialStateService->provideInitialState( - 'talk', 'signaling_mode', + $this->initialState->provideInitialState( + 'signaling_mode', $this->talkConfig->getSignalingMode() ); - $this->initialStateService->provideInitialState( - 'talk', 'sip_dialin_info', + $this->initialState->provideInitialState( + 'sip_dialin_info', $this->talkConfig->getDialInInfo() ); } @@ -77,23 +77,23 @@ trait TInitialState { protected function publishInitialStateForUser(IUser $user, IRootFolder $rootFolder, IAppManager $appManager): void { $this->publishInitialStateShared(); - $this->initialStateService->provideInitialState( - 'talk', 'start_conversations', + $this->initialState->provideInitialState( + 'start_conversations', !$this->talkConfig->isNotAllowedToCreateConversations($user) ); - $this->initialStateService->provideInitialState( - 'talk', 'circles_enabled', + $this->initialState->provideInitialState( + 'circles_enabled', $appManager->isEnabledForUser('circles', $user) ); - $this->initialStateService->provideInitialState( - 'talk', 'guests_accounts_enabled', + $this->initialState->provideInitialState( + 'guests_accounts_enabled', $appManager->isEnabledForUser('guests', $user) ); - $this->initialStateService->provideInitialState( - 'talk', 'read_status_privacy', + $this->initialState->provideInitialState( + 'read_status_privacy', $this->talkConfig->getUserReadPrivacy($user->getUID()) ); @@ -113,13 +113,13 @@ trait TInitialState { } } - $this->initialStateService->provideInitialState( - 'talk', 'attachment_folder', + $this->initialState->provideInitialState( + 'attachment_folder', $attachmentFolder ); - $this->initialStateService->provideInitialState( - 'talk', 'enable_matterbridge', + $this->initialState->provideInitialState( + 'enable_matterbridge', $this->serverConfig->getAppValue('spreed', 'enable_matterbridge', '0') === '1' ); } @@ -127,28 +127,28 @@ trait TInitialState { protected function publishInitialStateForGuest(): void { $this->publishInitialStateShared(); - $this->initialStateService->provideInitialState( - 'talk', 'start_conversations', + $this->initialState->provideInitialState( + 'start_conversations', false ); - $this->initialStateService->provideInitialState( - 'talk', 'circles_enabled', + $this->initialState->provideInitialState( + 'circles_enabled', false ); - $this->initialStateService->provideInitialState( - 'talk', 'read_status_privacy', + $this->initialState->provideInitialState( + 'read_status_privacy', Participant::PRIVACY_PUBLIC ); - $this->initialStateService->provideInitialState( - 'talk', 'attachment_folder', + $this->initialState->provideInitialState( + 'attachment_folder', '' ); - $this->initialStateService->provideInitialState( - 'talk', 'enable_matterbridge', + $this->initialState->provideInitialState( + 'enable_matterbridge', false ); } diff --git a/package-lock.json b/package-lock.json index bc0dd7851..4154abdf4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3251,9 +3251,9 @@ } }, "@nextcloud/vue": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-3.4.0.tgz", - "integrity": "sha512-xUI2CHQwNxmr42ewqlgWBUCUqH4PKsbMloE0S8y1NYYihth5MA0cutRJigP2qDv8n412YiHbrFfeoTh44f9loA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-3.5.3.tgz", + "integrity": "sha512-jw1H27ExPtj5R+LqsDydKGx60yZblQVpUaFyme7nxeNxhD3sPv8QkeO6pX5/ebtb2ybB/BAVwOjthh0t+Pdkfw==", "requires": { "@nextcloud/auth": "^1.2.3", "@nextcloud/axios": "^1.3.2", @@ -3268,7 +3268,6 @@ "emoji-mart-vue-fast": "^7.0.7", "escape-html": "^1.0.3", "hammerjs": "^2.0.8", - "linkify-urls": "^3.1.1", "linkifyjs": "~2.1.9", "md5": "^2.2.1", "regenerator-runtime": "^0.13.5", @@ -3501,19 +3500,19 @@ } }, "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.3", + "@nodelib/fs.stat": "2.0.4", "run-parallel": "^1.1.9" }, "dependencies": { "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", "dev": true } } @@ -3525,12 +3524,12 @@ "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.3", + "@nodelib/fs.scandir": "2.1.4", "fastq": "^1.6.0" } }, @@ -3665,21 +3664,21 @@ } }, "@types/express": { - "version": "4.17.9", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz", - "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==", + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", + "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==", "dev": true, "requires": { "@types/body-parser": "*", - "@types/express-serve-static-core": "*", + "@types/express-serve-static-core": "^4.17.18", "@types/qs": "*", "@types/serve-static": "*" } }, "@types/express-serve-static-core": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz", - "integrity": "sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ==", + "version": "4.17.18", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz", + "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==", "dev": true, "requires": { "@types/node": "*", @@ -3698,9 +3697,9 @@ } }, "@types/http-proxy": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.4.tgz", - "integrity": "sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q==", + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.5.tgz", + "integrity": "sha512-GNkDE7bTv6Sf8JbV2GksknKOsk7OznNYHSdrtvPJXO0qJ9odZig6IZKUi5RFGi6d1bf6dgIAe4uXi3DBc7069Q==", "dev": true, "requires": { "@types/node": "*" @@ -3778,9 +3777,9 @@ } }, "@types/mime": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "@types/minimatch": { @@ -3839,12 +3838,12 @@ } }, "@types/serve-static": { - "version": "1.13.8", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz", - "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==", + "version": "1.13.9", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", + "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", "dev": true, "requires": { - "@types/mime": "*", + "@types/mime": "^1", "@types/node": "*" } }, @@ -3902,9 +3901,9 @@ "dev": true }, "@types/webpack": { - "version": "4.41.25", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", - "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", + "version": "4.41.26", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", + "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", "dev": true, "requires": { "@types/anymatch": "*", @@ -3971,150 +3970,30 @@ "dev": true }, "@vue/cli-overlay": { - "version": "4.5.10", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.10.tgz", - "integrity": "sha512-BydPsWJTXHTzH8wBcN1rinwLe5QRee52sf/Tceixpn4VVZCio2k8VkNG/o6hRTA+MeGuetXOhmAz0UQfIxfX8w==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.11.tgz", + "integrity": "sha512-aDQNw+oGk5+KR0vL9TocjfzyYHTJxR2lS8iPbcL4lRglCs2dudOE7QWXypj5dM4rQus0jJ5fxJTS55o9uy9fcQ==", "dev": true }, "@vue/cli-plugin-router": { - "version": "4.5.10", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.10.tgz", - "integrity": "sha512-roiZTx2W59kTRaqNzHEnjnakP89MS+pVf3zWBlwsNXZpQuvqwFvoNfH/nBSJjqGRgZTRtCUe6vGgVPUEFYi/cg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.11.tgz", + "integrity": "sha512-09tzw3faOs48IUPwLutYaNC7eoyyL140fKruTwdFdXuBLDdSQVida57Brx0zj2UKXc5qF8hk4GoGrOshN0KfNg==", "dev": true, "requires": { - "@vue/cli-shared-utils": "^4.5.10" - }, - "dependencies": { - "@vue/cli-shared-utils": { - "version": "4.5.10", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.10.tgz", - "integrity": "sha512-Lid6FflDqcvo/JBIBjUriAQ1RkQaKbBpzXSLEK/JmoKkQRHW/rRhDLGI1dEVyOLYnDEiL1m8o1xPJaplUUiXpA==", - "dev": true, - "requires": { - "@hapi/joi": "^15.0.1", - "chalk": "^2.4.2", - "execa": "^1.0.0", - "launch-editor": "^2.2.1", - "lru-cache": "^5.1.1", - "node-ipc": "^9.1.1", - "open": "^6.3.0", - "ora": "^3.4.0", - "read-pkg": "^5.1.1", - "request": "^2.88.2", - "semver": "^6.1.0", - "strip-ansi": "^6.0.0" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "@vue/cli-shared-utils": "^4.5.11" } }, "@vue/cli-plugin-unit-jest": { - "version": "4.5.10", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-unit-jest/-/cli-plugin-unit-jest-4.5.10.tgz", - "integrity": "sha512-x4IPonIpzFmJWD4RvUInSYFDy9W8Ck0h5oxG/3vKQlDR3y2E3Zgh/p0DvcFn6krCXzCJDxGQ+YmxKE0AsUVgYw==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-unit-jest/-/cli-plugin-unit-jest-4.5.11.tgz", + "integrity": "sha512-PGpWz1RB9mfSJ5diTshFJUZsAschJBdLtJl7mmou/AVH2Yf8gTy3Zh9YZwkvhGt/wKXFbincmL6tyAQFGMa8Ow==", "dev": true, "requires": { "@babel/core": "^7.11.0", "@babel/plugin-transform-modules-commonjs": "^7.9.6", "@types/jest": "^24.0.19", - "@vue/cli-shared-utils": "^4.5.10", + "@vue/cli-shared-utils": "^4.5.11", "babel-core": "^7.0.0-bridge.0", "babel-jest": "^24.9.0", "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2", @@ -4129,15 +4008,15 @@ } }, "@vue/cli-plugin-vuex": { - "version": "4.5.10", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.10.tgz", - "integrity": "sha512-Z5pnL3Eg2uwkKqP09NoM46/rwQCJ1j/1cZMgO4JF817O9n5AsFgV456UE6lK2cVCvIfvt7+S3HLrSPZUsYNQjQ==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.11.tgz", + "integrity": "sha512-JBPeZLubiSHbRkEKDj0tnLiU43AJ3vt6JULn4IKWH1XWZ6MFC8vElaP5/AA4O3Zko5caamDDBq3TRyxdA2ncUQ==", "dev": true }, "@vue/cli-service": { - "version": "4.5.10", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.10.tgz", - "integrity": "sha512-HnVkbc+Zb6J1lu0ojuKC6aQ4PjCW2fqlJE0G9Zqg+7VsUZ2e15UVRoIXj2hcIWtQiFF6n2FDxEkvZLslht9rkg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.11.tgz", + "integrity": "sha512-FXeJh2o6B8q/njv2Ebhe9EsLXt9sPMXGDY5zVvcV5jgj9wkoej9yLfnmwWCau5kegNClP6bcM+BEHuMYxJ+ubQ==", "dev": true, "requires": { "@intervolga/optimize-cssnano-plugin": "^1.0.5", @@ -4146,10 +4025,10 @@ "@types/minimist": "^1.2.0", "@types/webpack": "^4.0.0", "@types/webpack-dev-server": "^3.11.0", - "@vue/cli-overlay": "^4.5.10", - "@vue/cli-plugin-router": "^4.5.10", - "@vue/cli-plugin-vuex": "^4.5.10", - "@vue/cli-shared-utils": "^4.5.10", + "@vue/cli-overlay": "^4.5.11", + "@vue/cli-plugin-router": "^4.5.11", + "@vue/cli-plugin-vuex": "^4.5.11", + "@vue/cli-shared-utils": "^4.5.11", "@vue/component-compiler-utils": "^3.1.2", "@vue/preload-webpack-plugin": "^1.1.0", "@vue/web-component-wrapper": "^1.2.0", @@ -4198,26 +4077,6 @@ "webpack-merge": "^4.2.2" }, "dependencies": { - "@vue/cli-shared-utils": { - "version": "4.5.10", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.10.tgz", - "integrity": "sha512-Lid6FflDqcvo/JBIBjUriAQ1RkQaKbBpzXSLEK/JmoKkQRHW/rRhDLGI1dEVyOLYnDEiL1m8o1xPJaplUUiXpA==", - "dev": true, - "requires": { - "@hapi/joi": "^15.0.1", - "chalk": "^2.4.2", - "execa": "^1.0.0", - "launch-editor": "^2.2.1", - "lru-cache": "^5.1.1", - "node-ipc": "^9.1.1", - "open": "^6.3.0", - "ora": "^3.4.0", - "read-pkg": "^5.1.1", - "request": "^2.88.2", - "semver": "^6.1.0", - "strip-ansi": "^6.0.0" - } - }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -4456,18 +4315,6 @@ "p-limit": "^2.2.0" } }, - "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -4535,46 +4382,6 @@ "postcss": "^7.0.6" } }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -4652,16 +4459,6 @@ "webpack-sources": "^1.4.3" } }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, "url-loader": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", @@ -4756,9 +4553,9 @@ } }, "@vue/cli-shared-utils": { - "version": "4.5.10", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.10.tgz", - "integrity": "sha512-Lid6FflDqcvo/JBIBjUriAQ1RkQaKbBpzXSLEK/JmoKkQRHW/rRhDLGI1dEVyOLYnDEiL1m8o1xPJaplUUiXpA==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.11.tgz", + "integrity": "sha512-+aaQ+ThQG3+WMexfSWNl0y6f43edqVqRNbguE53F3TIH81I7saS5S750ayqXhZs2r6STJJyqorQnKtAWfHo29A==", "dev": true, "requires": { "@hapi/joi": "^15.0.1", @@ -4791,9 +4588,9 @@ } }, "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -5098,6 +4895,12 @@ "@xtuc/long": "4.2.2" } }, + "@webpack-cli/configtest": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.0.tgz", + "integrity": "sha512-Un0SdBoN1h4ACnIO7EiCjWuyhNI0Jl96JC+63q6xi4HDUYRZn8Auluea9D+v9NWKc5J4sICVEltdBaVjLX39xw==", + "dev": true + }, "@webpack-cli/info": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.1.tgz", @@ -5108,9 +4911,9 @@ } }, "@webpack-cli/serve": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.2.1.tgz", - "integrity": "sha512-Zj1z6AyS+vqV6Hfi7ngCjFGdHV5EwZNIHo6QfFTNe9PyW+zBU1zJ9BiOW1pmUEq950RC4+Dym6flyA/61/vhyw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.2.2.tgz", + "integrity": "sha512-03GkWxcgFfm8+WIwcsqJb9agrSDNDDoxaNnexPnCCexP5SCE4IgFd9lNpSy+K2nFqVMpgTFw6SwbmVAVTndVew==", "dev": true }, "@xtuc/ieee754": { @@ -6818,13 +6621,13 @@ } }, "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "get-intrinsic": "^1.0.2" } }, "call-me-maybe": { @@ -7881,9 +7684,9 @@ }, "dependencies": { "import-fresh": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", - "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -7891,9 +7694,9 @@ } }, "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -7947,29 +7750,6 @@ "sha.js": "^2.4.8" } }, - "create-html-element": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/create-html-element/-/create-html-element-2.1.0.tgz", - "integrity": "sha512-ofbOpJh3GSDsyINuqppupKRUcQHnXSyvwvk0F5DlEtwKwb+thdFoJAtYczy7bIZWdsQjZfADUc38pF4gVd0o+Q==", - "requires": { - "escape-goat": "^1.3.0", - "html-tags": "^2.0.0", - "stringify-attributes": "^1.0.0", - "type-fest": "^0.3.0" - }, - "dependencies": { - "html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=" - }, - "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" - } - } - }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -9212,11 +8992,6 @@ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, - "escape-goat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-1.3.0.tgz", - "integrity": "sha512-E2nU1Y39N5UgfLU8qwMlK0vZrZprIwWLeVmDYN8wd/e37hMtGzu2w1DBiREts0XHfgyZEQlj/hYr0H0izF0HDQ==" - }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -10174,9 +9949,9 @@ "dev": true }, "fastq": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", - "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", + "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -12132,9 +11907,9 @@ } }, "is-core-module": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", - "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dev": true, "requires": { "has": "^1.0.3" @@ -13721,14 +13496,6 @@ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", "dev": true }, - "linkify-urls": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/linkify-urls/-/linkify-urls-3.1.1.tgz", - "integrity": "sha512-sRxMSunCnLFtZ4iVkMqHhZKSJ3MC/nRAvej8Ou3pEEEPBL0iVN91mZvdFREKcGv3VNcakbT4qsfOnnWMEbA59w==", - "requires": { - "create-html-element": "^2.1.0" - } - }, "linkifyjs": { "version": "2.1.9", "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-2.1.9.tgz", @@ -14026,35 +13793,36 @@ } }, "mdast-util-from-markdown": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.1.tgz", - "integrity": "sha512-qJXNcFcuCSPqUF0Tb0uYcFDIq67qwB3sxo9RPdf9vG8T90ViKnksFqdB/Coq2a7sTnxL/Ify2y7aIQXDkQFH0w==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.4.tgz", + "integrity": "sha512-jj891B5pV2r63n2kBTFh8cRI2uR9LQHsXG1zSDqfhXkIlDzrTcIlbB5+5aaYEkl8vOPIOPLf8VT7Ere1wWTMdw==", "dev": true, "requires": { "@types/mdast": "^3.0.0", - "mdast-util-to-string": "^1.0.0", - "micromark": "~2.10.0", - "parse-entities": "^2.0.0" + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" } }, "mdast-util-to-markdown": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.5.3.tgz", - "integrity": "sha512-sr8q7fQJ1xoCqZSXW6dO/MYu2Md+a4Hfk9uO+XHCfiBhVM0EgWtfAV7BuN+ff6otUeu2xDyt1o7vhZGwOG3+BA==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.2.tgz", + "integrity": "sha512-iRczns6WMvu0hUw02LXsPDJshBIwtUPbvHBWo19IQeU0YqmzlA8Pd30U8V7uiI0VPkxzS7A/NXBXH6u+HS87Zg==", "dev": true, "requires": { "@types/unist": "^2.0.0", "longest-streak": "^2.0.0", - "mdast-util-to-string": "^1.0.0", + "mdast-util-to-string": "^2.0.0", "parse-entities": "^2.0.0", "repeat-string": "^1.0.0", "zwitch": "^1.0.0" } }, "mdast-util-to-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", - "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", "dev": true }, "mdn-data": { @@ -14216,9 +13984,9 @@ "dev": true }, "micromark": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.10.1.tgz", - "integrity": "sha512-fUuVF8sC1X7wsCS29SYQ2ZfIZYbTymp0EYr6sab3idFjigFFjGa5UwoniPlV9tAgntjuapW1t9U+S0yDYeGKHQ==", + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.2.tgz", + "integrity": "sha512-IXuP76p2uj8uMg4FQc1cRE7lPCLsfAXuEfdjtdO55VRiFO1asrCSQ5g43NmPqFtRwzEnEhafRVzn2jg0UiKArQ==", "dev": true, "requires": { "debug": "^4.0.0", @@ -14246,9 +14014,9 @@ } }, "mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true }, "mime-db": { @@ -17219,13 +16987,13 @@ } }, "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "regexpp": { @@ -17294,12 +17062,12 @@ } }, "remark-stringify": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.0.tgz", - "integrity": "sha512-8x29DpTbVzEc6Dwb90qhxCtbZ6hmj3BxWWDpMhA+1WM4dOEGH5U5/GFe3Be5Hns5MvPSFAr1e2KSVtKZkK5nUw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", + "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", "dev": true, "requires": { - "mdast-util-to-markdown": "^0.5.0" + "mdast-util-to-markdown": "^0.6.0" } }, "remove-trailing-separator": { @@ -17356,12 +17124,6 @@ "is-finite": "^1.0.0" } }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", - "dev": true - }, "request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", @@ -17416,6 +17178,12 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -18683,14 +18451,6 @@ } } }, - "stringify-attributes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stringify-attributes/-/stringify-attributes-1.0.0.tgz", - "integrity": "sha1-nosvmpRn57SAk8shJOvBwX5jgsU=", - "requires": { - "escape-goat": "^1.1.0" - } - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -18831,9 +18591,9 @@ } }, "stylelint": { - "version": "13.8.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.8.0.tgz", - "integrity": "sha512-iHH3dv3UI23SLDrH4zMQDjLT9/dDIz/IpoFeuNxZmEx86KtfpjDOscxLTFioQyv+2vQjPlRZnK0UoJtfxLICXQ==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.9.0.tgz", + "integrity": "sha512-VVWH2oixOAxpWL1vH+V42ReCzBjW2AeqskSAbi8+3OjV1Xg3VZkmTcAqBZfRRvJeF4BvYuDLXebW3tIHxgZDEg==", "dev": true, "requires": { "@stylelint/postcss-css-in-js": "^0.37.2", @@ -18842,14 +18602,14 @@ "balanced-match": "^1.0.0", "chalk": "^4.1.0", "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", + "debug": "^4.3.1", "execall": "^2.0.0", - "fast-glob": "^3.2.4", + "fast-glob": "^3.2.5", "fastest-levenshtein": "^1.0.12", "file-entry-cache": "^6.0.0", "get-stdin": "^8.0.0", "global-modules": "^2.0.0", - "globby": "^11.0.1", + "globby": "^11.0.2", "globjoin": "^0.1.4", "html-tags": "^3.1.0", "ignore": "^5.1.8", @@ -18859,7 +18619,7 @@ "lodash": "^4.17.20", "log-symbols": "^4.0.0", "mathml-tag-names": "^2.1.3", - "meow": "^8.0.0", + "meow": "^9.0.0", "micromatch": "^4.0.2", "normalize-selector": "^0.2.0", "postcss": "^7.0.35", @@ -18881,26 +18641,26 @@ "style-search": "^0.1.0", "sugarss": "^2.0.0", "svg-tags": "^1.0.0", - "table": "^6.0.3", + "table": "^6.0.7", "v8-compile-cache": "^2.2.0", "write-file-atomic": "^3.0.3" }, "dependencies": { "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", "dev": true }, "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", + "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", "uri-js": "^4.2.2" } }, @@ -18967,6 +18727,15 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -18989,9 +18758,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -19032,9 +18801,9 @@ } }, "flatted": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", - "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, "get-stdin": { @@ -19044,9 +18813,9 @@ "dev": true }, "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", + "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", "dev": true, "requires": { "array-union": "^2.1.0", @@ -19090,6 +18859,12 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -19124,13 +18899,14 @@ "dev": true }, "meow": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.0.0.tgz", - "integrity": "sha512-nbsTRz2fwniJBFgUkcdISq8y/q9n9VbiHYbfwklFh5V4V2uAcxtKQkDc0yCLPM/kP0d+inZBewn3zJqewHE7kg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "dev": true, "requires": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", "decamelize-keys": "^1.1.0", "hard-rejection": "^2.1.0", "minimist-options": "4.1.0", @@ -19142,6 +18918,12 @@ "yargs-parser": "^20.2.3" } }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "normalize-package-data": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz", @@ -19164,9 +18946,9 @@ } }, "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -19372,10 +19154,13 @@ } }, "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } }, "slash": { "version": "3.0.0", @@ -19439,12 +19224,12 @@ } }, "table": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.4.tgz", - "integrity": "sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", "dev": true, "requires": { - "ajv": "^6.12.4", + "ajv": "^7.0.2", "lodash": "^4.17.20", "slice-ansi": "^4.0.0", "string-width": "^4.2.0" @@ -20364,9 +20149,9 @@ } }, "unist-util-is": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.3.tgz", - "integrity": "sha512-bTofCFVx0iQM8Jqb1TBDVRIQW03YkD3p66JOd/aCWuqzlLyUtx1ZAGw/u+Zw+SttKvSVcvTiKYbfrtLoLefykw==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.4.tgz", + "integrity": "sha512-3dF39j/u423v4BBQrk1AQ2Ve1FxY5W3JKwXxVFzBODQ6WEvccguhgp802qQLKSnxPODE6WuRZtV+ohlUg4meBA==", "dev": true }, "unist-util-stringify-position": { @@ -20697,14 +20482,13 @@ } }, "vfile": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.0.tgz", - "integrity": "sha512-a/alcwCvtuc8OX92rqqo7PflxiCgXRFjdyoGVuYV+qbgCb0GgZJRvIgCD4+U/Kl1yhaRsaTwksF88xbPyGsgpw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", "dev": true, "requires": { "@types/unist": "^2.0.0", "is-buffer": "^2.0.0", - "replace-ext": "1.0.0", "unist-util-stringify-position": "^2.0.0", "vfile-message": "^2.0.0" }, @@ -21362,14 +21146,15 @@ } }, "webpack-cli": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.3.1.tgz", - "integrity": "sha512-/F4+9QNZM/qKzzL9/06Am8NXIkGV+/NqQ62Dx7DSqudxxpAgBqYn6V7+zp+0Y7JuWksKUbczRY3wMTd+7Uj6OA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.4.0.tgz", + "integrity": "sha512-/Qh07CXfXEkMu5S8wEpjuaw2Zj/CC0hf/qbTDp6N8N7JjdGuaOjZ7kttz+zhuJO/J5m7alQEhNk9lsc4rC6xgQ==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.0.0", "@webpack-cli/info": "^1.2.1", - "@webpack-cli/serve": "^1.2.1", + "@webpack-cli/serve": "^1.2.2", "colorette": "^1.2.1", "commander": "^6.2.0", "enquirer": "^2.3.6", @@ -21379,7 +21164,7 @@ "interpret": "^2.2.0", "rechoir": "^0.7.0", "v8-compile-cache": "^2.2.0", - "webpack-merge": "^4.2.2" + "webpack-merge": "^5.7.3" }, "dependencies": { "commander": { @@ -21559,15 +21344,6 @@ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -21605,9 +21381,9 @@ } }, "webpack-dev-server": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz", - "integrity": "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", "dev": true, "requires": { "ansi-html": "0.0.7", diff --git a/package.json b/package.json index b7cf79f7d..cce26ecf1 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@nextcloud/l10n": "^1.4.1", "@nextcloud/moment": "^1.1.1", "@nextcloud/router": "^1.2.0", - "@nextcloud/vue": "^3.4.0", + "@nextcloud/vue": "^3.5.3", "@nextcloud/vue-dashboard": "^1.0.1", "attachmediastream": "^2.1.0", "color.js": "^1.2.0", @@ -68,8 +68,8 @@ "@nextcloud/browserslist-config": "^1.0.0", "@nextcloud/eslint-config": "^1.2.0", "@nextcloud/eslint-plugin": "^1.5.0", - "@vue/cli-plugin-unit-jest": "^4.5.10", - "@vue/cli-service": "^4.5.10", + "@vue/cli-plugin-unit-jest": "^4.5.11", + "@vue/cli-service": "^4.5.11", "@vue/test-utils": "^1.1.2", "babel-eslint": "^10.1.0", "babel-loader": "^8.2.2", @@ -88,7 +88,7 @@ "node-sass": "^5.0.0", "sass-loader": "^10.1.1", "style-loader": "^2.0.0", - "stylelint": "^13.8.0", + "stylelint": "^13.9.0", "stylelint-config-recommended-scss": "^4.2.0", "stylelint-scss": "^3.18.0", "stylelint-webpack-plugin": "^2.1.1", @@ -96,7 +96,7 @@ "vue-loader": "^15.9.6", "vue-template-compiler": "^2.6.12", "webpack": "^4.46.0", - "webpack-cli": "^4.3.1", + "webpack-cli": "^4.4.0", "webpack-merge": "^5.7.3", "webpack-node-externals": "^2.5.2" }, diff --git a/src/FilesSidebarTabApp.vue b/src/FilesSidebarTabApp.vue index ed2cdb2b0..0a53b7957 100644 --- a/src/FilesSidebarTabApp.vue +++ b/src/FilesSidebarTabApp.vue @@ -197,7 +197,7 @@ export default { // used), although that should not be a problem given that only the // "inCall" flag (which is locally updated when joining and leaving // a call) is currently used. - if (loadState('talk', 'signaling_mode') !== 'internal') { + if (loadState('spreed', 'signaling_mode') !== 'internal') { EventBus.$on('shouldRefreshConversations', OCA.Talk.fetchCurrentConversationWrapper) EventBus.$on('Signaling::participantListChanged', OCA.Talk.fetchCurrentConversationWrapper) } else { diff --git a/src/PublicShareAuthSidebar.vue b/src/PublicShareAuthSidebar.vue index f51d0882c..7a178971a 100644 --- a/src/PublicShareAuthSidebar.vue +++ b/src/PublicShareAuthSidebar.vue @@ -139,7 +139,7 @@ export default { // used), although that should not be a problem given that only the // "inCall" flag (which is locally updated when joining and leaving // a call) is currently used. - if (loadState('talk', 'signaling_mode') !== 'internal') { + if (loadState('spreed', 'signaling_mode') !== 'internal') { EventBus.$on('shouldRefreshConversations', this.fetchCurrentConversation) EventBus.$on('Signaling::participantListChanged', this.fetchCurrentConversation) } else { diff --git a/src/PublicShareSidebar.vue b/src/PublicShareSidebar.vue index 0b8a99e3f..7ec30e1cc 100644 --- a/src/PublicShareSidebar.vue +++ b/src/PublicShareSidebar.vue @@ -156,7 +156,7 @@ export default { // used), although that should not be a problem given that only the // "inCall" flag (which is locally updated when joining and leaving // a call) is currently used. - if (loadState('talk', 'signaling_mode') !== 'internal') { + if (loadState('spreed', 'signaling_mode') !== 'internal') { EventBus.$on('shouldRefreshConversations', this.fetchCurrentConversation) EventBus.$on('Signaling::participantListChanged', this.fetchCurrentConversation) } else { diff --git a/src/assets/buttons.scss b/src/assets/buttons.scss new file mode 100644 index 000000000..f1c5b4af8 --- /dev/null +++ b/src/assets/buttons.scss @@ -0,0 +1,58 @@ +/** + * @copyright Copyright (c) 2020 Marco Ambrosini <marcoambrosini@pm.me> + * + * @author Marco Ambrosini <marcoambrosini@pm.me> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +@import 'variables.scss'; + +.nc-button { + width: $clickable-area; + height: $clickable-area; + flex-shrink: 0; + border: 0; + padding: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + margin: 0; + &:not(.primary) { + background-color: transparent; + } + &__main { + &:hover, + &:focus { + background-color: var(--color-background-hover); + } + &:disabled { + &:hover { + background-color: var(--color-primary-element); + } + } + } + // Used on top of gray background such as hovered messages + &__main--dark { + &:hover, + &:focus { + background-color: var(--color-background-darker); + } + } + +}
\ No newline at end of file diff --git a/src/components/AdminSettings/AllowedGroups.vue b/src/components/AdminSettings/AllowedGroups.vue index 98d2c2494..e662819f4 100644 --- a/src/components/AdminSettings/AllowedGroups.vue +++ b/src/components/AdminSettings/AllowedGroups.vue @@ -135,13 +135,13 @@ export default { mounted() { this.loading = true - this.allowedGroups = loadState('talk', 'allowed_groups').sort(function(a, b) { + this.allowedGroups = loadState('spreed', 'allowed_groups').sort(function(a, b) { return a.displayname.localeCompare(b.displayname) }) - this.canStartConversations = loadState('talk', 'start_conversations').sort(function(a, b) { + this.canStartConversations = loadState('spreed', 'start_conversations').sort(function(a, b) { return a.displayname.localeCompare(b.displayname) }) - this.startCalls = startCallOptions[parseInt(loadState('talk', 'start_calls'))] + this.startCalls = startCallOptions[parseInt(loadState('spreed', 'start_calls'))] // Make a unique list with the groups we know from allowedGroups and canStartConversations // Unique checking is done by turning the group objects (with id and name) diff --git a/src/components/AdminSettings/Commands.vue b/src/components/AdminSettings/Commands.vue index 71df1bf6c..c3d4b22b2 100644 --- a/src/components/AdminSettings/Commands.vue +++ b/src/components/AdminSettings/Commands.vue @@ -79,7 +79,7 @@ export default { }, mounted() { - this.commands = loadState('talk', 'commands') + this.commands = loadState('spreed', 'commands') }, } </script> diff --git a/src/components/AdminSettings/GeneralSettings.vue b/src/components/AdminSettings/GeneralSettings.vue index 55befe668..088176fdf 100644 --- a/src/components/AdminSettings/GeneralSettings.vue +++ b/src/components/AdminSettings/GeneralSettings.vue @@ -96,9 +96,9 @@ export default { mounted() { this.loading = true - this.conversationsFiles = parseInt(loadState('talk', 'conversations_files')) === 1 - this.defaultGroupNotification = defaultGroupNotificationOptions[parseInt(loadState('talk', 'default_group_notification')) - 1] - this.conversationsFilesPublicShares = parseInt(loadState('talk', 'conversations_files_public_shares')) === 1 + this.conversationsFiles = parseInt(loadState('spreed', 'conversations_files')) === 1 + this.defaultGroupNotification = defaultGroupNotificationOptions[parseInt(loadState('spreed', 'default_group_notification')) - 1] + this.conversationsFilesPublicShares = parseInt(loadState('spreed', 'conversations_files_public_shares')) === 1 this.loading = false }, diff --git a/src/components/AdminSettings/HostedSignalingServer.vue b/src/components/AdminSettings/HostedSignalingServer.vue index a43135d3f..3d9fab070 100644 --- a/src/components/AdminSettings/HostedSignalingServer.vue +++ b/src/components/AdminSettings/HostedSignalingServer.vue @@ -195,20 +195,20 @@ export default { }, beforeMount() { - const state = loadState('talk', 'hosted_signaling_server_prefill') + const state = loadState('spreed', 'hosted_signaling_server_prefill') this.hostedHPBNextcloudUrl = state.url this.hostedHPBFullName = state.fullName this.hostedHPBEmail = state.email this.hostedHPBLanguage = state.language this.hostedHPBCountry = state.country - this.trialAccount = loadState('talk', 'hosted_signaling_server_trial_data') + this.trialAccount = loadState('spreed', 'hosted_signaling_server_trial_data') - const languagesAndCountries = loadState('talk', 'hosted_signaling_server_language_data') + const languagesAndCountries = loadState('spreed', 'hosted_signaling_server_language_data') this.languages = languagesAndCountries['languages'] // two lists of {code: "es", name: "Español"} - one is in 'commonlanguages' and one in 'languages' this.countries = languagesAndCountries['countries'] // list of {code: "France", name: "France"} - const signaling = loadState('talk', 'signaling_servers') + const signaling = loadState('spreed', 'signaling_servers') this.showForm = this.trialAccount.length !== 0 || signaling.servers.length === 0 }, diff --git a/src/components/AdminSettings/MatterbridgeIntegration.vue b/src/components/AdminSettings/MatterbridgeIntegration.vue index 6d0c4b110..366471067 100644 --- a/src/components/AdminSettings/MatterbridgeIntegration.vue +++ b/src/components/AdminSettings/MatterbridgeIntegration.vue @@ -85,10 +85,10 @@ export default { data() { return { - matterbridgeEnabled: loadState('talk', 'matterbridge_enable'), - matterbridgeVersion: loadState('talk', 'matterbridge_version'), + matterbridgeEnabled: loadState('spreed', 'matterbridge_enable'), + matterbridgeVersion: loadState('spreed', 'matterbridge_version'), isInstalling: false, - error: loadState('talk', 'matterbridge_error'), + error: loadState('spreed', 'matterbridge_error'), } }, diff --git a/src/components/AdminSettings/SIPBridge.vue b/src/components/AdminSettings/SIPBridge.vue index 6559c4b0a..0873d5aee 100644 --- a/src/components/AdminSettings/SIPBridge.vue +++ b/src/components/AdminSettings/SIPBridge.vue @@ -109,12 +109,12 @@ export default { mounted() { this.loading = true - this.groups = loadState('talk', 'sip_bridge_groups').sort(function(a, b) { + this.groups = loadState('spreed', 'sip_bridge_groups').sort(function(a, b) { return a.displayname.localeCompare(b.displayname) }) this.sipGroups = this.groups - this.dialInInfo = loadState('talk', 'sip_bridge_dialin_info') - this.sharedSecret = loadState('talk', 'sip_bridge_shared_secret') + this.dialInInfo = loadState('spreed', 'sip_bridge_dialin_info') + this.sharedSecret = loadState('spreed', 'sip_bridge_shared_secret') this.searchGroup('') this.loading = false }, diff --git a/src/components/AdminSettings/SignalingServers.vue b/src/components/AdminSettings/SignalingServers.vue index 6a37da5c3..6a3d0acd0 100644 --- a/src/components/AdminSettings/SignalingServers.vue +++ b/src/components/AdminSettings/SignalingServers.vue @@ -109,8 +109,8 @@ export default { hideWarning: false, loading: false, saved: false, - isCacheConfigured: loadState('talk', 'has_cache_configured'), - isClusteredMode: loadState('talk', 'signaling_mode') === SIGNALING.MODE.CLUSTER_CONVERSATION, + isCacheConfigured: loadState('spreed', 'has_cache_configured'), + isClusteredMode: loadState('spreed', 'signaling_mode') === SIGNALING.MODE.CLUSTER_CONVERSATION, } }, @@ -121,7 +121,7 @@ export default { }, beforeMount() { - const state = loadState('talk', 'signaling_servers') + const state = loadState('spreed', 'signaling_servers') this.servers = state.servers this.secret = state.secret this.hideWarning = state.hideWarning diff --git a/src/components/AdminSettings/StunServers.vue b/src/components/AdminSettings/StunServers.vue index f865fd5d5..186d9f577 100644 --- a/src/components/AdminSettings/StunServers.vue +++ b/src/components/AdminSettings/StunServers.vue @@ -80,8 +80,8 @@ export default { }, beforeMount() { - this.servers = loadState('talk', 'stun_servers') - this.hasInternetConnection = loadState('talk', 'has_internet_connection') + this.servers = loadState('spreed', 'stun_servers') + this.hasInternetConnection = loadState('spreed', 'has_internet_connection') }, methods: { diff --git a/src/components/AdminSettings/TurnServers.vue b/src/components/AdminSettings/TurnServers.vue index 94ea89318..2fb01aaf2 100644 --- a/src/components/AdminSettings/TurnServers.vue +++ b/src/components/AdminSettings/TurnServers.vue @@ -89,7 +89,7 @@ export default { }, beforeMount() { - this.servers = loadState('talk', 'turn_servers') + this.servers = loadState('spreed', 'turn_servers') }, methods: { diff --git a/src/components/CallView/shared/LocalVideo.vue b/src/components/CallView/shared/LocalVideo.vue index 0a80ef76f..534d192bb 100644 --- a/src/components/CallView/shared/LocalVideo.vue +++ b/src/components/CallView/shared/LocalVideo.vue @@ -378,4 +378,9 @@ export default { width: 100%; } +// Always display the local video in the last row +#localVideoContainer { + grid-row-end: -1; +} + </style> diff --git a/src/components/ConversationSettings/ConversationSettingsDialog.vue b/src/components/ConversationSettings/ConversationSettingsDialog.vue index 37aed0210..3c013fd47 100644 --- a/src/components/ConversationSettings/ConversationSettingsDialog.vue +++ b/src/components/ConversationSettings/ConversationSettingsDialog.vue @@ -83,7 +83,7 @@ export default { data() { return { showSettings: false, - matterbridgeEnabled: loadState('talk', 'enable_matterbridge'), + matterbridgeEnabled: loadState('spreed', 'enable_matterbridge'), } }, diff --git a/src/components/ConversationSettings/ListableSettings.vue b/src/components/ConversationSettings/ListableSettings.vue index b4785a6ea..7d513b43f 100644 --- a/src/components/ConversationSettings/ListableSettings.vue +++ b/src/components/ConversationSettings/ListableSettings.vue @@ -75,7 +75,7 @@ export default { listable: null, isListableLoading: false, lastNotification: null, - isGuestsAccountsEnabled: loadState('talk', 'guests_accounts_enabled'), + isGuestsAccountsEnabled: loadState('spreed', 'guests_accounts_enabled'), LISTABLE: CONVERSATION.LISTABLE, } }, diff --git a/src/components/ConversationSettings/LobbySettings.vue b/src/components/ConversationSettings/LobbySettings.vue index 474b70279..c73008380 100644 --- a/src/components/ConversationSettings/LobbySettings.vue +++ b/src/components/ConversationSettings/LobbySettings.vue @@ -49,24 +49,17 @@ <div> <label for="moderation_settings_lobby_timer_field">{{ t('spreed', 'Meeting start time') }}</label> </div> - <div> - <DatetimePicker - id="moderation_settings_lobby_timer_field" - aria-describedby="moderation_settings_lobby_timer_hint" - :value="lobbyTimer" - :placeholder="t('spreed', 'Start time (optional)')" - :disabled="lobbyTimerFieldDisabled" - type="datetime" - :input-class="['mx-input', { focusable: !lobbyTimerFieldDisabled }]" - v-bind="dateTimePickerAttrs" - @change="setNewLobbyTimer" /> - <button - id="moderation_settings_lobby_timer_submit" - :aria-label="t('spreed', 'Save meeting start time')" - :disabled="lobbyTimerFieldDisabled" - type="submit" - class="icon icon-confirm-fade" /> - </div> + <DatetimePicker + id="moderation_settings_lobby_timer_field" + aria-describedby="moderation_settings_lobby_timer_hint" + :value="lobbyTimer" + :default-value="defaultLobbyTimer" + :placeholder="t('spreed', 'Start time (optional)')" + :disabled="lobbyTimerFieldDisabled" + type="datetime" + :input-class="['mx-input', { focusable: !lobbyTimerFieldDisabled }]" + v-bind="dateTimePickerAttrs" + @change="saveLobbyTimer" /> </form> </div> </div> @@ -96,7 +89,6 @@ export default { return { isLobbyStateLoading: false, isLobbyTimerLoading: false, - newLobbyTimer: null, } }, @@ -113,6 +105,14 @@ export default { return this.isLobbyStateLoading || this.isLobbyTimerLoading }, + defaultLobbyTimer() { + let date = new Date() + // strip minutes and seconds + date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), 0, 0, 0) + // add one hour to reach the next hour + return new Date(date.getTime() + 3600000) + }, + lobbyTimer() { // A timestamp of 0 means that there is no lobby, but it would be // interpreted as the Unix epoch by the DateTimePicker. @@ -122,7 +122,7 @@ export default { // PHP timestamp is second-based; JavaScript timestamp is // millisecond based. - return new Date(this.conversation.lobbyTimer * 1000) + return this.conversation.lobbyTimer * 1000 }, dateTimePickerAttrs() { @@ -133,13 +133,11 @@ export default { days: window.dayNamesShort, // Provided by server months: window.monthNamesShort, // Provided by server }, - // Do not update the value until the confirm button has been - // pressed. Otherwise it would not be possible to set a lobby - // for today, because as soon as the day is selected the lobby - // timer would be set, but as no time was set at that point the - // lobby timer would be set to today at 00:00, which would - // disable the lobby due to being in the past. confirm: true, + clearable: true, + minuteStep: 5, + appendToBody: true, + valueType: 'timestamp', } }, }, @@ -170,24 +168,13 @@ export default { this.isLobbyStateLoading = false }, - setNewLobbyTimer(date) { - let timestamp = 0 - if (date) { - // PHP timestamp is second-based; JavaScript timestamp is - // millisecond based. - timestamp = date.getTime() / 1000 - } - - this.newLobbyTimer = timestamp - }, - - async saveLobbyTimer() { + async saveLobbyTimer(timestamp) { this.isLobbyTimerLoading = true try { await this.$store.dispatch('setLobbyTimer', { token: this.token, - timestamp: this.newLobbyTimer, + timestamp: timestamp ? (timestamp / 1000) : 0, }) showSuccess(t('spreed', 'Start time has been updated')) } catch (e) { diff --git a/src/components/LeftSidebar/LeftSidebar.vue b/src/components/LeftSidebar/LeftSidebar.vue index 9a72897ab..e4e7c1fdd 100644 --- a/src/components/LeftSidebar/LeftSidebar.vue +++ b/src/components/LeftSidebar/LeftSidebar.vue @@ -165,8 +165,8 @@ export default { searchResultsListedConversations: [], contactsLoading: false, listedConversationsLoading: false, - isCirclesEnabled: loadState('talk', 'circles_enabled'), - canStartConversations: loadState('talk', 'start_conversations'), + isCirclesEnabled: loadState('spreed', 'circles_enabled'), + canStartConversations: loadState('spreed', 'start_conversations'), initialisedConversations: false, cancelSearchPossibleConversations: () => {}, cancelSearchListedConversations: () => {}, diff --git a/src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue b/src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue index 4b474b8f4..109b9fad7 100644 --- a/src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue +++ b/src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue @@ -30,7 +30,7 @@ <Plus decorative title="" - :size="24" /> + :size="20" /> </button> <!-- New group form --> <Modal @@ -352,6 +352,9 @@ $dialog-height: 480px; width: 44px; padding: 0; margin: 0 0 0 4px; + display: flex; + align-items: center; + justify-content: center; } .new-group-conversation { diff --git a/src/components/MessagesList/MessagesGroup/Message/Message.vue b/src/components/MessagesList/MessagesGroup/Message/Message.vue index c29eeda50..a68fb940d 100644 --- a/src/components/MessagesList/MessagesGroup/Message/Message.vue +++ b/src/components/MessagesList/MessagesGroup/Message/Message.vue @@ -63,11 +63,35 @@ the main body of the message as well as a quote. :style="{'visibility': hasDate ? 'visible' : 'hidden'}" :class="{'date--self': showSentIcon}">{{ messageTime }}</span> <!-- Message delivery status indicators --> - <div v-if="isTemporary && !isTemporaryUpload" + <div v-if="sendingFailure" + v-tooltip.auto="sendingErrorIconTooltip" + class="message-status sending-failed" + :class="{'retry-option': sendingErrorCanRetry}" + :aria-label="sendingErrorIconTooltip" + tabindex="0" + @mouseover="showReloadButton = true" + @focus="showReloadButton = true" + @mouseleave="showReloadButton = true" + @blur="showReloadButton = true"> + <button + v-if="sendingErrorCanRetry && showReloadButton" + class="nc-button nc-button__main--dark" + @click="handleRetry"> + <Reload + decorative + title="" + :size="16" /> + </button> + <AlertCircle v-else + decorative + title="" + :size="16" /> + </div> + <div v-else-if="isTemporary && !isTemporaryUpload" v-tooltip.auto="loadingIconTooltip" class="icon-loading-small message-status" :aria-label="loadingIconTooltip" /> - <div v-if="showCommonReadIcon" + <div v-else-if="showCommonReadIcon" v-tooltip.auto="commonReadIconTooltip" class="message-status" :aria-label="commonReadIconTooltip"> @@ -111,6 +135,7 @@ import DefaultParameter from './MessagePart/DefaultParameter' import FilePreview from './MessagePart/FilePreview' import Mention from './MessagePart/Mention' import RichText from '@juliushaertl/vue-richtext' +import AlertCircle from 'vue-material-design-icons/AlertCircle' import Check from 'vue-material-design-icons/Check' import CheckAll from 'vue-material-design-icons/CheckAll' import Quote from '../../../Quote' @@ -119,6 +144,7 @@ import { EventBus } from '../../../../services/EventBus' import emojiRegex from 'emoji-regex' import { PARTICIPANT, CONVERSATION } from '../../../../constants' import moment from '@nextcloud/moment' +import Reload from 'vue-material-design-icons/Reload' export default { name: 'Message', @@ -133,8 +159,10 @@ export default { CallButton, Quote, RichText, + AlertCircle, Check, CheckAll, + Reload, }, mixins: [ @@ -243,6 +271,10 @@ export default { type: Number, default: 0, }, + sendingFailure: { + type: String, + default: '', + }, }, data() { @@ -250,6 +282,7 @@ export default { showActions: false, // Is tall enough for both actions and date upon hovering isTallEnough: false, + showReloadButton: false, } }, @@ -361,7 +394,12 @@ export default { // Determines whether the date has to be displayed or not hasDate() { - return this.isSystemMessage || (!this.isTemporary && !this.showActions) || this.isTallEnough + if (this.isTemporary || this.sendingFailure) { + // Never on temporary or failed messages + return false + } + + return this.isSystemMessage || !this.showActions || this.isTallEnough }, isTemporaryUpload() { @@ -380,6 +418,17 @@ export default { return t('spreed', 'Message read by everyone who shares their reading status') }, + sendingErrorCanRetry() { + return this.sendingFailure === 'timeout' || this.sendingFailure === 'other' + }, + + sendingErrorIconTooltip() { + if (this.sendingErrorCanRetry) { + return t('spreed', 'Failed to send the message. Click to try again') + } + return t('spreed', 'You can not send messages to this conversation at the moment') + }, + }, watch: { @@ -416,6 +465,12 @@ export default { // again another time this.$refs.message.classList.remove('highlight-animation') }, + handleRetry() { + if (this.sendingErrorCanRetry) { + EventBus.$emit('retryMessage', this.id) + EventBus.$emit('focusChatInput') + } + }, handleReply() { this.$store.dispatch('addMessageToBeReplied', { id: this.id, @@ -440,6 +495,7 @@ export default { <style lang="scss" scoped> @import '../../../../assets/variables'; +@import '../../../../assets/buttons'; .message { padding: 4px; @@ -550,5 +606,9 @@ export default { display: flex; justify-content: center; align-items: center; + + &.retry-option { + cursor: pointer; + } } </style> diff --git a/src/components/MessagesList/MessagesList.vue b/src/components/MessagesList/MessagesList.vue index ea32261ae..a7ea914e1 100644 --- a/src/components/MessagesList/MessagesList.vue +++ b/src/components/MessagesList/MessagesList.vue @@ -59,7 +59,7 @@ get the messagesList array and loop through the list to generate the messages. <ChevronDown decorative title="" - :size="24" /> + :size="20" /> </button> </transition> </div> @@ -726,12 +726,14 @@ export default { position: absolute; width: 44px; height: 44px; - bottom: 76px; right: 24px; z-index: 2; padding: 0; margin: 0; + display: flex; + align-items: center; + justify-content: center; } </style> diff --git a/src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue b/src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue index 47420290a..6edf70a1e 100644 --- a/src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue +++ b/src/components/NewMessageForm/AdvancedInput/AdvancedInput.vue @@ -408,8 +408,7 @@ export default { overflow: visible; width: 100%; border:none; - margin: 0; - margin-left: 6px !important; + margin: 0 6px !important; word-break: break-word; white-space: pre-wrap; padding: 8px 16px; diff --git a/src/components/NewMessageForm/NewMessageForm.vue b/src/components/NewMessageForm/NewMessageForm.vue index 5a9ff462a..bd223ea56 100644 --- a/src/components/NewMessageForm/NewMessageForm.vue +++ b/src/components/NewMessageForm/NewMessageForm.vue @@ -66,11 +66,11 @@ <EmojiPicker @select="addEmoji"> <button type="button" - class="new-message-form__icon new-message-form__button" + class="nc-button nc-button__main" :aria-label="t('spreed', 'Add emoji')" :aria-haspopup="true"> <EmoticonOutline - :size="20" + :size="16" decorative title="" /> </button> @@ -99,10 +99,11 @@ :disabled="isReadOnly" type="submit" :aria-label="t('spreed', 'Send message')" - class="new-message-form__button submit" + class="nc-button nc-button__main" @click.prevent="handleSubmit"> <Send - :size="20" + title="" + :size="16" decorative /> </button> </form> @@ -125,6 +126,7 @@ import { CONVERSATION } from '../../constants' import createTemporaryMessage from '../../utils/temporaryMessage' import EmoticonOutline from 'vue-material-design-icons/EmoticonOutline' import Send from 'vue-material-design-icons/Send' +import CancelableRequest from '../../utils/cancelableRequest' const picker = getFilePickerBuilder(t('spreed', 'File to share')) .setMultiSelect(false) @@ -203,10 +205,12 @@ export default { mounted() { EventBus.$on('uploadStart', this.handleUploadStart) + EventBus.$on('retryMessage', this.handleRetryMessage) }, beforeDestroy() { EventBus.$off('uploadStart', this.handleUploadStart) + EventBus.$off('retryMessage', this.handleRetryMessage) }, methods: { @@ -266,7 +270,6 @@ export default { */ async handleSubmit() { if (this.parsedText !== '') { - const oldMessage = this.parsedText const temporaryMessage = createTemporaryMessage(this.parsedText, this.token) this.$store.dispatch('addTemporaryMessage', temporaryMessage) this.text = '' @@ -275,9 +278,21 @@ export default { EventBus.$emit('smoothScrollChatToBottom') // Also remove the message to be replied for this conversation this.$store.dispatch('removeMessageToBeReplied', this.token) + let timeout try { // Posts the message to the server - const response = await postNewMessage(temporaryMessage) + const { request, cancel } = CancelableRequest(postNewMessage) + + timeout = setTimeout(() => { + cancel('canceled') + this.$store.dispatch('markTemporaryMessageAsFailed', { + message: temporaryMessage, + reason: 'timeout', + }) + }, 30000) + const response = await request(temporaryMessage) + clearTimeout(timeout) + // If successful, deletes the temporary message from the store this.$store.dispatch('deleteMessage', temporaryMessage) // And adds the complete version of the message received @@ -287,19 +302,44 @@ export default { let statusCode = null console.debug(`error while submitting message ${error}`, error) if (error.isAxiosError) { - statusCode = error.response.status + statusCode = error?.response?.status + } + + if (timeout) { + clearTimeout(timeout) } + // 403 when room is read-only, 412 when switched to lobby mode - if (statusCode === 403 || statusCode === 412) { + if (statusCode === 403) { + showError(t('spreed', 'No permission to post messages in this conversation')) + this.$store.dispatch('markTemporaryMessageAsFailed', { + message: temporaryMessage, + reason: 'read-only', + }) + } else if (statusCode === 412) { showError(t('spreed', 'No permission to post messages in this conversation')) + this.$store.dispatch('markTemporaryMessageAsFailed', { + message: temporaryMessage, + reason: 'lobby', + }) } else { showError(t('spreed', 'Could not post message: {errorMessage}', { errorMessage: error.message || error })) + this.$store.dispatch('markTemporaryMessageAsFailed', { + message: temporaryMessage, + reason: 'other', + }) } + } + } + }, - // restore message to allow re-sending + handleRetryMessage(temporaryMessageId) { + if (this.parsedText === '') { + const temporaryMessage = this.$store.getters.message(this.token, temporaryMessageId) + if (temporaryMessage) { + this.text = temporaryMessage.message || this.text + this.parsedText = temporaryMessage.message || this.parsedText this.$store.dispatch('deleteMessage', temporaryMessage) - this.text = oldMessage - this.parsedText = oldMessage } } }, @@ -408,7 +448,7 @@ export default { </script> <style lang="scss" scoped> -@import '../../assets/variables'; +@import '../../assets/buttons'; .wrapper { position: sticky; @@ -435,18 +475,6 @@ export default { overflow-x: hidden; max-width: 638px; } - &__button { - width: 44px; - height: 44px; - background-color: transparent; - border: none; - margin: 0 4px; - color: var(--color-main-text); - opacity: .9; - display: flex; - justify-content: center; - align-items: center; - } &__quote { margin: 0 16px 12px 24px; background-color: var(--color-background-hover); diff --git a/src/components/RightSidebar/Description/Description.vue b/src/components/RightSidebar/Description/Description.vue index d0165098b..4f3b73c8f 100644 --- a/src/components/RightSidebar/Description/Description.vue +++ b/src/components/RightSidebar/Description/Description.vue @@ -38,23 +38,23 @@ <template v-if="!loading"> <template v-if="editing"> <button - class="description__button" + class="nc-button nc-button__main description__action" :aria-label="t('spreed','Cancel editing description')" @click="handleCancelEditing"> <Close decorative title="" - :size="20" /> + :size="16" /> </button> <button - class="description__button primary" + class="nc-button nc-button__main primary description__action" :aria-label="t('spreed','Submit conversation description')" :disabled="!canSubmit" @click="handleSubmitDescription"> <Check decorative title="" - :size="20" /> + :size="16" /> </button> <div v-if="showCountDown" v-tooltip.auto="countDownWarningText" @@ -65,17 +65,21 @@ </div> </template> <button v-if="!editing && editable" - class="description__button" + class="nc-button nc-button__main" :aria-label="t('spreed','Edit conversation description')" @click="handleEditDescription"> <Pencil decorative - :size="20" /> + title="" + :size="16" /> </button> </template> <div v-if="loading" class="icon-loading-small spinner" /> - <button v-if="!editing && overflows && expanded" class="expand-indicator description__button" @click="handleClick"> - <ChevronDown /> + <button v-if="!editing && overflows && expanded" class="expand-indicator nc-button nc-button__main" @click="handleClick"> + <ChevronDown + decorative + title="" + :size="16" /> </button> <div v-if="showOverlay" cursor="pointer" @@ -288,6 +292,7 @@ export default { <style lang="scss" scoped> @import '../../../assets/variables.scss'; +@import '../../../assets/buttons.scss'; .description { margin: -20px 0 8px 8px; @@ -328,32 +333,10 @@ export default { color: var(--color-text-maxcontrast); } } - &__buttons{ - display: flex; - margin-top: 8px; - justify-content: flex-end; - } - &__button { - width: $clickable-area; - height: $clickable-area; - flex-shrink: 0; - border: 0; - padding: 0; + + &__action { margin: 0 0 4px 4px; - z-index: 1; - &:not(.primary) { - background-color: transparent; - } - &:hover, - &:focus { - background-color: var(--color-background-hover); - } - &:disabled { - &:hover { - background-color: var(--color-primary-element); - } - } } } diff --git a/src/components/RightSidebar/LobbyStatus.vue b/src/components/RightSidebar/LobbyStatus.vue new file mode 100644 index 000000000..7710adac4 --- /dev/null +++ b/src/components/RightSidebar/LobbyStatus.vue @@ -0,0 +1,65 @@ +<!-- + - @copyright Copyright (c) 2020 Vincent Petry <vincent@nextcloud.com> + - + - @author Vincent Petry <vincent@nextcloud.com> + - + - @license GNU AGPL version 3 or any later version + - + - This program is free software: you can redistribute it and/or modify + - it under the terms of the GNU Affero General Public License as + - published by the Free Software Foundation, either version 3 of the + - License, or (at your option) any later version. + - + - This program is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU Affero General Public License for more details. + - + - You should have received a copy of the GNU Affero General Public License + - along with this program. If not, see <http://www.gnu.org/licenses/>. +--> + +<template> + <button @click="disableLobby"> + {{ t('spreed', 'Disable lobby' ) }} + </button> +</template> + +<script> +import { showError, showSuccess } from '@nextcloud/dialogs' + +export default { + name: 'LobbyStatus', + + props: { + token: { + type: String, + required: true, + }, + }, + + data() { + return { + isLobbyStateLoading: false, + } + }, + + methods: { + async disableLobby() { + this.isLobbyStateLoading = true + try { + await this.$store.dispatch('toggleLobby', { + token: this.token, + enableLobby: false, + }) + showSuccess(t('spreed', 'You opened the conversation to everyone')) + } catch (e) { + console.error('Error occurred when opening the conversation to everyone', e) + showError(t('spreed', 'Error occurred when opening the conversation to everyone')) + } + this.isLobbyStateLoading = false + }, + }, +} + +</script> diff --git a/src/components/RightSidebar/Participants/ParticipantsTab.vue b/src/components/RightSidebar/Participants/ParticipantsTab.vue index 15f1e67bc..32fa7c895 100644 --- a/src/components/RightSidebar/Participants/ParticipantsTab.vue +++ b/src/components/RightSidebar/Participants/ParticipantsTab.vue @@ -94,7 +94,7 @@ export default { searchResults: [], contactsLoading: false, participantsInitialised: false, - isCirclesEnabled: loadState('talk', 'circles_enabled'), + isCirclesEnabled: loadState('spreed', 'circles_enabled'), /** * Stores the cancel function for cancelableGetParticipants */ diff --git a/src/components/RightSidebar/RightSidebar.vue b/src/components/RightSidebar/RightSidebar.vue index 1e2e191a3..d8181087d 100644 --- a/src/components/RightSidebar/RightSidebar.vue +++ b/src/components/RightSidebar/RightSidebar.vue @@ -35,16 +35,18 @@ @submit-title="handleSubmitTitle" @dismiss-editing="dismissEditing" @close="handleClose"> - <Description - v-if="showDescription" - slot="description" - :editable="canFullModerate" - :description="description" - :editing="isEditingDescription" - :loading="isDescriptionLoading" - :placeholder="t('spreed', 'Add a description for this conversation')" - @submit:description="handleUpdateDescription" - @update:editing="handleEditDescription" /> + <template slot="description"> + <Description + v-if="showDescription" + :editable="canFullModerate" + :description="description" + :editing="isEditingDescription" + :loading="isDescriptionLoading" + :placeholder="t('spreed', 'Add a description for this conversation')" + @submit:description="handleUpdateDescription" + @update:editing="handleEditDescription" /> + <LobbyStatus v-if="canFullModerate && hasLobbyEnabled" :token="token" /> + </template> <AppSidebarTab v-if="showChatInSidebar" id="chat" @@ -102,6 +104,7 @@ import isInLobby from '../../mixins/isInLobby' import SetGuestUsername from '../SetGuestUsername' import SipSettings from './SipSettings' import Description from './Description/Description' +import LobbyStatus from './LobbyStatus' import { EventBus } from '../../services/EventBus' import { showError } from '@nextcloud/dialogs' @@ -116,6 +119,7 @@ export default { SetGuestUsername, SipSettings, Description, + LobbyStatus, }, mixins: [ @@ -222,6 +226,11 @@ export default { return this.description !== '' } }, + + hasLobbyEnabled() { + return this.conversation.lobbyState === WEBINAR.LOBBY.NON_MODERATORS + }, + }, watch: { @@ -321,6 +330,10 @@ export default { display: flex; } +::v-deep .app-sidebar-header__description { + flex-direction: column; +} + .app-sidebar-tabs__content #tab-chat { /* Remove padding to maximize the space for the chat view. */ padding: 0; diff --git a/src/components/RightSidebar/SipSettings.vue b/src/components/RightSidebar/SipSettings.vue index 188566f00..f7178399f 100644 --- a/src/components/RightSidebar/SipSettings.vue +++ b/src/components/RightSidebar/SipSettings.vue @@ -53,7 +53,7 @@ export default { data() { return { - dialInInfo: loadState('talk', 'sip_dialin_info'), + dialInInfo: loadState('spreed', 'sip_dialin_info'), } }, diff --git a/src/mixins/browserCheck.js b/src/mixins/browserCheck.js index b8bd41bb6..c57b9a57f 100644 --- a/src/mixins/browserCheck.js +++ b/src/mixins/browserCheck.js @@ -48,6 +48,9 @@ const browserCheck = { isChrome() { return this.browser.name === 'Chrome' || this.browser.name === 'Chromium' }, + isOpera() { + return this.browser.name === 'Opera' + }, isSafari() { return this.browser.name === 'Safari' || this.browser.name === 'Mobile Safari' }, @@ -65,6 +68,7 @@ const browserCheck = { isFullySupported() { return (this.isFirefox && this.majorVersion >= 52) || (this.isChrome && this.majorVersion >= 49) + || (this.isOpera && this.majorVersion >= 72) || (this.isSafari && this.majorVersion >= 12) || this.isEdge }, @@ -72,12 +76,13 @@ const browserCheck = { blockCalls() { return (this.isFirefox && this.majorVersion < 52) || (this.isChrome && this.majorVersion < 49) + || (this.isOpera && this.majorVersion < 72) || (this.isSafari && this.majorVersion < 12) || this.isIE }, // Used both in the toast and in the call button tooltip unsupportedWarning() { - return t('spreed', "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome or Apple Safari.") + return t('spreed', "The browser you're using is not fully supported by Nextcloud Talk. Please use the latest version of Mozilla Firefox, Microsoft Edge, Google Chrome, Opera or Apple Safari.") }, // Used in CallButton.vue callButtonTooltipText() { diff --git a/src/services/messagesService.js b/src/services/messagesService.js index 23c4b5211..c17966be6 100644 --- a/src/services/messagesService.js +++ b/src/services/messagesService.js @@ -80,15 +80,16 @@ const lookForNewMessages = async({ token, lastKnownMessageId }, options) => { } /** - * Posts a new messageto the server. + * Posts a new message to the server. * * @param {object} param0 The message object that is destructured - * @param {string} token The conversation token - * @param {string} message The message object - * @param {string} referenceId A reference id to identify the message later again - * @param {Number} parent The id of the message to be replied to + * @param {string} param0.token The conversation token + * @param {string} param0.message The message object + * @param {string} param0.referenceId A reference id to identify the message later again + * @param {Number} param0.parent The id of the message to be replied to + * @param {object} options options */ -const postNewMessage = async function({ token, message, actorDisplayName, referenceId, parent }) { +const postNewMessage = async function({ token, message, actorDisplayName, referenceId, parent }, options) { const response = await axios.post(generateOcsUrl('apps/spreed/api/v1/chat', 2) + token, { message, actorDisplayName, referenceId, replyTo: parent }) if ('x-chat-last-common-read' in response.headers) { diff --git a/src/store/fileUploadStore.js b/src/store/fileUploadStore.js index 861296e1d..c60b9d0dd 100644 --- a/src/store/fileUploadStore.js +++ b/src/store/fileUploadStore.js @@ -30,7 +30,7 @@ import { EventBus } from '../services/EventBus' import { shareFile } from '../services/filesSharingServices' const state = { - attachmentFolder: loadState('talk', 'attachment_folder'), + attachmentFolder: loadState('spreed', 'attachment_folder'), uploads: { }, currentUploadId: undefined, diff --git a/src/store/messagesStore.js b/src/store/messagesStore.js index 16ca0f626..7078e4abd 100644 --- a/src/store/messagesStore.js +++ b/src/store/messagesStore.js @@ -126,6 +126,7 @@ const mutations = { deleteMessage(state, message) { Vue.delete(state.messages[message.token], message.id) }, + /** * Adds a temporary message to the store. * @param {object} state current store state; @@ -136,6 +137,18 @@ const mutations = { }, /** + * Adds a temporary message to the store. + * @param {object} state current store state; + * @param {object} message the temporary message; + * @param {string} reason the reason the temporary message failed; + */ + markTemporaryMessageAsFailed(state, { message, reason }) { + if (state.messages[message.token][message.id]) { + Vue.set(state.messages[message.token][message.id], 'sendingFailure', reason) + } + }, + + /** * @param {object} state current store state; * @param {string} token Token of the conversation * @param {string} id Id of the first known chat message @@ -224,6 +237,17 @@ const actions = { }, /** + * Mark a temporary message as failed to allow retrying it again + * + * @param {object} context default store context; + * @param {object} message the temporary message; + * @param {string} reason the reason the temporary message failed; + */ + markTemporaryMessageAsFailed(context, { message, reason }) { + context.commit('markTemporaryMessageAsFailed', { message, reason }) + }, + + /** * @param {object} context default store context; * @param {string} token Token of the conversation * @param {string} id Id of the first known chat message diff --git a/src/store/settingsStore.js b/src/store/settingsStore.js index a8bd04eef..40d6e8b00 100644 --- a/src/store/settingsStore.js +++ b/src/store/settingsStore.js @@ -22,7 +22,7 @@ import { loadState } from '@nextcloud/initial-state' import { setReadStatusPrivacy } from '../services/settingsService' const state = { - readStatusPrivacy: loadState('talk', 'read_status_privacy'), + readStatusPrivacy: loadState('spreed', 'read_status_privacy'), } const getters = { diff --git a/src/utils/temporaryMessage.js b/src/utils/temporaryMessage.js index 606667983..4b5027c95 100644 --- a/src/utils/temporaryMessage.js +++ b/src/utils/temporaryMessage.js @@ -55,6 +55,7 @@ const createTemporaryMessage = (text, token, uploadId, index, file, localUrl) => messageParameters, token: token, isReplyable: false, + sendingFailure: '', referenceId: Hex.stringify(SHA1(tempId)), }) diff --git a/src/utils/webrtc/simplewebrtc/peer.js b/src/utils/webrtc/simplewebrtc/peer.js index 6790c279a..569657916 100644 --- a/src/utils/webrtc/simplewebrtc/peer.js +++ b/src/utils/webrtc/simplewebrtc/peer.js @@ -94,7 +94,7 @@ util.inherits(Peer, WildEmitter) function shouldPreferH264() { try { - return initialState.loadState('talk', 'prefer_h264') + return initialState.loadState('spreed', 'prefer_h264') } catch (exception) { // If the state can not be loaded an exception is thrown console.warn('Could not find initial state for H.264 preference') diff --git a/tests/php/Settings/Admin/AdminSettingsTest.php b/tests/php/Settings/Admin/AdminSettingsTest.php index 2fcdcff65..b23429a72 100644 --- a/tests/php/Settings/Admin/AdminSettingsTest.php +++ b/tests/php/Settings/Admin/AdminSettingsTest.php @@ -27,10 +27,10 @@ use OCA\Talk\Config; use OCA\Talk\MatterbridgeManager; use OCA\Talk\Service\CommandService; use OCA\Talk\Settings\Admin\AdminSettings; +use OCP\AppFramework\Services\IInitialState; use OCP\ICacheFactory; use OCP\IConfig; use OCP\IGroupManager; -use OCP\IInitialStateService; use OCP\IL10N; use OCP\IUserSession; use OCP\L10N\IFactory; @@ -44,7 +44,7 @@ class AdminSettingsTest extends \Test\TestCase { protected $serverConfig; /** @var CommandService|MockObject */ protected $commandService; - /** @var IInitialStateService|MockObject */ + /** @var IInitialState|MockObject */ protected $initialState; /** @var ICacheFactory|MockObject */ protected $cacheFactory; @@ -67,7 +67,7 @@ class AdminSettingsTest extends \Test\TestCase { $this->talkConfig = $this->createMock(Config::class); $this->serverConfig = $this->createMock(IConfig::class); $this->commandService = $this->createMock(CommandService::class); - $this->initialState = $this->createMock(IInitialStateService::class); + $this->initialState = $this->createMock(IInitialState::class); $this->cacheFactory = $this->createMock(ICacheFactory::class); $this->groupManager = $this->createMock(IGroupManager::class); $this->matterbridgeManager = $this->createMock(MatterbridgeManager::class); @@ -169,8 +169,8 @@ class AdminSettingsTest extends \Test\TestCase { $this->initialState->expects($this->exactly(2)) ->method('provideInitialState') ->withConsecutive( - ['talk', 'stun_servers', ['getStunServers']], - ['talk', 'has_internet_connection', true] + ['stun_servers', ['getStunServers']], + ['has_internet_connection', true] ); $admin = $this->getAdminSettings(); @@ -184,7 +184,7 @@ class AdminSettingsTest extends \Test\TestCase { $this->initialState->expects($this->once()) ->method('provideInitialState') - ->with('talk', 'turn_servers', ['getTurnServers']); + ->with('turn_servers', ['getTurnServers']); $admin = $this->getAdminSettings(); self::invokePrivate($admin, 'initTurnServers'); |