diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/l10n/de.js | 2 | ||||
-rw-r--r-- | lib/l10n/de.json | 2 | ||||
-rw-r--r-- | lib/l10n/de_DE.js | 4 | ||||
-rw-r--r-- | lib/l10n/de_DE.json | 4 | ||||
-rw-r--r-- | lib/l10n/et_EE.js | 22 | ||||
-rw-r--r-- | lib/l10n/et_EE.json | 22 | ||||
-rw-r--r-- | lib/l10n/tr.js | 2 | ||||
-rw-r--r-- | lib/l10n/tr.json | 2 | ||||
-rw-r--r-- | lib/l10n/uk.js | 1 | ||||
-rw-r--r-- | lib/l10n/uk.json | 1 | ||||
-rw-r--r-- | lib/l10n/uz.js | 1 | ||||
-rw-r--r-- | lib/l10n/uz.json | 1 | ||||
-rw-r--r-- | lib/private/AppConfig.php | 12 | ||||
-rw-r--r-- | lib/private/DB/Connection.php | 11 | ||||
-rw-r--r-- | lib/private/NavigationManager.php | 19 | ||||
-rw-r--r-- | lib/private/Preview/Movie.php | 13 | ||||
-rw-r--r-- | lib/private/Preview/Watcher.php | 3 | ||||
-rw-r--r-- | lib/private/Preview/WatcherConnector.php | 32 | ||||
-rw-r--r-- | lib/private/Security/Normalizer/IpAddress.php | 9 | ||||
-rw-r--r-- | lib/private/Server.php | 3 | ||||
-rw-r--r-- | lib/private/Template/JSResourceLocator.php | 2 | ||||
-rw-r--r-- | lib/private/URLGenerator.php | 5 |
22 files changed, 117 insertions, 56 deletions
diff --git a/lib/l10n/de.js b/lib/l10n/de.js index 565432632e8..cf3ea1d59ba 100644 --- a/lib/l10n/de.js +++ b/lib/l10n/de.js @@ -101,7 +101,7 @@ OC.L10N.register( "Invalid parent path" : "Ungültiger übergeordneter Pfad", "File already exists" : "Datei bereits vorhanden", "Invalid path" : "Ungültiger Pfad", - "Failed to create file from template" : "Fehler beim Erstellen der Datei aus Vorlage", + "Failed to create file from template" : "Datei konnte nicht aus Vorlage erstellt werden", "Templates" : "Vorlagen", "Storage %s cannot be moved" : "Speicherplatz %s kann nicht verschoben werden", "Moving a share (%s) into a shared folder is not allowed" : "Verschieben einer Freigabe (%s) in einen freigegebenen Ordner ist unzulässig", diff --git a/lib/l10n/de.json b/lib/l10n/de.json index f9b01867ab0..b40c32376cd 100644 --- a/lib/l10n/de.json +++ b/lib/l10n/de.json @@ -99,7 +99,7 @@ "Invalid parent path" : "Ungültiger übergeordneter Pfad", "File already exists" : "Datei bereits vorhanden", "Invalid path" : "Ungültiger Pfad", - "Failed to create file from template" : "Fehler beim Erstellen der Datei aus Vorlage", + "Failed to create file from template" : "Datei konnte nicht aus Vorlage erstellt werden", "Templates" : "Vorlagen", "Storage %s cannot be moved" : "Speicherplatz %s kann nicht verschoben werden", "Moving a share (%s) into a shared folder is not allowed" : "Verschieben einer Freigabe (%s) in einen freigegebenen Ordner ist unzulässig", diff --git a/lib/l10n/de_DE.js b/lib/l10n/de_DE.js index d43d052a549..80b0ee32bd4 100644 --- a/lib/l10n/de_DE.js +++ b/lib/l10n/de_DE.js @@ -101,7 +101,7 @@ OC.L10N.register( "Invalid parent path" : "Ungültiger übergeordneter Pfad", "File already exists" : "Datei bereits vorhanden", "Invalid path" : "Ungültiger Pfad", - "Failed to create file from template" : "Fehler beim Erstellen der Datei aus Vorlage", + "Failed to create file from template" : "Datei konnte nicht aus Vorlage erstellt werden", "Templates" : "Vorlagen", "Storage %s cannot be moved" : "Speicherplatz %s kann nicht verschoben werden", "Moving a share (%s) into a shared folder is not allowed" : "Verschieben einer Freigabe (%s) in einen freigegebenen Ordner ist unzulässig", @@ -313,7 +313,7 @@ OC.L10N.register( "Your data directory is invalid." : "Ihr Datenverzeichnis ist ungültig.", "Ensure there is a file called \"%1$s\" in the root of the data directory. It should have the content: \"%2$s\"" : "Stellen Sie sicher, dass eine Datei \"%1$s\" im Wurzelverzeichnis des Datenverzeichnisses existiert. Sie sollte folgenden Inhalt haben: \"%2$s\"", "Action \"%s\" not supported or implemented." : "Aktion \"%s\" wird nicht unterstützt oder ist nicht implementiert.", - "Authentication failed, wrong token or provider ID given" : "Authentifizierung ist fehlgeschlagen. Falsches Token oder Provider-ID wurde übertragen.", + "Authentication failed, wrong token or provider ID given" : "Authentifizierung fehlgeschlagen, falsches Token oder falsche Provider-ID angegeben", "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Es fehlen Parameter um die Anfrage zu bearbeiten. Fehlende Parameter: \"%s\"", "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "ID \"%1$s\" wird bereits von Cloud-Federation-Provider \"%2$s\" verwendet.", "Cloud Federation Provider with ID: \"%s\" does not exist." : "Cloud-Federation-Provider mit ID: \"%s\" ist nicht vorhanden.", diff --git a/lib/l10n/de_DE.json b/lib/l10n/de_DE.json index 9e974ad5fac..9354b0bcdf6 100644 --- a/lib/l10n/de_DE.json +++ b/lib/l10n/de_DE.json @@ -99,7 +99,7 @@ "Invalid parent path" : "Ungültiger übergeordneter Pfad", "File already exists" : "Datei bereits vorhanden", "Invalid path" : "Ungültiger Pfad", - "Failed to create file from template" : "Fehler beim Erstellen der Datei aus Vorlage", + "Failed to create file from template" : "Datei konnte nicht aus Vorlage erstellt werden", "Templates" : "Vorlagen", "Storage %s cannot be moved" : "Speicherplatz %s kann nicht verschoben werden", "Moving a share (%s) into a shared folder is not allowed" : "Verschieben einer Freigabe (%s) in einen freigegebenen Ordner ist unzulässig", @@ -311,7 +311,7 @@ "Your data directory is invalid." : "Ihr Datenverzeichnis ist ungültig.", "Ensure there is a file called \"%1$s\" in the root of the data directory. It should have the content: \"%2$s\"" : "Stellen Sie sicher, dass eine Datei \"%1$s\" im Wurzelverzeichnis des Datenverzeichnisses existiert. Sie sollte folgenden Inhalt haben: \"%2$s\"", "Action \"%s\" not supported or implemented." : "Aktion \"%s\" wird nicht unterstützt oder ist nicht implementiert.", - "Authentication failed, wrong token or provider ID given" : "Authentifizierung ist fehlgeschlagen. Falsches Token oder Provider-ID wurde übertragen.", + "Authentication failed, wrong token or provider ID given" : "Authentifizierung fehlgeschlagen, falsches Token oder falsche Provider-ID angegeben", "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Es fehlen Parameter um die Anfrage zu bearbeiten. Fehlende Parameter: \"%s\"", "ID \"%1$s\" already used by cloud federation provider \"%2$s\"" : "ID \"%1$s\" wird bereits von Cloud-Federation-Provider \"%2$s\" verwendet.", "Cloud Federation Provider with ID: \"%s\" does not exist." : "Cloud-Federation-Provider mit ID: \"%s\" ist nicht vorhanden.", diff --git a/lib/l10n/et_EE.js b/lib/l10n/et_EE.js index 7a32b1cec33..3940c73112c 100644 --- a/lib/l10n/et_EE.js +++ b/lib/l10n/et_EE.js @@ -2,9 +2,13 @@ OC.L10N.register( "lib", { "Cannot write into \"config\" directory!" : "Ei saa kirjutada „config“ kausta!!", + "This can usually be fixed by giving the web server write access to the config directory." : "Tavaliselt saad selle lahendada andes veebiserverile õigused seadistuse kausta kirjutamiseks", + "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Aga kui soovid, et seadistuste fail ei peaks olema veebiserveri poolt muudetav, siis palun määra seadistusvõtme „config_is_read_only“ väärtuseks true.", "See %s" : "Vaata %s", + "Application %1$s is not present or has a non-compatible version with this server. Please check the apps directory." : "Rakendust „%1$s“ pole serverisse paigaldatud või pole tema versioon ühilduv selle serveriga. Palun kontrolli paigaldatud rakendusi.", "Sample configuration detected" : "Tuvastati näidisseaded", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Tuvastati, et kopeeriti näidisseaded. See võib lõhkuda sinu saidi ja see pole toetatud. Palun loe enne faili config.php muutmist dokumentatsiooni", + "The page could not be found on the server." : "Seda lehte ei õnnestunud serverist leida.", "%s email verification" : "E-postiaadressi kinnitamine: %s", "Email verification" : "E-postiaadressi kinnitamine", "Click the following button to confirm your email." : "Oma e-postiaadressi kinnitamiseks klõpsi järgmisel nupul.", @@ -17,6 +21,7 @@ OC.L10N.register( "%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s ja %5$s", "PHP %s or higher is required." : "PHP %s või uuem on nõutav.", "PHP with a version lower than %s is required." : "Nõutud on PHP madalama versiooniga kui %s.", + "%sbit or higher PHP required." : "Vajalik on %s-bitine või parem PHP versioon.", "The following architectures are supported: %s" : "Toetatud on järgnevad arhitektuurid: %s", "The following databases are supported: %s" : "Toetatud on järgnevad andmebaasid: %s", "The command line tool %s could not be found" : "Käsurea töövahendit %s ei leitud", @@ -31,9 +36,11 @@ OC.L10N.register( "Wiping of device %s has started" : "Andmete kustutamine seadmes „%s“ algas", "Wiping of device »%s« has started" : "Andmete kustutamine seadmes „%s“ algas", "»%s« started remote wipe" : "„%s“ alustas kaugseadme andmete kustutamist", + "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished" : "„%s“ seade või rakendus on alustanud kaugkustutamise protsessi. Selle lõppemisel saad veel ühe teavitava e-kirja", "Wiping of device %s has finished" : "Andmete kustutamine seadmes „%s“ lõppes", "Wiping of device »%s« has finished" : "Andmete kustutamine seadmes „%s“ lõppes", "»%s« finished remote wipe" : "„%s“ lõpetas kaugseadme andmete kustutamise", + "Device or application »%s« has finished the remote wipe process." : "„%s“ seade või rakendus on lõpetanud kaugkustutamise protsessi.", "Remote wipe started" : "Kaugkustutamine on alanud", "A remote wipe was started on device %s" : "„%s“ seadme kaugkustutamine on alanud", "Remote wipe finished" : "Kaugkustutamine on lõppenud", @@ -99,6 +106,7 @@ OC.L10N.register( "Filename contains at least one invalid character" : "Failinimes on vähemalt üks keelatud märk", "Filename is too long" : "Failinimi on liiga pikk", "Empty filename is not allowed" : "Tühi failinimi pole lubatud", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Kuna „appinfo“ faili pole võimalik lugeda, siis „%s“ rakendust ei saa paigaldada.", "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Kuna ta pole ühilduv selle serveri versiooniga, siis „%s“ rakendust ei saa paigaldada.", "__language_name__" : "Eesti", "This is an automatically sent email, please do not reply." : "See on automaatselt saadetud e-kiri, palun ära vasta.", @@ -130,6 +138,7 @@ OC.L10N.register( "Pronouns" : "Asesõnad pöördumisel", "Unknown account" : "Tundmatu kasutajakonto", "Additional settings" : "Lisaseaded", + "Enter the database Login and name for %s" : "Andmebaasi kasutajanimi ning nimi %si jaoks", "Enter the database Login for %s" : "Sisesta andmebaasi %s kasutajatunnus", "Enter the database name for %s" : "Sisesta andmebaasi %s nimi", "You cannot use dots in the database name %s" : "Sa ei tohi kasutada „%s“ andmebaasi nimes punkte", @@ -153,6 +162,7 @@ OC.L10N.register( "%1$s shared %2$s with you and wants to add:" : "%1$s jagas sinuga %2$s ning soovib lisada:", "%1$s shared %2$s with you and wants to add" : "%1$s jagas sinuga %2$s ning soovib lisada", "%s added a note to a file shared with you" : "%s jagas koos sulle jagatud failiga ka märget", + "Passwords are enforced for link and mail shares" : "Linkide ja e-posti teel levitatava jaosmeedia puhul on salasõnade kasutamine nõutav", "Share recipient is not a valid user" : "Jaosmeedia vastuvõtja pole korrektne kasutaja", "Share recipient is not a valid group" : "Jaosmeedia vastuvõtja pole korrektne grupp", "Share recipient should be empty" : "Jaosmeedia vastuvõtja peaks jääma tühjaks", @@ -176,6 +186,7 @@ OC.L10N.register( "Sharing is only allowed with group members" : "Jagamine on lubatud vaid grupi liikmetega", "Sharing %s failed, because this item is already shared with the account %s" : "%s jagamine ebaõnnestus, kuna seda üksust on juba jagatud kontoga %s", "Group sharing is now allowed" : "Grupile jagamine on nüüd lubatud", + "Sharing is only allowed within your own groups" : "Jagamine on lubatud vaid sinu oma grupi liikmetega", "Path is already shared with this group" : "Asukoht on selle grupiga juba jagatud", "Link sharing is not allowed" : "Lingi jagamine pole lubatud", "Public upload is not allowed" : "Avalik üleslaadimine pole lubatud", @@ -187,7 +198,7 @@ OC.L10N.register( "Invalid share recipient" : "Vigane jaosmeedia vastuvõtja", "Group \"%s\" does not exist" : "„%s“ gruppi pole olemas", "The requested share does not exist anymore" : "Soovitud jagamist enam ei eksisteeri", - "Could not find category \"%s\"" : "Ei leia kategooriat \"%s\"", + "Could not find category \"%s\"" : "Ei leia kategooriat „%s“", "Input text" : "Sisendtekst", "The input text" : "Sisendtekst", "Sunday" : "Pühapäev", @@ -238,7 +249,13 @@ OC.L10N.register( "A valid password must be provided" : "Sisesta nõuetele vastav parool", "The Login is already being used" : "See kasutajanimi on juba kasutusel", "Could not create account" : "Kasutajakonto loomine ei õnnestunud", + "Only the following characters are allowed in an Login: \"a-z\", \"A-Z\", \"0-9\", spaces and \"_.@-'\"" : "Kasutajanimes on lubatud ainult järgmised tähemärgid: „a-z“, „A-Z“, „0-9“, ja „_.@-'“", + "A valid Login must be provided" : "Palun sisesta korrektne kasutajanimi", + "Login contains whitespace at the beginning or at the end" : "Kasutajanime alguses või lõpus on tühik", + "Login must not consist of dots only" : "Kasutajanimi ei tohi koosneda ainult punktidest", "Login is too long" : "Kasutajanimi on liiga pikk", + "Login is invalid because files already exist for this user" : "See kasutajanimi ei sobi, kuna sellise kasutaja faile on juba olemas", + "Account disabled" : "Konto pole kasutusel", "Login canceled by app" : "Rakendus katkestas sisselogimise", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "„%1$s“ rakendust ei saa paigaldada, sest järgnev sõltuvus on puudu: %2$s", "a safe home for all your data" : "turvaline koht sinu andmetele", @@ -252,13 +269,14 @@ OC.L10N.register( "Please install one of these locales on your system and restart your web server." : "Palun paigalda mõni neist lokaatidest oma serverisse ning taaskäivita veebiserver.", "PHP module %s not installed." : "PHP moodulit %s pole paigaldatud.", "Please ask your server administrator to install the module." : "Palu oma serveri haldajal moodul paigadalda.", - "PHP setting \"%s\" is not set to \"%s\"." : "PHP seade \"%s\" ei ole \"%s\".", + "PHP setting \"%s\" is not set to \"%s\"." : "PHP seadistuse „%s“ väärtuseks ei ole „%s“.", "Adjusting this setting in php.ini will make Nextcloud run again" : "Selle seadistuse kohendamine php.ini failis võimaldab sul Nextcloudi uuesti tööle saada", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "See on tõenäoliselt põhjustatud puhver/kiirendist nagu Zend OPcache või eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "PHP moodulid on paigaldatud, kuid neid näitatakse endiselt kui puuduolevad?", "Please ask your server administrator to restart the web server." : "Palu oma serveri haldajal veebiserver taaskäivitada.", "Your data directory must be an absolute path." : "Andmekausta asukoht peab olema absoluutne aadress.", "Your data directory is invalid." : "Sinu andmekataloog on vigane", + "Ensure there is a file called \"%1$s\" in the root of the data directory. It should have the content: \"%2$s\"" : "Palun taga, et andmete juurkaustas leidub fail „%1$s“, mille sisuks on „%2$s“", "Action \"%s\" not supported or implemented." : "„%s“ tegevus pole toetatud või implementeeritud.", "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Päringu lõpetamiseks on puudu järgmised parameetrid; „%s“", "Cloud Federation Provider with ID: \"%s\" does not exist." : "Liitpilve teenusepakkujat tunnusega „%s“ pole olemas.", diff --git a/lib/l10n/et_EE.json b/lib/l10n/et_EE.json index e8db1891012..3a9716b4719 100644 --- a/lib/l10n/et_EE.json +++ b/lib/l10n/et_EE.json @@ -1,8 +1,12 @@ { "translations": { "Cannot write into \"config\" directory!" : "Ei saa kirjutada „config“ kausta!!", + "This can usually be fixed by giving the web server write access to the config directory." : "Tavaliselt saad selle lahendada andes veebiserverile õigused seadistuse kausta kirjutamiseks", + "But, if you prefer to keep config.php file read only, set the option \"config_is_read_only\" to true in it." : "Aga kui soovid, et seadistuste fail ei peaks olema veebiserveri poolt muudetav, siis palun määra seadistusvõtme „config_is_read_only“ väärtuseks true.", "See %s" : "Vaata %s", + "Application %1$s is not present or has a non-compatible version with this server. Please check the apps directory." : "Rakendust „%1$s“ pole serverisse paigaldatud või pole tema versioon ühilduv selle serveriga. Palun kontrolli paigaldatud rakendusi.", "Sample configuration detected" : "Tuvastati näidisseaded", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Tuvastati, et kopeeriti näidisseaded. See võib lõhkuda sinu saidi ja see pole toetatud. Palun loe enne faili config.php muutmist dokumentatsiooni", + "The page could not be found on the server." : "Seda lehte ei õnnestunud serverist leida.", "%s email verification" : "E-postiaadressi kinnitamine: %s", "Email verification" : "E-postiaadressi kinnitamine", "Click the following button to confirm your email." : "Oma e-postiaadressi kinnitamiseks klõpsi järgmisel nupul.", @@ -15,6 +19,7 @@ "%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s ja %5$s", "PHP %s or higher is required." : "PHP %s või uuem on nõutav.", "PHP with a version lower than %s is required." : "Nõutud on PHP madalama versiooniga kui %s.", + "%sbit or higher PHP required." : "Vajalik on %s-bitine või parem PHP versioon.", "The following architectures are supported: %s" : "Toetatud on järgnevad arhitektuurid: %s", "The following databases are supported: %s" : "Toetatud on järgnevad andmebaasid: %s", "The command line tool %s could not be found" : "Käsurea töövahendit %s ei leitud", @@ -29,9 +34,11 @@ "Wiping of device %s has started" : "Andmete kustutamine seadmes „%s“ algas", "Wiping of device »%s« has started" : "Andmete kustutamine seadmes „%s“ algas", "»%s« started remote wipe" : "„%s“ alustas kaugseadme andmete kustutamist", + "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished" : "„%s“ seade või rakendus on alustanud kaugkustutamise protsessi. Selle lõppemisel saad veel ühe teavitava e-kirja", "Wiping of device %s has finished" : "Andmete kustutamine seadmes „%s“ lõppes", "Wiping of device »%s« has finished" : "Andmete kustutamine seadmes „%s“ lõppes", "»%s« finished remote wipe" : "„%s“ lõpetas kaugseadme andmete kustutamise", + "Device or application »%s« has finished the remote wipe process." : "„%s“ seade või rakendus on lõpetanud kaugkustutamise protsessi.", "Remote wipe started" : "Kaugkustutamine on alanud", "A remote wipe was started on device %s" : "„%s“ seadme kaugkustutamine on alanud", "Remote wipe finished" : "Kaugkustutamine on lõppenud", @@ -97,6 +104,7 @@ "Filename contains at least one invalid character" : "Failinimes on vähemalt üks keelatud märk", "Filename is too long" : "Failinimi on liiga pikk", "Empty filename is not allowed" : "Tühi failinimi pole lubatud", + "App \"%s\" cannot be installed because appinfo file cannot be read." : "Kuna „appinfo“ faili pole võimalik lugeda, siis „%s“ rakendust ei saa paigaldada.", "App \"%s\" cannot be installed because it is not compatible with this version of the server." : "Kuna ta pole ühilduv selle serveri versiooniga, siis „%s“ rakendust ei saa paigaldada.", "__language_name__" : "Eesti", "This is an automatically sent email, please do not reply." : "See on automaatselt saadetud e-kiri, palun ära vasta.", @@ -128,6 +136,7 @@ "Pronouns" : "Asesõnad pöördumisel", "Unknown account" : "Tundmatu kasutajakonto", "Additional settings" : "Lisaseaded", + "Enter the database Login and name for %s" : "Andmebaasi kasutajanimi ning nimi %si jaoks", "Enter the database Login for %s" : "Sisesta andmebaasi %s kasutajatunnus", "Enter the database name for %s" : "Sisesta andmebaasi %s nimi", "You cannot use dots in the database name %s" : "Sa ei tohi kasutada „%s“ andmebaasi nimes punkte", @@ -151,6 +160,7 @@ "%1$s shared %2$s with you and wants to add:" : "%1$s jagas sinuga %2$s ning soovib lisada:", "%1$s shared %2$s with you and wants to add" : "%1$s jagas sinuga %2$s ning soovib lisada", "%s added a note to a file shared with you" : "%s jagas koos sulle jagatud failiga ka märget", + "Passwords are enforced for link and mail shares" : "Linkide ja e-posti teel levitatava jaosmeedia puhul on salasõnade kasutamine nõutav", "Share recipient is not a valid user" : "Jaosmeedia vastuvõtja pole korrektne kasutaja", "Share recipient is not a valid group" : "Jaosmeedia vastuvõtja pole korrektne grupp", "Share recipient should be empty" : "Jaosmeedia vastuvõtja peaks jääma tühjaks", @@ -174,6 +184,7 @@ "Sharing is only allowed with group members" : "Jagamine on lubatud vaid grupi liikmetega", "Sharing %s failed, because this item is already shared with the account %s" : "%s jagamine ebaõnnestus, kuna seda üksust on juba jagatud kontoga %s", "Group sharing is now allowed" : "Grupile jagamine on nüüd lubatud", + "Sharing is only allowed within your own groups" : "Jagamine on lubatud vaid sinu oma grupi liikmetega", "Path is already shared with this group" : "Asukoht on selle grupiga juba jagatud", "Link sharing is not allowed" : "Lingi jagamine pole lubatud", "Public upload is not allowed" : "Avalik üleslaadimine pole lubatud", @@ -185,7 +196,7 @@ "Invalid share recipient" : "Vigane jaosmeedia vastuvõtja", "Group \"%s\" does not exist" : "„%s“ gruppi pole olemas", "The requested share does not exist anymore" : "Soovitud jagamist enam ei eksisteeri", - "Could not find category \"%s\"" : "Ei leia kategooriat \"%s\"", + "Could not find category \"%s\"" : "Ei leia kategooriat „%s“", "Input text" : "Sisendtekst", "The input text" : "Sisendtekst", "Sunday" : "Pühapäev", @@ -236,7 +247,13 @@ "A valid password must be provided" : "Sisesta nõuetele vastav parool", "The Login is already being used" : "See kasutajanimi on juba kasutusel", "Could not create account" : "Kasutajakonto loomine ei õnnestunud", + "Only the following characters are allowed in an Login: \"a-z\", \"A-Z\", \"0-9\", spaces and \"_.@-'\"" : "Kasutajanimes on lubatud ainult järgmised tähemärgid: „a-z“, „A-Z“, „0-9“, ja „_.@-'“", + "A valid Login must be provided" : "Palun sisesta korrektne kasutajanimi", + "Login contains whitespace at the beginning or at the end" : "Kasutajanime alguses või lõpus on tühik", + "Login must not consist of dots only" : "Kasutajanimi ei tohi koosneda ainult punktidest", "Login is too long" : "Kasutajanimi on liiga pikk", + "Login is invalid because files already exist for this user" : "See kasutajanimi ei sobi, kuna sellise kasutaja faile on juba olemas", + "Account disabled" : "Konto pole kasutusel", "Login canceled by app" : "Rakendus katkestas sisselogimise", "App \"%1$s\" cannot be installed because the following dependencies are not fulfilled: %2$s" : "„%1$s“ rakendust ei saa paigaldada, sest järgnev sõltuvus on puudu: %2$s", "a safe home for all your data" : "turvaline koht sinu andmetele", @@ -250,13 +267,14 @@ "Please install one of these locales on your system and restart your web server." : "Palun paigalda mõni neist lokaatidest oma serverisse ning taaskäivita veebiserver.", "PHP module %s not installed." : "PHP moodulit %s pole paigaldatud.", "Please ask your server administrator to install the module." : "Palu oma serveri haldajal moodul paigadalda.", - "PHP setting \"%s\" is not set to \"%s\"." : "PHP seade \"%s\" ei ole \"%s\".", + "PHP setting \"%s\" is not set to \"%s\"." : "PHP seadistuse „%s“ väärtuseks ei ole „%s“.", "Adjusting this setting in php.ini will make Nextcloud run again" : "Selle seadistuse kohendamine php.ini failis võimaldab sul Nextcloudi uuesti tööle saada", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "See on tõenäoliselt põhjustatud puhver/kiirendist nagu Zend OPcache või eAccelerator.", "PHP modules have been installed, but they are still listed as missing?" : "PHP moodulid on paigaldatud, kuid neid näitatakse endiselt kui puuduolevad?", "Please ask your server administrator to restart the web server." : "Palu oma serveri haldajal veebiserver taaskäivitada.", "Your data directory must be an absolute path." : "Andmekausta asukoht peab olema absoluutne aadress.", "Your data directory is invalid." : "Sinu andmekataloog on vigane", + "Ensure there is a file called \"%1$s\" in the root of the data directory. It should have the content: \"%2$s\"" : "Palun taga, et andmete juurkaustas leidub fail „%1$s“, mille sisuks on „%2$s“", "Action \"%s\" not supported or implemented." : "„%s“ tegevus pole toetatud või implementeeritud.", "Parameters missing in order to complete the request. Missing Parameters: \"%s\"" : "Päringu lõpetamiseks on puudu järgmised parameetrid; „%s“", "Cloud Federation Provider with ID: \"%s\" does not exist." : "Liitpilve teenusepakkujat tunnusega „%s“ pole olemas.", diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js index a03970a1c3b..ad607e4b9cc 100644 --- a/lib/l10n/tr.js +++ b/lib/l10n/tr.js @@ -201,6 +201,7 @@ OC.L10N.register( "Path is already shared with this group" : "Bu yol bu grup ile zaten paylaşılmış", "Link sharing is not allowed" : "Bağlantı paylaşımına izin verilmiyor", "Public upload is not allowed" : "Herkese açık yüklemeye izin verilmiyor", + "You cannot share a folder that contains other shares" : "Başka paylaşımların bulunduğu bir klasörü paylaşamazsınız", "Sharing is disabled" : "Paylaşım kullanımdan kaldırılmış", "Sharing is disabled for you" : "Paylaşım sizin için kullanımdan kaldırılmış", "Cannot share with the share owner" : "Paylaşımı sahibi ile paylaşamazsınız", @@ -272,6 +273,7 @@ OC.L10N.register( "A valid Login must be provided" : "Geçerli bir kullanıcı adı yazmalısınız", "Login contains whitespace at the beginning or at the end" : "Kullanıcı adının başında ya da sonunda boşluk var", "Login must not consist of dots only" : "Kullanıcı adı yalnızca noktalardan oluşamaz", + "Login is too long" : "Kullanıcı adı çok uzun", "Login is invalid because files already exist for this user" : "Kullanıcı adı geçersiz, bu kullanıcı için zaten bazı dosyalar var", "Account disabled" : "Hesap kullanımdan kaldırılmış", "Login canceled by app" : "Oturum açma uygulama tarafından iptal edildi", diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json index a066cd1a337..9a89aab5b92 100644 --- a/lib/l10n/tr.json +++ b/lib/l10n/tr.json @@ -199,6 +199,7 @@ "Path is already shared with this group" : "Bu yol bu grup ile zaten paylaşılmış", "Link sharing is not allowed" : "Bağlantı paylaşımına izin verilmiyor", "Public upload is not allowed" : "Herkese açık yüklemeye izin verilmiyor", + "You cannot share a folder that contains other shares" : "Başka paylaşımların bulunduğu bir klasörü paylaşamazsınız", "Sharing is disabled" : "Paylaşım kullanımdan kaldırılmış", "Sharing is disabled for you" : "Paylaşım sizin için kullanımdan kaldırılmış", "Cannot share with the share owner" : "Paylaşımı sahibi ile paylaşamazsınız", @@ -270,6 +271,7 @@ "A valid Login must be provided" : "Geçerli bir kullanıcı adı yazmalısınız", "Login contains whitespace at the beginning or at the end" : "Kullanıcı adının başında ya da sonunda boşluk var", "Login must not consist of dots only" : "Kullanıcı adı yalnızca noktalardan oluşamaz", + "Login is too long" : "Kullanıcı adı çok uzun", "Login is invalid because files already exist for this user" : "Kullanıcı adı geçersiz, bu kullanıcı için zaten bazı dosyalar var", "Account disabled" : "Hesap kullanımdan kaldırılmış", "Login canceled by app" : "Oturum açma uygulama tarafından iptal edildi", diff --git a/lib/l10n/uk.js b/lib/l10n/uk.js index 3d29de9a772..f63a5bda6bb 100644 --- a/lib/l10n/uk.js +++ b/lib/l10n/uk.js @@ -336,6 +336,7 @@ OC.L10N.register( "Generate image" : "Зґенерувати зображення", "Prompt" : "Запрошення", "Chat" : "Чат", + "Available tools" : "Доступні інструменти", "Generates a possible headline for a text." : "Створює ймовірний заголовок тексту.", "Text" : "Текст", "Summarize" : "Підсумок", diff --git a/lib/l10n/uk.json b/lib/l10n/uk.json index 4a4fba617b4..dec967a6c07 100644 --- a/lib/l10n/uk.json +++ b/lib/l10n/uk.json @@ -334,6 +334,7 @@ "Generate image" : "Зґенерувати зображення", "Prompt" : "Запрошення", "Chat" : "Чат", + "Available tools" : "Доступні інструменти", "Generates a possible headline for a text." : "Створює ймовірний заголовок тексту.", "Text" : "Текст", "Summarize" : "Підсумок", diff --git a/lib/l10n/uz.js b/lib/l10n/uz.js index b3d7be96b38..10dc2ccabf5 100644 --- a/lib/l10n/uz.js +++ b/lib/l10n/uz.js @@ -31,6 +31,7 @@ OC.L10N.register( "Authentication error" : "Authentication error", "Storage is temporarily not available" : "Storage is temporarily not available", "Confirmation" : "Tasdiqlash", + "Text" : "Matn", "Translate" : "Tarjima", "File name is too long" : "File name is too long", "Users" : "Users", diff --git a/lib/l10n/uz.json b/lib/l10n/uz.json index d032d72f931..6a9b2008a78 100644 --- a/lib/l10n/uz.json +++ b/lib/l10n/uz.json @@ -29,6 +29,7 @@ "Authentication error" : "Authentication error", "Storage is temporarily not available" : "Storage is temporarily not available", "Confirmation" : "Tasdiqlash", + "Text" : "Matn", "Translate" : "Tarjima", "File name is too long" : "File name is too long", "Users" : "Users", diff --git a/lib/private/AppConfig.php b/lib/private/AppConfig.php index 1228b9c20e3..092d37c3338 100644 --- a/lib/private/AppConfig.php +++ b/lib/private/AppConfig.php @@ -1423,6 +1423,9 @@ class AppConfig implements IAppConfig { 'globalsiteselector' => [ '/^gss\.jwt\.key$/', ], + 'gpgmailer' => [ + '/^GpgServerKey$/', + ], 'integration_discourse' => [ '/^private_key$/', '/^public_key$/', @@ -1477,6 +1480,9 @@ class AppConfig implements IAppConfig { '/^client_secret$/', '/^oauth_instance_url$/', ], + 'maps' => [ + '/^mapboxAPIKEY$/', + ], 'notify_push' => [ '/^cookie$/', ], @@ -1514,12 +1520,12 @@ class AppConfig implements IAppConfig { '/^slogan$/', '/^url$/', ], - 'user_ldap' => [ - '/^(s..)?ldap_agent_password$/', - ], 'twofactor_gateway' => [ '/^.*token$/', ], + 'user_ldap' => [ + '/^(s..)?ldap_agent_password$/', + ], 'user_saml' => [ '/^idp-x509cert$/', ], diff --git a/lib/private/DB/Connection.php b/lib/private/DB/Connection.php index eecf83ace95..96dd578b2ef 100644 --- a/lib/private/DB/Connection.php +++ b/lib/private/DB/Connection.php @@ -414,7 +414,7 @@ class Connection extends PrimaryReadReplicaConnection { $sql = $this->finishQuery($sql); $this->queriesExecuted++; - $this->logQueryToFile($sql); + $this->logQueryToFile($sql, $params); try { return parent::executeQuery($sql, $params, $types, $qcp); } catch (\Exception $e) { @@ -461,7 +461,7 @@ class Connection extends PrimaryReadReplicaConnection { } $sql = $this->finishQuery($sql); $this->queriesExecuted++; - $this->logQueryToFile($sql); + $this->logQueryToFile($sql, $params); try { return (int)parent::executeStatement($sql, $params, $types); } catch (\Exception $e) { @@ -470,14 +470,19 @@ class Connection extends PrimaryReadReplicaConnection { } } - protected function logQueryToFile(string $sql): void { + protected function logQueryToFile(string $sql, array $params): void { $logFile = $this->systemConfig->getValue('query_log_file'); if ($logFile !== '' && is_writable(dirname($logFile)) && (!file_exists($logFile) || is_writable($logFile))) { $prefix = ''; if ($this->systemConfig->getValue('query_log_file_requestid') === 'yes') { $prefix .= Server::get(IRequestId::class)->getId() . "\t"; } + $postfix = ''; + if ($this->systemConfig->getValue('query_log_file_parameters') === 'yes') { + $postfix .= '; ' . json_encode($params); + } + if ($this->systemConfig->getValue('query_log_file_backtrace') === 'yes') { $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); array_pop($trace); diff --git a/lib/private/NavigationManager.php b/lib/private/NavigationManager.php index c2125bc6f8a..fb0795376bb 100644 --- a/lib/private/NavigationManager.php +++ b/lib/private/NavigationManager.php @@ -77,7 +77,7 @@ class NavigationManager implements INavigationManager { $this->closureEntries[] = $entry; return; } - $this->init(); + $this->init(false); $id = $entry['id']; @@ -123,10 +123,6 @@ class NavigationManager implements INavigationManager { */ public function getAll(string $type = 'link'): array { $this->init(); - foreach ($this->closureEntries as $c) { - $this->add($c()); - } - $this->closureEntries = []; $result = $this->entries; if ($type !== 'all') { @@ -212,7 +208,13 @@ class NavigationManager implements INavigationManager { return $this->activeEntry; } - private function init() { + private function init(bool $resolveClosures = true): void { + if ($resolveClosures) { + while ($c = array_pop($this->closureEntries)) { + $this->add($c()); + } + } + if ($this->init) { return; } @@ -420,11 +422,6 @@ class NavigationManager implements INavigationManager { public function get(string $id): ?array { $this->init(); - foreach ($this->closureEntries as $c) { - $this->add($c()); - } - $this->closureEntries = []; - return $this->entries[$id]; } diff --git a/lib/private/Preview/Movie.php b/lib/private/Preview/Movie.php index 46462dfa592..7de543198f4 100644 --- a/lib/private/Preview/Movie.php +++ b/lib/private/Preview/Movie.php @@ -54,10 +54,15 @@ class Movie extends ProviderV2 { $result = null; if ($this->useTempFile($file)) { - // try downloading 5 MB first as it's likely that the first frames are present there - // in some cases this doesn't work for example when the moov atom is at the - // end of the file, so if it fails we fall back to getting the full file - $sizeAttempts = [5242880, null]; + // Try downloading 5 MB first, as it's likely that the first frames are present there. + // In some cases this doesn't work, for example when the moov atom is at the + // end of the file, so if it fails we fall back to getting the full file. + // Unless the file is not local (e.g. S3) as we do not want to download the whole (e.g. 37Gb) file + if ($file->getStorage()->isLocal()) { + $sizeAttempts = [5242880, null]; + } else { + $sizeAttempts = [5242880]; + } } else { // size is irrelevant, only attempt once $sizeAttempts = [null]; diff --git a/lib/private/Preview/Watcher.php b/lib/private/Preview/Watcher.php index abddd7b5acb..21f040d8342 100644 --- a/lib/private/Preview/Watcher.php +++ b/lib/private/Preview/Watcher.php @@ -8,6 +8,7 @@ declare(strict_types=1); */ namespace OC\Preview; +use OCP\Files\FileInfo; use OCP\Files\Folder; use OCP\Files\IAppData; use OCP\Files\Node; @@ -37,7 +38,7 @@ class Watcher { $this->deleteNode($node); } - protected function deleteNode(Node $node) { + protected function deleteNode(FileInfo $node) { // We only handle files if ($node instanceof Folder) { return; diff --git a/lib/private/Preview/WatcherConnector.php b/lib/private/Preview/WatcherConnector.php index ae2a136ca78..c34dd1dde4d 100644 --- a/lib/private/Preview/WatcherConnector.php +++ b/lib/private/Preview/WatcherConnector.php @@ -9,43 +9,33 @@ declare(strict_types=1); namespace OC\Preview; use OC\SystemConfig; +use OCA\Files_Versions\Events\VersionRestoredEvent; +use OCP\EventDispatcher\IEventDispatcher; use OCP\Files\IRootFolder; use OCP\Files\Node; class WatcherConnector { - /** @var IRootFolder */ - private $root; - - /** @var SystemConfig */ - private $config; - - /** - * WatcherConnector constructor. - * - * @param IRootFolder $root - * @param SystemConfig $config - */ - public function __construct(IRootFolder $root, - SystemConfig $config) { - $this->root = $root; - $this->config = $config; + public function __construct( + private IRootFolder $root, + private SystemConfig $config, + private IEventDispatcher $dispatcher, + ) { } - /** - * @return Watcher - */ private function getWatcher(): Watcher { return \OCP\Server::get(Watcher::class); } - public function connectWatcher() { + public function connectWatcher(): void { // Do not connect if we are not setup yet! if ($this->config->getValue('instanceid', null) !== null) { $this->root->listen('\OC\Files', 'postWrite', function (Node $node) { $this->getWatcher()->postWrite($node); }); - \OC_Hook::connect('\OCP\Versions', 'rollback', $this->getWatcher(), 'versionRollback'); + $this->dispatcher->addListener(VersionRestoredEvent::class, function (VersionRestoredEvent $event) { + $this->getWatcher()->versionRollback(['node' => $event->getVersion()->getSourceFile()]); + }); } } } diff --git a/lib/private/Security/Normalizer/IpAddress.php b/lib/private/Security/Normalizer/IpAddress.php index b3793685a24..4d33a7bd632 100644 --- a/lib/private/Security/Normalizer/IpAddress.php +++ b/lib/private/Security/Normalizer/IpAddress.php @@ -42,8 +42,15 @@ class IpAddress { $maskSize = min(64, $config->getSystemValueInt('security.ipv6_normalized_subnet_size', 56)); $maskSize = max(32, $maskSize); if (PHP_INT_SIZE === 4) { + if ($maskSize === 64) { + $value = -1; + } elseif ($maskSize === 63) { + $value = PHP_INT_MAX; + } else { + $value = (1 << $maskSize - 32) - 1; + } // as long as we support 32bit PHP we cannot use the `P` pack formatter (and not overflow 32bit integer) - $mask = pack('VVVV', 0xFFFF, $maskSize === 64 ? 0xFFFF : ((1 << $maskSize - 32) - 1), 0, 0); + $mask = pack('VVVV', -1, $value, 0, 0); } else { $mask = pack('VVP', (1 << 32) - 1, (1 << $maskSize - 32) - 1, 0); } diff --git a/lib/private/Server.php b/lib/private/Server.php index 4d79fefd261..545ceacbe81 100644 --- a/lib/private/Server.php +++ b/lib/private/Server.php @@ -411,7 +411,8 @@ class Server extends ServerContainer implements IServerContainer { $previewConnector = new \OC\Preview\WatcherConnector( $root, - $c->get(SystemConfig::class) + $c->get(SystemConfig::class), + $this->get(IEventDispatcher::class) ); $previewConnector->connectWatcher(); diff --git a/lib/private/Template/JSResourceLocator.php b/lib/private/Template/JSResourceLocator.php index aad999f939a..a6d2d13a2ad 100644 --- a/lib/private/Template/JSResourceLocator.php +++ b/lib/private/Template/JSResourceLocator.php @@ -69,7 +69,7 @@ class JSResourceLocator extends ResourceLocator { || $this->appendScriptIfExist($this->serverroot, "dist/$app-$scriptName") || $this->appendScriptIfExist($appRoot, $script, $appWebRoot) || $this->cacheAndAppendCombineJsonIfExist($this->serverroot, $script . '.json') - || $this->cacheAndAppendCombineJsonIfExist($appRoot, $script . '.json', $appWebRoot) + || $this->cacheAndAppendCombineJsonIfExist($appRoot, $script . '.json', $app) || $this->appendScriptIfExist($this->serverroot, $theme_dir . 'core/' . $script) || $this->appendScriptIfExist($this->serverroot, 'core/' . $script) || (strpos($scriptName, '/') === -1 && ($this->appendScriptIfExist($this->serverroot, $theme_dir . "dist/core-$scriptName") diff --git a/lib/private/URLGenerator.php b/lib/private/URLGenerator.php index ad12fae5144..c78ecac0903 100644 --- a/lib/private/URLGenerator.php +++ b/lib/private/URLGenerator.php @@ -304,6 +304,11 @@ class URLGenerator implements IURLGenerator { if ($href === '') { throw new \InvalidArgumentException('Default navigation entry is missing href: ' . $entryId); } + + if (str_starts_with($href, $this->getBaseUrl())) { + return $href; + } + if (str_starts_with($href, '/index.php/') && ($this->config->getSystemValueBool('htaccess.IgnoreFrontController', false) || getenv('front_controller_active') === 'true')) { $href = substr($href, 10); } |