Merge branch 'main' into fix/template-title-fields

This commit is contained in:
Elizabeth Danzberger 2025-02-26 14:18:12 -05:00 committed by GitHub
commit ebe1cd2cf6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
36 changed files with 2020 additions and 1217 deletions

View file

@ -32,5 +32,4 @@ screenshots
src
tests
tsconfig.json
vendor
webpack.*
webpack.*

8
composer.lock generated
View file

@ -481,12 +481,12 @@
"source": {
"type": "git",
"url": "https://github.com/nextcloud-deps/ocp.git",
"reference": "df0b0d885420a4168cd1470ee33364a3369bed1c"
"reference": "5d4e0489bad530d511c988afacf336ed087fa765"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/df0b0d885420a4168cd1470ee33364a3369bed1c",
"reference": "df0b0d885420a4168cd1470ee33364a3369bed1c",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/5d4e0489bad530d511c988afacf336ed087fa765",
"reference": "5d4e0489bad530d511c988afacf336ed087fa765",
"shasum": ""
},
"require": {
@ -522,7 +522,7 @@
"issues": "https://github.com/nextcloud-deps/ocp/issues",
"source": "https://github.com/nextcloud-deps/ocp/tree/master"
},
"time": "2025-01-25T00:41:21+00:00"
"time": "2025-02-22T00:42:30+00:00"
},
{
"name": "nikic/php-parser",

View file

@ -32,8 +32,11 @@ describe('Nextcloud integration', function() {
it('Sharing sidebar', function() {
cy.get('@loleafletframe').within(() => {
cy.get('#File-tab-label').click()
cy.get('#ShareAs-button').click()
cy.get('.notebookbar-tabs-container', { timeout: 30_000 })
.should('be.visible')
cy.get('button[aria-label="File"]').click()
cy.get('button#ShareAs-button').click()
})
cy.get('#app-sidebar-vue')
@ -47,8 +50,11 @@ describe('Nextcloud integration', function() {
it('Versions sidebar', function() {
cy.get('@loleafletframe').within(() => {
cy.get('#File-tab-label').click()
cy.get('#Rev-History-button').click()
cy.get('.notebookbar-tabs-container', { timeout: 30_000 })
.should('be.visible')
cy.get('button[aria-label="File"]').click()
cy.get('button[aria-label="See history"]').click()
})
cy.get('#app-sidebar-vue')
@ -65,32 +71,40 @@ describe('Nextcloud integration', function() {
it('Save as', function() {
const exportFilename = 'document.rtf'
cy.get('@loleafletframe').within(() => {
cy.get('#File-tab-label').click()
cy.get('#saveas').click()
cy.get('.notebookbar-tabs-container', { timeout: 30_000 })
.should('be.visible')
cy.get('button[aria-label="File"]').click()
cy.get('button[aria-label="Save As"]').click()
cy.get('#saveas-entries #saveas-entry-1').click()
})
cy.get('.saveas-dialog').should('be.visible')
cy.get('.saveas-dialog input[type=text]')
.should('be.visible')
.should('have.value', `/${exportFilename}`)
cy.get('.saveas-dialog button.button-vue--vue-primary').click()
cy.get('.saveas-dialog').should('be.visible')
cy.get('.saveas-dialog input[type=text]')
.should('be.visible')
.should('have.value', `/${exportFilename}`)
cy.get('@loleafletframe').within(() => {
cy.get('#closebutton').click()
cy.waitForViewerClose()
})
cy.get('.saveas-dialog button.button-vue--vue-primary').click()
// FIXME: We should not need to reload
cy.get('.breadcrumb__crumbs a').eq(0).click({ force: true })
cy.get('@loleafletframe').within(() => {
cy.get('#closebutton').click()
cy.waitForViewerClose()
})
cy.openFile(exportFilename)
// FIXME: We should not need to reload
cy.get('.breadcrumb__crumbs a').eq(0).click({ force: true })
cy.openFile(exportFilename)
})
it('Open locally', function() {
cy.get('@loleafletframe').within(() => {
cy.get('#Open_Local_Editor').click()
cy.get('.notebookbar-shortcuts-bar', { timeout: 30_000 })
.should('be.visible')
cy.get('button[aria-label="Open in local editor"]').click()
})
cy.get('.confirmation-dialog').should('be.visible')

View file

@ -41,10 +41,8 @@ describe('Open existing office files', function() {
// Share action
cy.wait(2000)
cy.get('@loleafletframe').within(() => {
cy.get('#main-menu #menu-file > a').click()
cy.get('#main-menu #menu-shareas > a').should('be.visible').click()
cy.verifyOpen(filename)
})
cy.verifyOpen(filename)
// FIXME: wait for sidebar tab content
// FIXME: validate sharing tab
@ -69,9 +67,8 @@ describe('Open existing office files', function() {
cy.screenshot('open-file_' + filename)
cy.get('@loleafletframe').within(() => {
cy.get('button.icon-nextcloud-sidebar').click()
cy.verifyOpen(filename)
})
cy.verifyOpen(filename)
// FIXME: wait for sidebar tab content
// FIXME: validate sharing tab
cy.screenshot('share-sidebar_' + filename)
@ -133,9 +130,8 @@ describe('Open PDF with richdocuments', () => {
// Verify that the correct file is open
cy.get('@loleafletframe').within(() => {
cy.get('button.icon-nextcloud-sidebar').click()
cy.verifyOpen('document.pdf')
})
cy.verifyOpen('document.pdf')
// Make sure we can close the document
cy.closeDocument()

View file

@ -223,7 +223,7 @@ Cypress.Commands.add('nextcloudTestingAppConfigSet', (appId, configKey, configVa
})
Cypress.Commands.add('waitForViewer', () => {
cy.get('#viewer', { timeout: 30000 })
cy.get('#viewer', { timeout: 50000 })
.should('be.visible')
.and('have.class', 'modal-mask')
.and('not.have.class', 'icon-loading')
@ -292,11 +292,9 @@ Cypress.Commands.add('closeDocument', () => {
})
Cypress.Commands.add('verifyOpen', (filename) => {
cy.get('#app-sidebar-vue')
.should('be.visible')
cy.get('.app-sidebar-header__mainname')
.should('be.visible')
.should('contain.text', filename)
cy.get('input#document-name-input').should(($docName) => {
expect($docName.val()).to.equal(filename)
})
})
Cypress.Commands.add('uploadSystemTemplate', ({ fixturePath, fileName, mimeType }) => {

View file

@ -3,16 +3,16 @@ OC.L10N.register(
{
"The file was uploaded" : "O fichero estió puyato",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O fichero puyato sobrexe a directiva upload_max_filesize en php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O fichero cargau supera a directiva MAX_FILE_SIZE que s'espezificó en o formulario HTML",
"The file was only partially uploaded" : "O fichero nomás s'ha cargau parzialmén",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O fichero cargau supera a directiva MAX_FILE_SIZE que s'especificó en o formulario HTML",
"The file was only partially uploaded" : "O fichero nomás s'ha cargau parcialment",
"No file was uploaded" : "No s'ha cargau garra fichero",
"Missing a temporary folder" : "Falta una carpeta temporal",
"Could not write file to disk" : "No se podió escribir o fichero en o disco",
"A PHP extension stopped the file upload" : "Una estensión de PHP aturó a carga de fichers",
"File is too big" : "O fichero ye masiau gran",
"Invalid file provided" : "Fichero proporzionau no valiu",
"Invalid file provided" : "Fichero proporcionau no valiu",
"New" : "Nuevo",
"Cancel" : "Canzelar",
"Cancel" : "Cancelar",
"Close" : "Zarrar",
"Details" : "Detalles",
"Download" : "Escargar",

View file

@ -1,16 +1,16 @@
{ "translations": {
"The file was uploaded" : "O fichero estió puyato",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O fichero puyato sobrexe a directiva upload_max_filesize en php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O fichero cargau supera a directiva MAX_FILE_SIZE que s'espezificó en o formulario HTML",
"The file was only partially uploaded" : "O fichero nomás s'ha cargau parzialmén",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O fichero cargau supera a directiva MAX_FILE_SIZE que s'especificó en o formulario HTML",
"The file was only partially uploaded" : "O fichero nomás s'ha cargau parcialment",
"No file was uploaded" : "No s'ha cargau garra fichero",
"Missing a temporary folder" : "Falta una carpeta temporal",
"Could not write file to disk" : "No se podió escribir o fichero en o disco",
"A PHP extension stopped the file upload" : "Una estensión de PHP aturó a carga de fichers",
"File is too big" : "O fichero ye masiau gran",
"Invalid file provided" : "Fichero proporzionau no valiu",
"Invalid file provided" : "Fichero proporcionau no valiu",
"New" : "Nuevo",
"Cancel" : "Canzelar",
"Cancel" : "Cancelar",
"Close" : "Zarrar",
"Details" : "Detalles",
"Download" : "Escargar",

View file

@ -131,6 +131,7 @@ OC.L10N.register(
"Font format not supported ({mime})" : "Format de tipus de lletra no suportat ({mime})",
"Save" : "Desa",
"Remove" : "Suprimir",
"Submit name" : "Envia el nom",
"Confirm" : "Confirma",
"Cancel" : "Cancel·la",
"Save as" : "Anomena i desa",

View file

@ -129,6 +129,7 @@
"Font format not supported ({mime})" : "Format de tipus de lletra no suportat ({mime})",
"Save" : "Desa",
"Remove" : "Suprimir",
"Submit name" : "Envia el nom",
"Confirm" : "Confirma",
"Cancel" : "Cancel·la",
"Save as" : "Anomena i desa",

View file

@ -6,7 +6,7 @@ OC.L10N.register(
"New Presentation.odp" : "Ny præsentation.odp",
"New Document.docx" : "Nyt dokument.docx",
"New Spreadsheet.xlsx" : "Nyt regneark.xlsx",
"New Presentation.pptx" : "Nyt præsentation.pptx",
"New Presentation.pptx" : "Ny præsentation.pptx",
"File already exists" : "Filen findes allerede",
"Saved" : "Gemt",
"The file was uploaded" : "Filen blev uploadet",
@ -28,9 +28,9 @@ OC.L10N.register(
"Word Document (.docx)" : "Word dokument (.docx)",
"OpenDocument Text (.odt)" : "OpenDocument tekst (.odt)",
"Excel Workbook (.xlsx)" : "Excel regneark (.xlsx)",
"New document" : "Nyt Dokument",
"New spreadsheet" : "Nyt Regneark",
"New presentation" : "Ny Præsentation",
"New document" : "Nyt dokument",
"New spreadsheet" : "Nyt regneark",
"New presentation" : "Ny præsentation",
"New diagram" : "Nyt diagram",
"Headings" : "Overskrifter",
"Images" : "Billeder",
@ -51,6 +51,7 @@ OC.L10N.register(
"Submit name" : "Angiv navn",
"Confirm" : "Bekræft",
"Cancel" : "Annuller",
"Save as" : "Gem som",
"Save As" : "Gem som",
"Submit" : "Tilføj",
"Description" : "Beskrivelse",
@ -58,7 +59,7 @@ OC.L10N.register(
"Select file or folder to link to" : "Link til fil eller mappe",
"Select file" : "Vælg fil",
"Close" : "Luk",
"Edit" : "Redigér",
"Edit" : "Rediger",
"The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Filen skulle nu åbne lokalt. Hvis dette ikke sker, så vær sikker på at desktopklienten er installeret på dit system.",
"Failed to revert the document to older version" : "Det lykkedes ikke at gendanne dokumentet, til en ældre version",
"Remove from favorites" : "Fjernet fra favoritter",
@ -78,6 +79,8 @@ OC.L10N.register(
"New filename" : "Nyt filnavn",
"Saving…" : "Gemmer...",
"Create a new document" : "Opret nyt dokument",
"Add a new template" : "Opret en ny skabelon",
"Add a new one?" : "Tilføj en ny?",
"Collabora Online" : "Collabora Online"
},
"nplurals=2; plural=(n != 1);");

View file

@ -4,7 +4,7 @@
"New Presentation.odp" : "Ny præsentation.odp",
"New Document.docx" : "Nyt dokument.docx",
"New Spreadsheet.xlsx" : "Nyt regneark.xlsx",
"New Presentation.pptx" : "Nyt præsentation.pptx",
"New Presentation.pptx" : "Ny præsentation.pptx",
"File already exists" : "Filen findes allerede",
"Saved" : "Gemt",
"The file was uploaded" : "Filen blev uploadet",
@ -26,9 +26,9 @@
"Word Document (.docx)" : "Word dokument (.docx)",
"OpenDocument Text (.odt)" : "OpenDocument tekst (.odt)",
"Excel Workbook (.xlsx)" : "Excel regneark (.xlsx)",
"New document" : "Nyt Dokument",
"New spreadsheet" : "Nyt Regneark",
"New presentation" : "Ny Præsentation",
"New document" : "Nyt dokument",
"New spreadsheet" : "Nyt regneark",
"New presentation" : "Ny præsentation",
"New diagram" : "Nyt diagram",
"Headings" : "Overskrifter",
"Images" : "Billeder",
@ -49,6 +49,7 @@
"Submit name" : "Angiv navn",
"Confirm" : "Bekræft",
"Cancel" : "Annuller",
"Save as" : "Gem som",
"Save As" : "Gem som",
"Submit" : "Tilføj",
"Description" : "Beskrivelse",
@ -56,7 +57,7 @@
"Select file or folder to link to" : "Link til fil eller mappe",
"Select file" : "Vælg fil",
"Close" : "Luk",
"Edit" : "Redigér",
"Edit" : "Rediger",
"The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Filen skulle nu åbne lokalt. Hvis dette ikke sker, så vær sikker på at desktopklienten er installeret på dit system.",
"Failed to revert the document to older version" : "Det lykkedes ikke at gendanne dokumentet, til en ældre version",
"Remove from favorites" : "Fjernet fra favoritter",
@ -76,6 +77,8 @@
"New filename" : "Nyt filnavn",
"Saving…" : "Gemmer...",
"Create a new document" : "Opret nyt dokument",
"Add a new template" : "Opret en ny skabelon",
"Add a new one?" : "Tilføj en ny?",
"Collabora Online" : "Collabora Online"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View file

@ -71,7 +71,7 @@ OC.L10N.register(
"This might be due to a missing configuration of your web server. For more information, please visit: " : "Dies kann an einer fehlenden Konfiguration deines Webservers liegen. Für weitere Informationen, besuche bitte:",
"Connecting Collabora Online Single Click with Nginx" : "Collabora Online mit einem Klick mit Nginx verbinden",
"Setting up a new server" : "Neuen Server einrichten",
"Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.",
"Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.",
"Your browser has been unable to connect to the Collabora server:" : "Dein Browser konnte keine Verbindung zum Collabora-Server herstellen:",
"This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Diese URL wird auf dem Collabora-Server entweder aus der konfigurierten URL oder dem Parameter server_name in coolwsd.xml ermittelt.",
"Collabora Online server is reachable." : "Collabora Online Server ist erreichbar.",
@ -251,7 +251,7 @@ OC.L10N.register(
"New drawing" : "Neue Zeichnung",
"Could not create file" : "Die Datei konnte nicht erstellt werden",
"Select template" : "Vorlage auswählen",
"Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.",
"Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.",
"Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Es konnte keine Verbindung zum Collabora Online-Server hergestellt werden. Dies könnte auf eine fehlende Konfiguration deines Web-Servers zurückzuführen sein. Für weitere Informationen besuche bitte:",
"Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office benötigt einen separaten Server, auf dem Collabora Online läuft, um Funktionen zur Bearbeitungs bereitzustellen.",
"Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online benötigt einen separaten Server, der als WOPI-ähnlicher-Client fungiert, um Funktionen zum Bearbeiten bereitzustellen.",
@ -264,7 +264,7 @@ OC.L10N.register(
"Set" : "Setzen",
"Please enter the filename to store the document as." : "Bitte den Dateinamen angeben, unter welchem dieses Dokument gespeichert werden soll.",
"New filename" : "Neuer Dateiname",
"Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen es noch einmal oder kontaktiere deinen Administrator.",
"Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen es noch einmal oder kontaktiere deine Administration.",
"Saving…" : "Speichere …",
"Insert from {name}" : "Einfügen von {name}",
"Last saved version" : "Letzte gespeicherte Version",

View file

@ -69,7 +69,7 @@
"This might be due to a missing configuration of your web server. For more information, please visit: " : "Dies kann an einer fehlenden Konfiguration deines Webservers liegen. Für weitere Informationen, besuche bitte:",
"Connecting Collabora Online Single Click with Nginx" : "Collabora Online mit einem Klick mit Nginx verbinden",
"Setting up a new server" : "Neuen Server einrichten",
"Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.",
"Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.",
"Your browser has been unable to connect to the Collabora server:" : "Dein Browser konnte keine Verbindung zum Collabora-Server herstellen:",
"This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Diese URL wird auf dem Collabora-Server entweder aus der konfigurierten URL oder dem Parameter server_name in coolwsd.xml ermittelt.",
"Collabora Online server is reachable." : "Collabora Online Server ist erreichbar.",
@ -249,7 +249,7 @@
"New drawing" : "Neue Zeichnung",
"Could not create file" : "Die Datei konnte nicht erstellt werden",
"Select template" : "Vorlage auswählen",
"Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.",
"Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.",
"Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Es konnte keine Verbindung zum Collabora Online-Server hergestellt werden. Dies könnte auf eine fehlende Konfiguration deines Web-Servers zurückzuführen sein. Für weitere Informationen besuche bitte:",
"Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office benötigt einen separaten Server, auf dem Collabora Online läuft, um Funktionen zur Bearbeitungs bereitzustellen.",
"Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online benötigt einen separaten Server, der als WOPI-ähnlicher-Client fungiert, um Funktionen zum Bearbeiten bereitzustellen.",
@ -262,7 +262,7 @@
"Set" : "Setzen",
"Please enter the filename to store the document as." : "Bitte den Dateinamen angeben, unter welchem dieses Dokument gespeichert werden soll.",
"New filename" : "Neuer Dateiname",
"Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen es noch einmal oder kontaktiere deinen Administrator.",
"Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen es noch einmal oder kontaktiere deine Administration.",
"Saving…" : "Speichere …",
"Insert from {name}" : "Einfügen von {name}",
"Last saved version" : "Letzte gespeicherte Version",

View file

@ -71,7 +71,7 @@ OC.L10N.register(
"This might be due to a missing configuration of your web server. For more information, please visit: " : "Dies kann an einer fehlenden Konfiguration Ihres Webservers liegen. Für weitere Informationen, besuchen Sie bitte:",
"Connecting Collabora Online Single Click with Nginx" : "Collabora Online mit einem Klick mit Nginx verbinden",
"Setting up a new server" : "Neuen Server einrichten",
"Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.",
"Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.",
"Your browser has been unable to connect to the Collabora server:" : "Ihr Browser konnte keine Verbindung zum Collabora-Server herstellen:",
"This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Diese URL wird auf dem Collabora-Server entweder aus der konfigurierten URL oder dem Parameter server_name in coolwsd.xml ermittelt.",
"Collabora Online server is reachable." : "Collabora Online Server ist erreichbar.",
@ -251,7 +251,7 @@ OC.L10N.register(
"New drawing" : "Neue Zeichnung",
"Could not create file" : "Die Datei konnte nicht erstellt werden",
"Select template" : "Vorlage auswählen",
"Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.",
"Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.",
"Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Es konnte keine Verbindung zum Collabora Online-Server hergestellt werden. Dies könnte auf eine fehlende Konfiguration Ihres Web-Servers zurückzuführen sein. Für weitere Informationen besuchen Sie bitte:",
"Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office benötigt einen separaten Server, auf dem Collabora Online läuft, um Bearbeitungsfunktionen bereitzustellen.",
"Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online benötigt einen separaten Server, der als WOPI-ähnlicher-Client fungiert, um Bearbeitungsfunktionen bereitzustellen.",
@ -264,7 +264,7 @@ OC.L10N.register(
"Set" : "Setzen",
"Please enter the filename to store the document as." : "Bitte den Dateinamen, unter welchem dieses Dokument gespeichert werden soll, eingeben.",
"New filename" : "Neuer Dateiname",
"Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihren Administrator.",
"Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihre Administration.",
"Saving…" : "Speichere…",
"Insert from {name}" : "Einfügen von {name}",
"Last saved version" : "Letzte gespeicherte Version",

View file

@ -69,7 +69,7 @@
"This might be due to a missing configuration of your web server. For more information, please visit: " : "Dies kann an einer fehlenden Konfiguration Ihres Webservers liegen. Für weitere Informationen, besuchen Sie bitte:",
"Connecting Collabora Online Single Click with Nginx" : "Collabora Online mit einem Klick mit Nginx verbinden",
"Setting up a new server" : "Neuen Server einrichten",
"Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.",
"Collabora Online should use the same protocol as the server installation." : "Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.",
"Your browser has been unable to connect to the Collabora server:" : "Ihr Browser konnte keine Verbindung zum Collabora-Server herstellen:",
"This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Diese URL wird auf dem Collabora-Server entweder aus der konfigurierten URL oder dem Parameter server_name in coolwsd.xml ermittelt.",
"Collabora Online server is reachable." : "Collabora Online Server ist erreichbar.",
@ -249,7 +249,7 @@
"New drawing" : "Neue Zeichnung",
"Could not create file" : "Die Datei konnte nicht erstellt werden",
"Select template" : "Vorlage auswählen",
"Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Server-Installation nutzen.",
"Saved with error: Collabora Online should use the same protocol as the server installation." : "Mit Fehler gespeichert: Collabora Online sollte das gleiche Protokoll wie die Serverinstallation nutzen.",
"Could not establish connection to the Collabora Online server. This might be due to a missing configuration of your web server. For more information, please visit: " : "Es konnte keine Verbindung zum Collabora Online-Server hergestellt werden. Dies könnte auf eine fehlende Konfiguration Ihres Web-Servers zurückzuführen sein. Für weitere Informationen besuchen Sie bitte:",
"Nextcloud Office requires a seperate server running Collabora Online to provide editing capabilities." : "Nextcloud Office benötigt einen separaten Server, auf dem Collabora Online läuft, um Bearbeitungsfunktionen bereitzustellen.",
"Collabora Online requires a seperate server acting as a WOPI-like Client to provide editing capabilities." : "Collabora Online benötigt einen separaten Server, der als WOPI-ähnlicher-Client fungiert, um Bearbeitungsfunktionen bereitzustellen.",
@ -262,7 +262,7 @@
"Set" : "Setzen",
"Please enter the filename to store the document as." : "Bitte den Dateinamen, unter welchem dieses Dokument gespeichert werden soll, eingeben.",
"New filename" : "Neuer Dateiname",
"Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihren Administrator.",
"Failed to connect to {productName}. Please try again later or contact your server administrator." : "Fehler beim Verbinden mit {productName}. Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihre Administration.",
"Saving…" : "Speichere…",
"Insert from {name}" : "Einfügen von {name}",
"Last saved version" : "Letzte gespeicherte Version",

View file

@ -48,7 +48,7 @@ OC.L10N.register(
"{user} has mentioned you in {node}" : "{user} mencionouno a Vde. en {node}",
"Link to office document section" : "Ligazón á sección de documentos de oficina",
"Nextcloud Office" : "Nextcloud Office",
"Headings" : "Cabeceiras",
"Headings" : "Títulos",
"Sections" : "Seccións",
"Images" : "Imaxes",
"Sheets" : "Follas",

View file

@ -46,7 +46,7 @@
"{user} has mentioned you in {node}" : "{user} mencionouno a Vde. en {node}",
"Link to office document section" : "Ligazón á sección de documentos de oficina",
"Nextcloud Office" : "Nextcloud Office",
"Headings" : "Cabeceiras",
"Headings" : "Títulos",
"Sections" : "Seccións",
"Images" : "Imaxes",
"Sheets" : "Follas",

View file

@ -25,11 +25,22 @@ OC.L10N.register(
"Only template files can be uploaded" : "Aðeins er hægt að senda inn sniðskrár",
"Invalid file provided" : "Ógild skrá gefin",
"Template not found" : "Sniðmát fannst ekki",
"PDF (.pdf)" : "PDF (.pdf)",
"Image (.png)" : "Mynd (.png)",
"Image (.svg)" : "Mynd (.svg)",
"Text (.rtf)" : "Texti (.rtf)",
"Text (.txt)" : "Texti (.txt)",
"Word Document (.docx)" : "Word-skjal (.docx)",
"OpenDocument Text (.odt)" : "OpenDocument textaskjal (.odt)",
"New document" : "Nýtt skjal",
"New spreadsheet" : "Nýr töflureiknir",
"New presentation" : "Ný kynning",
"Nextcloud Office" : "Nextcloud Office",
"Headings" : "Fyrirsagnir",
"Sections" : "Hlutar",
"Images" : "Myndir",
"Sheets" : "Blöð",
"Slides" : "Skyggnur",
"Office" : "Skrifstofa",
"Empty" : "Tómt",
"Anonymous guest" : "Nafnlaus gestur",
@ -37,6 +48,7 @@ OC.L10N.register(
"Edit office documents directly in your browser." : "Breyttu skrifstofuskjölum beint í vafranum þínum.",
"New" : "Nýtt",
"Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online er öflugur vöndull vinnuforrita byggður á LibreOffice og er með hópvinnslueiginleikum sem styðja við skráasnið allra helstu gerða skjala, töflureikna og kynninga, auk þess að virka í öllum nútímalegum vöfrum.",
"Use your own server" : "Notaðu þinn eigin þjón",
"URL (and Port) of Collabora Online-server" : "URL-slóð (og gátt) Collabora Online þjónsins",
"Disable certificate verification (insecure)" : "Gera sannvottun skilríkja óvirka (óöruggt)",
"Enable if your Collabora Online server uses a self signed certificate" : "Virkja þetta ef Collabora Online þjónninn notar skilríki undirritað af handhafa",

View file

@ -23,11 +23,22 @@
"Only template files can be uploaded" : "Aðeins er hægt að senda inn sniðskrár",
"Invalid file provided" : "Ógild skrá gefin",
"Template not found" : "Sniðmát fannst ekki",
"PDF (.pdf)" : "PDF (.pdf)",
"Image (.png)" : "Mynd (.png)",
"Image (.svg)" : "Mynd (.svg)",
"Text (.rtf)" : "Texti (.rtf)",
"Text (.txt)" : "Texti (.txt)",
"Word Document (.docx)" : "Word-skjal (.docx)",
"OpenDocument Text (.odt)" : "OpenDocument textaskjal (.odt)",
"New document" : "Nýtt skjal",
"New spreadsheet" : "Nýr töflureiknir",
"New presentation" : "Ný kynning",
"Nextcloud Office" : "Nextcloud Office",
"Headings" : "Fyrirsagnir",
"Sections" : "Hlutar",
"Images" : "Myndir",
"Sheets" : "Blöð",
"Slides" : "Skyggnur",
"Office" : "Skrifstofa",
"Empty" : "Tómt",
"Anonymous guest" : "Nafnlaus gestur",
@ -35,6 +46,7 @@
"Edit office documents directly in your browser." : "Breyttu skrifstofuskjölum beint í vafranum þínum.",
"New" : "Nýtt",
"Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online er öflugur vöndull vinnuforrita byggður á LibreOffice og er með hópvinnslueiginleikum sem styðja við skráasnið allra helstu gerða skjala, töflureikna og kynninga, auk þess að virka í öllum nútímalegum vöfrum.",
"Use your own server" : "Notaðu þinn eigin þjón",
"URL (and Port) of Collabora Online-server" : "URL-slóð (og gátt) Collabora Online þjónsins",
"Disable certificate verification (insecure)" : "Gera sannvottun skilríkja óvirka (óöruggt)",
"Enable if your Collabora Online server uses a self signed certificate" : "Virkja þetta ef Collabora Online þjónninn notar skilríki undirritað af handhafa",

View file

@ -155,6 +155,7 @@ OC.L10N.register(
"Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Errore: impossibile avviare il server integrato Collabora Online, configura un server autonomo.",
"Close version preview" : "Chiudi anteprima della versione",
"Edit with {productName}" : "Modifica con {productName}",
"Open file locally" : "Apri file localmente",
"Open locally" : "Aprire localmente",
"Continue editing online" : "Continua a modificare in linea",
"The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "I file dovrebbe ora aprirsi in locale. Se non succede, assicurati che il client desktop sia installato nel tuo sistema.",

View file

@ -153,6 +153,7 @@
"Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Errore: impossibile avviare il server integrato Collabora Online, configura un server autonomo.",
"Close version preview" : "Chiudi anteprima della versione",
"Edit with {productName}" : "Modifica con {productName}",
"Open file locally" : "Apri file localmente",
"Open locally" : "Aprire localmente",
"Continue editing online" : "Continua a modificare in linea",
"The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "I file dovrebbe ora aprirsi in locale. Se non succede, assicurati che il client desktop sia installato nel tuo sistema.",

View file

@ -31,6 +31,7 @@ OC.L10N.register(
"Click here for more info" : "Klikšķināt šeit, lai iegūtu vairāk informācijas",
"Advanced settings" : "Paplašināti iestatījumi",
"Select groups" : "Izvēlieties grupas",
"Show watermark on link shares with specific system tags" : "Rādīt ūdenszīmi saišu kopīgojumos, kuriem ir noteiktas sistēmas birkas",
"Failed to save settings" : "Neizdevās saglabāt iestatījumus",
"Save" : "Saglabāt",
"Remove" : "Izņemt",

View file

@ -29,6 +29,7 @@
"Click here for more info" : "Klikšķināt šeit, lai iegūtu vairāk informācijas",
"Advanced settings" : "Paplašināti iestatījumi",
"Select groups" : "Izvēlieties grupas",
"Show watermark on link shares with specific system tags" : "Rādīt ūdenszīmi saišu kopīgojumos, kuriem ir noteiktas sistēmas birkas",
"Failed to save settings" : "Neizdevās saglabāt iestatījumus",
"Save" : "Saglabāt",
"Remove" : "Izņemt",

View file

@ -147,6 +147,7 @@ OC.L10N.register(
"To use Zotero specify your API key here. You can create your API key in your" : "Чтобы использовать Zotero, укажите здесь свой ключ API. Вы можете создать свой ключ API в",
"Zotero account API settings." : "Настройки API учетной записи Zotero.",
"This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Этот экземпляр не поддерживает Zotero, поскольку эта функция отсутствует или отключена. Пожалуйста, свяжитесь с администрацией.",
"Failed to save settings." : "Не удалось сохранить настройки.",
"Description" : "Описание",
"Add new token" : "Добавить токен",
"No font overview" : "Нет средства просмотра шрифтов.",

View file

@ -145,6 +145,7 @@
"To use Zotero specify your API key here. You can create your API key in your" : "Чтобы использовать Zotero, укажите здесь свой ключ API. Вы можете создать свой ключ API в",
"Zotero account API settings." : "Настройки API учетной записи Zotero.",
"This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Этот экземпляр не поддерживает Zotero, поскольку эта функция отсутствует или отключена. Пожалуйста, свяжитесь с администрацией.",
"Failed to save settings." : "Не удалось сохранить настройки.",
"Description" : "Описание",
"Add new token" : "Добавить токен",
"No font overview" : "Нет средства просмотра шрифтов.",

View file

@ -1,6 +1,7 @@
OC.L10N.register(
"richdocuments",
{
"No files found for this task." : "Для цього завдання не знайдено файлів.",
"Cannot create document" : "Неможливо створити документ",
"New Document.odt" : "Новий документ.odt",
"New Spreadsheet.ods" : "Нова таблиця.ods",
@ -27,10 +28,24 @@ OC.L10N.register(
"Only template files can be uploaded" : "Можна завантажити лише шаблони файлів",
"Invalid file provided" : "Надано невірний файл",
"Template not found" : "Шаблон не знайдено",
"Unable to determine the proper file extension for %1$s" : "Не вдалося визначити потрібне розширення файлу для %1$s",
"Unable to fetch information on %1$s" : "Не вдалося отримати інформацію для %1$s",
"PDF (.pdf)" : "PDF (.pdf)",
"Image (.png)" : "Зображення (.png)",
"Image (.svg)" : "Зображення (.svg)",
"Text (.rtf)" : "Текст (.rtf)",
"Text (.txt)" : "Текст (.txt)",
"Word Document (.docx)" : "Документ Word (.docx)",
"OpenDocument Text (.odt)" : "Текст OpenDocument (.odt)",
"Excel Workbook (.xlsx)" : "Робоча книга Excel (.xlsx)",
"OpenDocument Spreadsheet (.ods)" : "Таблиця OpenDocument (.ods)",
"PowerPoint Presentation (.pptx)" : "Презентація PowerPoint (.pptx)",
"OpenDocument Presentation (.odp)" : "Презентація OpenDocument (.odp)",
"New document" : "Новий документ",
"New spreadsheet" : "Нова електронна таблиця",
"New presentation" : "Нова презентація",
"New diagram" : "Нова діаграма",
"{user} has mentioned you in {node}" : "{user} згадав вас у {node}",
"Link to office document section" : "Прив'язати до розділу офісного документу",
"Nextcloud Office" : "Nextcloud Office",
"Headings" : "Заголовок",
@ -44,14 +59,21 @@ OC.L10N.register(
"%s (Guest)" : "%s (гість)",
"Edit office documents directly in your browser." : "Редагуйте офісні документу прямо у вашому браузері",
"This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Цей застосунок може підключатися до сервера Collabora Online (або іншого) (клієнт, подібний до WOPI). Nextcloud є хостом WOPI. Прочитайте документацію, щоб дізнатися більше про це. \n\nВи також можете редагувати документи, коли перебуваєте в офлайні, за допомогою програми Collabora Office із **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** і * *[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** каталогу.",
"Global Templates" : "Загальні шаблони",
"New" : "Створити",
"Uploaded template \"{name}\"" : "Завантажено шаблон \"{name}\"",
"Template \"{name}\" already exists" : "Шаблон \"{name}\" вже присутній",
"Unable to delete template" : "Не вдалося вилучити шаблон",
"Deleted template" : "Вилучено шаблон",
"Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office — це потужний офісний онлайн-пакет на базі Collabora Online зі спільним редагуванням, який підтримує всі основні формати документів, електронних таблиць і файлів презентацій і працює разом з усіма сучасними браузерами.",
"Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online — це потужний офісний онлайн-пакет на основі LibreOffice із спільним редагуванням, який підтримує всі основні формати документів, електронних таблиць і файлів презентацій і працює разом з усіма сучасними браузерами.",
"Could not establish connection to the Collabora Online server." : "Не вдалося встановити з’єднання із сервером Collabora Online.",
"This might be due to a missing configuration of your web server. For more information, please visit: " : "Це могло статися через відсутні належні налаштування вашого вебсервера. Для докладної інформації перегляньте:",
"Connecting Collabora Online Single Click with Nginx" : "Підключення Collabora Online Single Click до Nginx",
"Setting up a new server" : "Налаштування нового сервера",
"Collabora Online should use the same protocol as the server installation." : "Collabora Online має використовувати той самий протокол, що й інсталяція сервера.",
"Your browser has been unable to connect to the Collabora server:" : "Ваш бравзер не зміг з'єднатися із сервером Collabora:",
"This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Цей URL визначено у налаштуваннях серверу Collabora, чи з налаштувань URL або в параметрі server_name у файлі налаштувань coolwsd.xml.",
"Collabora Online server is reachable." : "Сервер Collabora Online доступний.",
"URL used by the browser:" : "URL, який було використано бравзером:",
"Nextcloud URL used by Collabora:" : "URL Nextcloud для Collabora:",
@ -63,6 +85,7 @@ OC.L10N.register(
"Collabora Online requires a separate server acting as a WOPI-like Client to provide editing capabilities." : "Для роботи Collabora Online потрібен окремий сервер, який би діяв як WOPI-подібний клієнт, щоб забезпечити можливості редагування.",
"URL (and Port) of Collabora Online-server" : "URL-адреса (і порт) онлайн-сервера Collabora",
"Disable certificate verification (insecure)" : "Вимкнути перевірку сертифіката (небезпечно)",
"Enable if your Collabora Online server uses a self signed certificate" : "Увімкніть, якщо ваш сервер Collabora Online використову самопідписний сертифікат",
"Use the built-in CODE - Collabora Online Development Edition" : "Використовуйте вбудований КОД - Collabora Online Development Edition",
"Easy to install, for home use or small groups. A bit slower than a standalone server and without the advanced scalability features." : "Легко встановити, для домашнього використання або невеликих груп. Трохи повільніше, ніж окремий сервер, і без розширених функцій масштабування.",
"This installation does not have a built in server." : "Ця установка не має вбудованого сервера.",
@ -99,8 +122,13 @@ OC.L10N.register(
"Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Канонічний веб-корінь, якщо їх декілька, для використання Collabora. Забезпечте те, що має найменші обмеження. Наприклад: використовуйте нешибболізований веб-корінь, якщо до цього сервера звертаються як шибболізовані, так і нешибболізовані веб-корені. Ви можете ігнорувати цей параметр, якщо для доступу до цього сервера використовується лише один веб-корінь.",
"Enable access for external apps" : "Увімкніть доступ для зовнішніх застосунків",
"List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Список IP-адрес і підмереж IPV4 і IPV6, яким дозволено виконувати запити кінцевих точок WOPI. Якщо список дозволених не вказано, усі хости будуть дозволені. наприклад 10.0.0.20,10.0.4.0/24",
"Custom Fonts" : "Власні шрифти",
"Upload font file" : "Завантажити файл шрифту",
"Upload a font file" : "Завантажте файл шрифту",
"Available fonts" : "Доступні шрифти",
"For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Для кращого сумісництва документів рекомендується встановити шрифти, які загально використовуються. Якщо ваші користувачі працюють у Microsoft Office, перегляньте документацію зі встановлення пропрієтарних шрифтів.",
"Custom fonts documentation" : "Документація з власних шрифтів",
"Secure View" : "Безпечний вигляд",
"Secure view enables you to secure documents by embedding a watermark" : "Безпечний перегляд дає змогу захистити документи, вставивши водяний знак",
"The settings only apply to compatible office files that are opened in Nextcloud Office" : "Ці налаштування стосуються лише сумісних офісних файлів, які відкрито у Nextcloud Office",
"The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Такі функції буде вимкнено у Nextcloud Office: копіюванння, звантаження, експорт, друк",
@ -119,12 +147,20 @@ OC.L10N.register(
"Show watermark for download hidden shares" : "Показувати водяний знак для прихованих спільних скачувань",
"Show watermark for read only link shares" : "Показувати водяний знак для посилань спільного доступу, які є лише для читання",
"Show watermark on link shares with specific system tags" : "Показувати водяний знак на спільних посиланнях із певними системними мітками",
"Electronic Signature" : "Електронний підпис",
"Client ID for the electronic signature API" : "ID клієнта для API електронного підпису",
"Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Заповніть реєстраційну форму на сайті https://eideasy.com/signup, щоби отримати ID клієнта та секретну фразу.",
"Secret for the electronic signature API" : "Секретна фраза для API електронного підпису",
"The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Секретну фразу можна звантажити через запит WOPI, якщо список дозволених адрес WOPI неправильно налаштовано.",
"Contact {0} to get an own installation." : "Зверніться до {0}, щоб отримати власну установку.",
"Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Обов'язково встановіть цей URL: {url} у файлі coolwsd.xml вашого сервера Collabora Online, щоби пересвідчитися, що додані шифти автоматично завантажуються. Зауважте, що http:// працюватиме тільки у збірках Collabora Online для зневадження. У виробничому середовищі ви маєте використовувати https:// для віддаленого налаштування шрифтів.",
"Failed to save settings" : "Неможливо зберегти налаштування",
"Font format not supported ({mime})" : "Формат шрифту не підтримується ({mime})",
"Save" : "Зберегти",
"Remove" : "Вилучити",
"Guest name" : "Ім'я гостя",
"Submit name" : "Надайте ім'я",
"Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Зазначте ім'я гостя, яке ви бажаєте використовувати перед ти, як перейти до документу. Якщо ви не зазначите імени, то буде використано типове ім'я.",
"Confirm" : "Підтвердити",
"Cancel" : "Скасувати",
"Save as" : "Зберегти як",
@ -137,15 +173,26 @@ OC.L10N.register(
"Zotero API key" : "Ключ API для Zotero",
"Submit" : "Гаразд",
"Failed to set Zotero API key" : "Не вдалося встановити API ключ для Zotero",
"Personal Settings for Nextcloud Office" : "Особисті налаштування для Офісу Nextcloud",
"Select a template directory" : "Виберіть каталог для шаблонів",
"Select a personal template folder" : "Виберіть каталог для ваших шаблонів",
"Remove personal template folder" : "Вилучити каталог з вашими шаблонами",
"Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Шаблони всередині цього каталогу буде додано до селектора шаблонів Nextcloud Office.",
"Zotero" : "Zotero",
"Enter Zotero API Key" : "Зазначте ключ API для Zotero",
"Remove Zotero API Key" : "Вилучити ключ API для Zotero",
"To use Zotero specify your API key here. You can create your API key in your" : "Щоби використовувати Zotero, будь ласка, зазначте тут ключ API. Ви можете створити власний ключ API у",
"Zotero account API settings." : "налаштуваннях облікового запису Zotero.",
"This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Цей примірник не підтримує Zotero, оскільки цю функціональність вимкнено або вона відсутня. Будь ласка, сконтактуйте з адміністратором.",
"Document signing" : "Підписування документу",
"Enter document signing cert (in PEM format)" : "Зазначте сертифікат підпису документу (у форматі PEM)",
"Enter document signing key" : "Зазначте ключ сертифікату підписування документу",
"Enter document signing CA chain" : "Зазначе ланцюжок кореневих сертифікатів сертифікату підписування документу",
"To use document signing, specify your signing certificate, key and CA chain here." : "Щоби підписати документ, зазначте тут ваш сертифікат підпису, ключ та ланцюжок кореневих сертифікатів.",
"This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Цей примірник хмари не підтримує підписування документів, оскільки відповідна функція відсутня або її вимкнено. Рекомендуємо сконтактувати з адміністратором.",
"Settings saved successfully." : "Налаштування успішно збережено.",
"Failed to save settings." : "Не вдалося зберегти налаштування.",
"Unexpected error occurred." : "Неочікувана помилка.",
"Description" : "Опис",
"Add new token" : "Додати новий токен",
"No font overview" : "Немає огляду шрифтів",
@ -155,11 +202,16 @@ OC.L10N.register(
"Could not find any section in the document" : "Неможливо знайти жодного розділу у документі",
"Select file" : "Виберіть файл",
"Document loading failed" : "Не вдалося завантажити документ",
"Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Перевірте журнал сервера Collabora Online для додаткової інформації та перевірте, що Nextcloud доступний звідти.",
"Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "З'єднання сокет неочікувано завершено. Зворотній сервер проксі може бути неправильно налаштовано. Рекомендуємо сконтактувати з адміністратором.",
"More information can be found in the reverse proxy documentation" : "Докладну інформацію можна знайти у документації з налаштування зворотнього сервера проксі.",
"Close" : "закрити",
"Edit" : "Редагувати",
"Starting the built-in CODE server failed" : "Не вдалося запустити вбудований сервер CODE",
"Loading {filename} …" : "Завантаження {filename}…",
"Open in local editor" : "Відкрити в локальному редакторі",
"Cluster is scaling …" : "Масштабування кластеру ...",
"The collaborative editing was terminated by another user" : "Спільне редагування зупинено іншим користувачем",
"Failed to load {productName} - please try again later" : "Неможливо завантажити {productName} - спробуйте пізніше",
"{productName} is not configured" : "{productName} не налаштовано",
"Built-in CODE Server is starting up shortly, please wait." : "Вбудований сервер CODE незабаром запуститься, зачекайте.",
@ -173,14 +225,18 @@ OC.L10N.register(
"Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Помилка: не вдається запустити вбудований сервер Collabora Online. Налаштуйте окремий сервер.",
"Close version preview" : "Закрити попередній перегляд версії",
"Edit with {productName}" : "Редагувати з {productName}",
"Insert into document" : "Вставити у документ",
"Open file locally" : "Відкрити файл локально",
"When opening a file locally, the document will close for all users currently viewing the document." : "Під час локального відкриття файлу документ буде закрито для всіх користувачів, які зараз переглядають документ.",
"Open locally" : "Відкрити локально",
"Continue editing online" : "Продовжити редагування онлайн",
"The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Зараз файл можна бути відкривати на пристрої. Якщо така можливість відсутня, переконайтеся, що настільний клієнт встановлено на вашій системі.",
"Retry to open locally" : "Спробувати ще раз відкрити на пристрої",
"Save a copy of the file under a new name and continue editing the new file" : "Зберегти копію файлу під новим ім'ям та продовжити редагування у новому файлі",
"Failed to revert the document to older version" : "Не вдалося повернутися до старішої версії",
"Built-in CODE server failed to start" : "Не вдалося запустити вбудований сервер CODE",
"Insert file from {name}" : "Вставити файл із {name}",
"Insert file" : "Вставити файл",
"Remove from favorites" : "Прибрати зірочку",
"Add to favorites" : "Додати зірочку",
"Details" : "Деталі",
@ -190,6 +246,7 @@ OC.L10N.register(
"Guest" : "Гість",
"Follow current editor" : "Слідкувати за поточним дописувачем",
"New file" : "Новий файл",
"Please enter the filename for the new file" : "Введіть ім'я файлу для нового файлу",
"Create" : "Створити",
"New drawing" : "Новий малюнок",
"Could not create file" : "Не вдалося створити файл",

View file

@ -1,4 +1,5 @@
{ "translations": {
"No files found for this task." : "Для цього завдання не знайдено файлів.",
"Cannot create document" : "Неможливо створити документ",
"New Document.odt" : "Новий документ.odt",
"New Spreadsheet.ods" : "Нова таблиця.ods",
@ -25,10 +26,24 @@
"Only template files can be uploaded" : "Можна завантажити лише шаблони файлів",
"Invalid file provided" : "Надано невірний файл",
"Template not found" : "Шаблон не знайдено",
"Unable to determine the proper file extension for %1$s" : "Не вдалося визначити потрібне розширення файлу для %1$s",
"Unable to fetch information on %1$s" : "Не вдалося отримати інформацію для %1$s",
"PDF (.pdf)" : "PDF (.pdf)",
"Image (.png)" : "Зображення (.png)",
"Image (.svg)" : "Зображення (.svg)",
"Text (.rtf)" : "Текст (.rtf)",
"Text (.txt)" : "Текст (.txt)",
"Word Document (.docx)" : "Документ Word (.docx)",
"OpenDocument Text (.odt)" : "Текст OpenDocument (.odt)",
"Excel Workbook (.xlsx)" : "Робоча книга Excel (.xlsx)",
"OpenDocument Spreadsheet (.ods)" : "Таблиця OpenDocument (.ods)",
"PowerPoint Presentation (.pptx)" : "Презентація PowerPoint (.pptx)",
"OpenDocument Presentation (.odp)" : "Презентація OpenDocument (.odp)",
"New document" : "Новий документ",
"New spreadsheet" : "Нова електронна таблиця",
"New presentation" : "Нова презентація",
"New diagram" : "Нова діаграма",
"{user} has mentioned you in {node}" : "{user} згадав вас у {node}",
"Link to office document section" : "Прив'язати до розділу офісного документу",
"Nextcloud Office" : "Nextcloud Office",
"Headings" : "Заголовок",
@ -42,14 +57,21 @@
"%s (Guest)" : "%s (гість)",
"Edit office documents directly in your browser." : "Редагуйте офісні документу прямо у вашому браузері",
"This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store." : "Цей застосунок може підключатися до сервера Collabora Online (або іншого) (клієнт, подібний до WOPI). Nextcloud є хостом WOPI. Прочитайте документацію, щоб дізнатися більше про це. \n\nВи також можете редагувати документи, коли перебуваєте в офлайні, за допомогою програми Collabora Office із **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** і * *[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** каталогу.",
"Global Templates" : "Загальні шаблони",
"New" : "Створити",
"Uploaded template \"{name}\"" : "Завантажено шаблон \"{name}\"",
"Template \"{name}\" already exists" : "Шаблон \"{name}\" вже присутній",
"Unable to delete template" : "Не вдалося вилучити шаблон",
"Deleted template" : "Вилучено шаблон",
"Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Nextcloud Office — це потужний офісний онлайн-пакет на базі Collabora Online зі спільним редагуванням, який підтримує всі основні формати документів, електронних таблиць і файлів презентацій і працює разом з усіма сучасними браузерами.",
"Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers." : "Collabora Online — це потужний офісний онлайн-пакет на основі LibreOffice із спільним редагуванням, який підтримує всі основні формати документів, електронних таблиць і файлів презентацій і працює разом з усіма сучасними браузерами.",
"Could not establish connection to the Collabora Online server." : "Не вдалося встановити з’єднання із сервером Collabora Online.",
"This might be due to a missing configuration of your web server. For more information, please visit: " : "Це могло статися через відсутні належні налаштування вашого вебсервера. Для докладної інформації перегляньте:",
"Connecting Collabora Online Single Click with Nginx" : "Підключення Collabora Online Single Click до Nginx",
"Setting up a new server" : "Налаштування нового сервера",
"Collabora Online should use the same protocol as the server installation." : "Collabora Online має використовувати той самий протокол, що й інсталяція сервера.",
"Your browser has been unable to connect to the Collabora server:" : "Ваш бравзер не зміг з'єднатися із сервером Collabora:",
"This URL is determined on the Collabora server either from the configured URL or the server_name parameter in coolwsd.xml." : "Цей URL визначено у налаштуваннях серверу Collabora, чи з налаштувань URL або в параметрі server_name у файлі налаштувань coolwsd.xml.",
"Collabora Online server is reachable." : "Сервер Collabora Online доступний.",
"URL used by the browser:" : "URL, який було використано бравзером:",
"Nextcloud URL used by Collabora:" : "URL Nextcloud для Collabora:",
@ -61,6 +83,7 @@
"Collabora Online requires a separate server acting as a WOPI-like Client to provide editing capabilities." : "Для роботи Collabora Online потрібен окремий сервер, який би діяв як WOPI-подібний клієнт, щоб забезпечити можливості редагування.",
"URL (and Port) of Collabora Online-server" : "URL-адреса (і порт) онлайн-сервера Collabora",
"Disable certificate verification (insecure)" : "Вимкнути перевірку сертифіката (небезпечно)",
"Enable if your Collabora Online server uses a self signed certificate" : "Увімкніть, якщо ваш сервер Collabora Online використову самопідписний сертифікат",
"Use the built-in CODE - Collabora Online Development Edition" : "Використовуйте вбудований КОД - Collabora Online Development Edition",
"Easy to install, for home use or small groups. A bit slower than a standalone server and without the advanced scalability features." : "Легко встановити, для домашнього використання або невеликих груп. Трохи повільніше, ніж окремий сервер, і без розширених функцій масштабування.",
"This installation does not have a built in server." : "Ця установка не має вбудованого сервера.",
@ -97,8 +120,13 @@
"Canonical webroot, in case there are multiple, for Collabora to use. Provide the one with least restrictions. Eg: Use non-shibbolized webroot if this instance is accessed by both shibbolized and non-shibbolized webroots. You can ignore this setting if only one webroot is used to access this instance." : "Канонічний веб-корінь, якщо їх декілька, для використання Collabora. Забезпечте те, що має найменші обмеження. Наприклад: використовуйте нешибболізований веб-корінь, якщо до цього сервера звертаються як шибболізовані, так і нешибболізовані веб-корені. Ви можете ігнорувати цей параметр, якщо для доступу до цього сервера використовується лише один веб-корінь.",
"Enable access for external apps" : "Увімкніть доступ для зовнішніх застосунків",
"List of IPV4 and IPV6 IP-addresses and subnets that are allowed to perform requests of the WOPI endpoints. If no allow list is specified all hosts will be allowed. E.g. 10.0.0.20,10.0.4.0/24" : "Список IP-адрес і підмереж IPV4 і IPV6, яким дозволено виконувати запити кінцевих точок WOPI. Якщо список дозволених не вказано, усі хости будуть дозволені. наприклад 10.0.0.20,10.0.4.0/24",
"Custom Fonts" : "Власні шрифти",
"Upload font file" : "Завантажити файл шрифту",
"Upload a font file" : "Завантажте файл шрифту",
"Available fonts" : "Доступні шрифти",
"For ideal document compatibility we recommend you to install commonly used fonts. If your users are working with Microsoft Office, installing their proprietary fonts can be done following the documentation." : "Для кращого сумісництва документів рекомендується встановити шрифти, які загально використовуються. Якщо ваші користувачі працюють у Microsoft Office, перегляньте документацію зі встановлення пропрієтарних шрифтів.",
"Custom fonts documentation" : "Документація з власних шрифтів",
"Secure View" : "Безпечний вигляд",
"Secure view enables you to secure documents by embedding a watermark" : "Безпечний перегляд дає змогу захистити документи, вставивши водяний знак",
"The settings only apply to compatible office files that are opened in Nextcloud Office" : "Ці налаштування стосуються лише сумісних офісних файлів, які відкрито у Nextcloud Office",
"The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print" : "Такі функції буде вимкнено у Nextcloud Office: копіюванння, звантаження, експорт, друк",
@ -117,12 +145,20 @@
"Show watermark for download hidden shares" : "Показувати водяний знак для прихованих спільних скачувань",
"Show watermark for read only link shares" : "Показувати водяний знак для посилань спільного доступу, які є лише для читання",
"Show watermark on link shares with specific system tags" : "Показувати водяний знак на спільних посиланнях із певними системними мітками",
"Electronic Signature" : "Електронний підпис",
"Client ID for the electronic signature API" : "ID клієнта для API електронного підпису",
"Fill in the registration form at https://eideasy.com/signup to obtain a client ID and secret." : "Заповніть реєстраційну форму на сайті https://eideasy.com/signup, щоби отримати ID клієнта та секретну фразу.",
"Secret for the electronic signature API" : "Секретна фраза для API електронного підпису",
"The secret may be downloadable via WOPI requests if WOPI allow list is not correctly configured." : "Секретну фразу можна звантажити через запит WOPI, якщо список дозволених адрес WOPI неправильно налаштовано.",
"Contact {0} to get an own installation." : "Зверніться до {0}, щоб отримати власну установку.",
"Make sure to set this URL: {url} in the coolwsd.xml file of your Collabora Online server to ensure the added fonts get loaded automatically. Please note that http:// will only work for debug builds of Collabora Online. In production you must use https:// for remote font config." : "Обов'язково встановіть цей URL: {url} у файлі coolwsd.xml вашого сервера Collabora Online, щоби пересвідчитися, що додані шифти автоматично завантажуються. Зауважте, що http:// працюватиме тільки у збірках Collabora Online для зневадження. У виробничому середовищі ви маєте використовувати https:// для віддаленого налаштування шрифтів.",
"Failed to save settings" : "Неможливо зберегти налаштування",
"Font format not supported ({mime})" : "Формат шрифту не підтримується ({mime})",
"Save" : "Зберегти",
"Remove" : "Вилучити",
"Guest name" : "Ім'я гостя",
"Submit name" : "Надайте ім'я",
"Please enter the guest name you wish to use before proceeding to the document. If you don't provide one, the default will be used." : "Зазначте ім'я гостя, яке ви бажаєте використовувати перед ти, як перейти до документу. Якщо ви не зазначите імени, то буде використано типове ім'я.",
"Confirm" : "Підтвердити",
"Cancel" : "Скасувати",
"Save as" : "Зберегти як",
@ -135,15 +171,26 @@
"Zotero API key" : "Ключ API для Zotero",
"Submit" : "Гаразд",
"Failed to set Zotero API key" : "Не вдалося встановити API ключ для Zotero",
"Personal Settings for Nextcloud Office" : "Особисті налаштування для Офісу Nextcloud",
"Select a template directory" : "Виберіть каталог для шаблонів",
"Select a personal template folder" : "Виберіть каталог для ваших шаблонів",
"Remove personal template folder" : "Вилучити каталог з вашими шаблонами",
"Templates inside of this directory will be added to the template selector of Nextcloud Office." : "Шаблони всередині цього каталогу буде додано до селектора шаблонів Nextcloud Office.",
"Zotero" : "Zotero",
"Enter Zotero API Key" : "Зазначте ключ API для Zotero",
"Remove Zotero API Key" : "Вилучити ключ API для Zotero",
"To use Zotero specify your API key here. You can create your API key in your" : "Щоби використовувати Zotero, будь ласка, зазначте тут ключ API. Ви можете створити власний ключ API у",
"Zotero account API settings." : "налаштуваннях облікового запису Zotero.",
"This instance does not support Zotero, because the feature is missing or disabled. Please contact the administration." : "Цей примірник не підтримує Zotero, оскільки цю функціональність вимкнено або вона відсутня. Будь ласка, сконтактуйте з адміністратором.",
"Document signing" : "Підписування документу",
"Enter document signing cert (in PEM format)" : "Зазначте сертифікат підпису документу (у форматі PEM)",
"Enter document signing key" : "Зазначте ключ сертифікату підписування документу",
"Enter document signing CA chain" : "Зазначе ланцюжок кореневих сертифікатів сертифікату підписування документу",
"To use document signing, specify your signing certificate, key and CA chain here." : "Щоби підписати документ, зазначте тут ваш сертифікат підпису, ключ та ланцюжок кореневих сертифікатів.",
"This instance does not support document signing, because the feature is missing or disabled. Please contact the administrator." : "Цей примірник хмари не підтримує підписування документів, оскільки відповідна функція відсутня або її вимкнено. Рекомендуємо сконтактувати з адміністратором.",
"Settings saved successfully." : "Налаштування успішно збережено.",
"Failed to save settings." : "Не вдалося зберегти налаштування.",
"Unexpected error occurred." : "Неочікувана помилка.",
"Description" : "Опис",
"Add new token" : "Додати новий токен",
"No font overview" : "Немає огляду шрифтів",
@ -153,11 +200,16 @@
"Could not find any section in the document" : "Неможливо знайти жодного розділу у документі",
"Select file" : "Виберіть файл",
"Document loading failed" : "Не вдалося завантажити документ",
"Please check the Collabora Online server log for more details and make sure that Nextcloud can be reached from there." : "Перевірте журнал сервера Collabora Online для додаткової інформації та перевірте, що Nextcloud доступний звідти.",
"Socket connection closed unexpectedly. The reverse proxy might be misconfigured, please contact the administrator." : "З'єднання сокет неочікувано завершено. Зворотній сервер проксі може бути неправильно налаштовано. Рекомендуємо сконтактувати з адміністратором.",
"More information can be found in the reverse proxy documentation" : "Докладну інформацію можна знайти у документації з налаштування зворотнього сервера проксі.",
"Close" : "закрити",
"Edit" : "Редагувати",
"Starting the built-in CODE server failed" : "Не вдалося запустити вбудований сервер CODE",
"Loading {filename} …" : "Завантаження {filename}…",
"Open in local editor" : "Відкрити в локальному редакторі",
"Cluster is scaling …" : "Масштабування кластеру ...",
"The collaborative editing was terminated by another user" : "Спільне редагування зупинено іншим користувачем",
"Failed to load {productName} - please try again later" : "Неможливо завантажити {productName} - спробуйте пізніше",
"{productName} is not configured" : "{productName} не налаштовано",
"Built-in CODE Server is starting up shortly, please wait." : "Вбудований сервер CODE незабаром запуститься, зачекайте.",
@ -171,14 +223,18 @@
"Error: Cannot start the Collabora Online Built-in server, please setup a standalone one." : "Помилка: не вдається запустити вбудований сервер Collabora Online. Налаштуйте окремий сервер.",
"Close version preview" : "Закрити попередній перегляд версії",
"Edit with {productName}" : "Редагувати з {productName}",
"Insert into document" : "Вставити у документ",
"Open file locally" : "Відкрити файл локально",
"When opening a file locally, the document will close for all users currently viewing the document." : "Під час локального відкриття файлу документ буде закрито для всіх користувачів, які зараз переглядають документ.",
"Open locally" : "Відкрити локально",
"Continue editing online" : "Продовжити редагування онлайн",
"The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "Зараз файл можна бути відкривати на пристрої. Якщо така можливість відсутня, переконайтеся, що настільний клієнт встановлено на вашій системі.",
"Retry to open locally" : "Спробувати ще раз відкрити на пристрої",
"Save a copy of the file under a new name and continue editing the new file" : "Зберегти копію файлу під новим ім'ям та продовжити редагування у новому файлі",
"Failed to revert the document to older version" : "Не вдалося повернутися до старішої версії",
"Built-in CODE server failed to start" : "Не вдалося запустити вбудований сервер CODE",
"Insert file from {name}" : "Вставити файл із {name}",
"Insert file" : "Вставити файл",
"Remove from favorites" : "Прибрати зірочку",
"Add to favorites" : "Додати зірочку",
"Details" : "Деталі",
@ -188,6 +244,7 @@
"Guest" : "Гість",
"Follow current editor" : "Слідкувати за поточним дописувачем",
"New file" : "Новий файл",
"Please enter the filename for the new file" : "Введіть ім'я файлу для нового файлу",
"Create" : "Створити",
"New drawing" : "Новий малюнок",
"Could not create file" : "Не вдалося створити файл",

View file

@ -227,7 +227,7 @@ OC.L10N.register(
"Edit with {productName}" : "使用 {productName} 編輯",
"Insert into document" : "插入到文件中",
"Open file locally" : "在近端打開檔案",
"When opening a file locally, the document will close for all users currently viewing the document." : "在近端打開文件時,該文件將對目前查看該文件的所有用戶關閉。",
"When opening a file locally, the document will close for all users currently viewing the document." : "在近端打開檔案時,該文件將對目前查看該文件的所有用戶關閉。",
"Open locally" : "在近端打開",
"Continue editing online" : "繼續在線編輯",
"The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "該檔案現在應該在近端打開。如果檔案無法在近端打開,請確保您的系統上安裝了桌面客戶端。",
@ -246,7 +246,7 @@ OC.L10N.register(
"Guest" : "訪客",
"Follow current editor" : "跟隨目前編輯者",
"New file" : "新增檔案",
"Please enter the filename for the new file" : "請輸入新文件的檔案名稱",
"Please enter the filename for the new file" : "請輸入新檔案的檔案名稱",
"Create" : "建立",
"New drawing" : "新繪圖",
"Could not create file" : "無法建立檔案",

View file

@ -225,7 +225,7 @@
"Edit with {productName}" : "使用 {productName} 編輯",
"Insert into document" : "插入到文件中",
"Open file locally" : "在近端打開檔案",
"When opening a file locally, the document will close for all users currently viewing the document." : "在近端打開文件時,該文件將對目前查看該文件的所有用戶關閉。",
"When opening a file locally, the document will close for all users currently viewing the document." : "在近端打開檔案時,該文件將對目前查看該文件的所有用戶關閉。",
"Open locally" : "在近端打開",
"Continue editing online" : "繼續在線編輯",
"The file should now open locally. If you don't see this happening, make sure that the desktop client is installed on your system." : "該檔案現在應該在近端打開。如果檔案無法在近端打開,請確保您的系統上安裝了桌面客戶端。",
@ -244,7 +244,7 @@
"Guest" : "訪客",
"Follow current editor" : "跟隨目前編輯者",
"New file" : "新增檔案",
"Please enter the filename for the new file" : "請輸入新文件的檔案名稱",
"Please enter the filename for the new file" : "請輸入新檔案的檔案名稱",
"Create" : "建立",
"New drawing" : "新繪圖",
"Could not create file" : "無法建立檔案",

View file

@ -14,6 +14,7 @@ use OCA\Richdocuments\Service\DemoService;
use OCA\Richdocuments\Service\DiscoveryService;
use OCA\Richdocuments\Service\FontService;
use OCA\Richdocuments\Service\SettingsService;
use OCA\Richdocuments\TemplateManager;
use OCA\Richdocuments\UploadException;
use OCP\App\IAppManager;
use OCP\AppFramework\Controller;
@ -61,6 +62,7 @@ class SettingsController extends Controller {
private IURLGenerator $urlGenerator,
private WopiMapper $wopiMapper,
private ?string $userId,
private TemplateManager $templateManager,
) {
parent::__construct($appName, $request);
}
@ -474,6 +476,7 @@ class SettingsController extends Controller {
/**
* @param string $type
* @param string $token
* @param string $category
* @param string $name
*
@ -490,7 +493,16 @@ class SettingsController extends Controller {
$userId = $wopi->getEditorUid() ?: $wopi->getOwnerUid();
$type = $type . '/' . $userId;
}
$systemFile = $this->settingsService->getSettingsFile($type, $category, $name);
// special handling for presentation template
if ($category === 'template') {
$this->templateManager->setUserId($userId);
$templateId = $this->request->getParam('identifier');
$systemFile = $this->templateManager->get((int)$templateId);
} else {
$systemFile = $this->settingsService->getSettingsFile($type, $category, $name);
}
return new DataDisplayResponse(
$systemFile->getContent(),
200,
@ -504,7 +516,6 @@ class SettingsController extends Controller {
return new DataDisplayResponse('Something went wrong', 500);
}
}
/**
* @param string $key

View file

@ -178,7 +178,9 @@ class WopiController extends Controller {
if ($this->capabilitiesService->hasSettingIframeSupport()) {
if (!$isPublic) {
$response['UserSettings'] = $this->generateSettings($userId, 'userconfig');
// FIXME: Figure out what is going on here
// have not yet been able to trace the issue
// $response['UserSettings'] = $this->generateSettings($userId, 'userconfig');
}
$response['SharedSettings'] = $this->generateSettings($userId, 'systemconfig');
}
@ -405,7 +407,7 @@ class WopiController extends Controller {
if (empty($type)) {
return new JSONResponse(['error' => 'Invalid type parameter'], Http::STATUS_BAD_REQUEST);
}
try {
$wopi = $this->wopiMapper->getWopiForToken($access_token);
if ($wopi->getTokenType() !== Wopi::TOKEN_TYPE_SETTING_AUTH) {
@ -415,7 +417,7 @@ class WopiController extends Controller {
$isPublic = empty($wopi->getEditorUid());
$guestUserId = 'Guest-' . \OC::$server->getSecureRandom()->generate(8);
$userId = !$isPublic ? $wopi->getEditorUid() : $guestUserId;
$userConfig = $this->settingsService->generateSettingsConfig($type, $userId);
return new JSONResponse($userConfig, Http::STATUS_OK);
} catch (UnknownTokenException|ExpiredTokenException $e) {
@ -426,7 +428,7 @@ class WopiController extends Controller {
return new JSONResponse(['error' => 'Internal Server Error'], Http::STATUS_INTERNAL_SERVER_ERROR);
}
}
#[NoAdminRequired]
#[NoCSRFRequired]
#[PublicPage]
@ -444,11 +446,11 @@ class WopiController extends Controller {
$fileContent = stream_get_contents($content);
fclose($content);
// Use the fileId as a file path URL (e.g., "/settings/systemconfig/wordbook/en_US%20(1).dic")
$settingsUrl = new SettingsUrl($fileId);
$result = $this->settingsService->uploadFile($settingsUrl, $fileContent, $userId);
return new JSONResponse([
'status' => 'success',
'filename' => $settingsUrl->getFileName(),
@ -501,7 +503,7 @@ class WopiController extends Controller {
}
}
/**
* Given an access token and a fileId, replaces the files with the request body.
* Expects a valid token in access_token parameter.
@ -984,7 +986,7 @@ class WopiController extends Controller {
$nextcloudUrl = $this->appConfig->getNextcloudUrl() ?: trim($this->urlGenerator->getAbsoluteURL(''), '/');
return $nextcloudUrl . '/index.php/apps/richdocuments/wopi/template/' . $wopi->getTemplateId() . '?access_token=' . $wopi->getToken();
}
private function generateSettingToken(string $userId): string {
return $this->settingsService->generateIframeToken('user', $userId)['token'];
}

View file

@ -10,6 +10,7 @@ namespace OCA\Richdocuments\Service;
use OCA\Richdocuments\AppInfo\Application;
use OCA\Richdocuments\Db\WopiMapper;
use OCA\Richdocuments\TemplateManager;
use OCA\Richdocuments\WOPI\SettingsUrl;
use OCP\Files\Folder;
use OCP\Files\IAppData;
@ -44,6 +45,7 @@ class SettingsService {
private WopiMapper $wopiMapper,
private IGroupManager $groupManager,
private IRootFolder $rootFolder,
private TemplateManager $templateManager,
) {
// Create a distributed cache for caching file lists
$this->cache = $cacheFactory->createDistributed(Application::APPNAME);
@ -141,12 +143,12 @@ class SettingsService {
if ($type === 'admin' && !$this->groupManager->isAdmin($userId)) {
throw new NotPermittedException('Permission denied');
}
$serverHost = $this->urlGenerator->getAbsoluteURL('/');
$version = $this->capabilitiesService->getProductVersion();
$wopi = $this->wopiMapper->generateUserSettingsToken(-1, $userId, $version, $serverHost);
return [
'token' => $wopi->getToken(),
'token_ttl' => $wopi->getExpiry(),
@ -164,7 +166,41 @@ class SettingsService {
public function getFolderEtag($type) : string {
return $this->getTypeFolder($type)->getEtag();
}
public const SUPPORTED_PRESENTATION_MIMES = [
'application/vnd.oasis.opendocument.presentation',
'application/vnd.oasis.opendocument.presentation-template',
];
/**
* @param string $type
* @param string $userId
* @return array
*/
public function getPresentationTemplates(string $type, string $userId): array {
$this->templateManager->setUserId($userId);
$templates = array_filter(
$type === 'systemconfig' ? $this->templateManager->getSystem('presentation') : $this->templateManager->getUser('presentation'),
function ($template) {
return in_array(
$template->getMimeType(),
self::SUPPORTED_PRESENTATION_MIMES,
true
);
}
);
$result = [];
foreach ($templates as $template) {
$uri = $this->generateFileUri($type, 'template', $template->getName(), $userId, $template->getId());
$result[] = [
'uri' => $uri,
'stamp' => $template->getEtag(),
];
}
return $result;
}
/**
* generate setting config
*
@ -189,6 +225,7 @@ class SettingsService {
$config[$category] = $files;
}
$config['template'] = $this->getPresentationTemplates($type, $userId);
return $config;
}
@ -268,15 +305,14 @@ class SettingsService {
* @param string $fileName
* @return string
*/
private function generateFileUri(string $type, string $category, string $fileName, string $userId): string {
private function generateFileUri(string $type, string $category, string $fileName, string $userId, ?int $identifier = null): string {
// Passing userId is dangerous so we have to trim from url...
if (strpos($type, '/') !== false) {
$type = explode('/', $type)[0];
}
$token = $this->generateIframeToken($type, $userId);
return $this->urlGenerator->linkToRouteAbsolute(
'richdocuments.settings.getSettingsFile',
[
@ -284,6 +320,7 @@ class SettingsService {
'token' => $token['token'],
'category' => $category,
'name' => $fileName,
'identifier' => $identifier,
]
);
}
@ -302,13 +339,13 @@ class SettingsService {
} catch (NotFoundException $e) {
throw new NotFoundException("Type folder '{$type}' not found.");
}
try {
$categoryFolder = $baseFolder->getFolder($category);
} catch (NotFoundException $e) {
throw new NotFoundException("Category folder '{$category}' not found in type '{$type}'.");
}
try {
return $categoryFolder->getFile($name);
} catch (NotFoundException $e) {
@ -337,7 +374,7 @@ class SettingsService {
throw new NotFoundException("User folder '{$userId}' not found.");
}
}
try {
$categoryFolder = $baseFolder->getFolder($category);
} catch (NotFoundException $e) {

View file

@ -235,10 +235,10 @@ class TemplateManager {
/**
* Get all user templates
*
* @param $type
* @return File[]
*/
public function getUser($type = null) {
public function getUser($type = null): array {
if ($this->userId === null) {
return [];
}

2830
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -53,12 +53,12 @@
"@nextcloud/babel-config": "^1.2.0",
"@nextcloud/browserslist-config": "^3.0.1",
"@nextcloud/cypress": "^1.0.0-beta.12",
"@nextcloud/eslint-config": "^8.4.1",
"@nextcloud/eslint-config": "^8.4.2",
"@nextcloud/stylelint-config": "^3.0.1",
"@nextcloud/webpack-vue-config": "^6.1.1",
"babel-loader-exclude-node-modules-except": "^1.2.1",
"cypress": "^13.17.0",
"cypress-split": "^1.24.7",
"cypress-split": "^1.24.14",
"eslint-plugin-cypress": "^3.5.0",
"ts-loader": "^9.5.2",
"typescript": "^5.7.3"

View file

@ -82,7 +82,7 @@ const getDocumentUrlForFile = (fileDir, fileId) => {
}
export const getConfigFileUrl = () => {
return getCallbackBaseUrl() + generateUrl('apps/richdocuments/wopi/settings')
return generateUrl('apps/richdocuments/wopi/settings', null, { baseURL: getCallbackBaseUrl() })
}
const getNextcloudUrl = () => {