diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/base.php | 59 | ||||
-rw-r--r-- | lib/l10n/ca.js | 60 | ||||
-rw-r--r-- | lib/l10n/ca.json | 60 | ||||
-rw-r--r-- | lib/l10n/es_AR.js | 4 | ||||
-rw-r--r-- | lib/l10n/es_AR.json | 4 | ||||
-rw-r--r-- | lib/l10n/et_EE.js | 1 | ||||
-rw-r--r-- | lib/l10n/et_EE.json | 1 | ||||
-rw-r--r-- | lib/l10n/pt_BR.js | 52 | ||||
-rw-r--r-- | lib/l10n/pt_BR.json | 52 | ||||
-rw-r--r-- | lib/l10n/sk.js | 2 | ||||
-rw-r--r-- | lib/l10n/sk.json | 2 | ||||
-rw-r--r-- | lib/private/AppFramework/Middleware/FlowV2EphemeralSessionsMiddleware.php | 5 | ||||
-rw-r--r-- | lib/private/Files/FilenameValidator.php | 8 | ||||
-rw-r--r-- | lib/private/Files/Type/Detection.php | 16 |
14 files changed, 225 insertions, 101 deletions
diff --git a/lib/base.php b/lib/base.php index 557584782a4..284b4d71085 100644 --- a/lib/base.php +++ b/lib/base.php @@ -447,6 +447,27 @@ class OC { * Try to set some values to the required Nextcloud default */ public static function setRequiredIniValues(): void { + // Don't display errors and log them + @ini_set('display_errors', '0'); + @ini_set('log_errors', '1'); + + // Try to configure php to enable big file uploads. + // This doesn't work always depending on the webserver and php configuration. + // Let's try to overwrite some defaults if they are smaller than 1 hour + + if (intval(@ini_get('max_execution_time') ?: 0) < 3600) { + @ini_set('max_execution_time', strval(3600)); + } + + if (intval(@ini_get('max_input_time') ?: 0) < 3600) { + @ini_set('max_input_time', strval(3600)); + } + + // Try to set the maximum execution time to the largest time limit we have + if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) { + @set_time_limit(max(intval(@ini_get('max_execution_time')), intval(@ini_get('max_input_time')))); + } + @ini_set('default_charset', 'UTF-8'); @ini_set('gd.jpeg_ignore_warning', '1'); } @@ -545,11 +566,21 @@ class OC { } public static function init(): void { + // First handle PHP configuration and copy auth headers to the expected + // $_SERVER variable before doing anything Server object related + self::setRequiredIniValues(); + self::handleAuthHeaders(); + // prevent any XML processing from loading external entities libxml_set_external_entity_loader(static function () { return null; }); + // Set default timezone before the Server object is booted + if (!date_default_timezone_set('UTC')) { + throw new \RuntimeException('Could not set timezone to UTC'); + } + // calculate the root directories OC::$SERVERROOT = str_replace("\\", '/', substr(__DIR__, 0, -4)); @@ -607,34 +638,6 @@ class OC { error_reporting(E_ALL); } - // Don't display errors and log them - @ini_set('display_errors', '0'); - @ini_set('log_errors', '1'); - - if (!date_default_timezone_set('UTC')) { - throw new \RuntimeException('Could not set timezone to UTC'); - } - - - //try to configure php to enable big file uploads. - //this doesn´t work always depending on the webserver and php configuration. - //Let´s try to overwrite some defaults if they are smaller than 1 hour - - if (intval(@ini_get('max_execution_time') ?: 0) < 3600) { - @ini_set('max_execution_time', strval(3600)); - } - - if (intval(@ini_get('max_input_time') ?: 0) < 3600) { - @ini_set('max_input_time', strval(3600)); - } - - //try to set the maximum execution time to the largest time limit we have - if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) { - @set_time_limit(max(intval(@ini_get('max_execution_time')), intval(@ini_get('max_input_time')))); - } - - self::setRequiredIniValues(); - self::handleAuthHeaders(); $systemConfig = Server::get(\OC\SystemConfig::class); self::registerAutoloaderCache($systemConfig); diff --git a/lib/l10n/ca.js b/lib/l10n/ca.js index 6491b7aa60d..1ea2550ad48 100644 --- a/lib/l10n/ca.js +++ b/lib/l10n/ca.js @@ -43,7 +43,7 @@ OC.L10N.register( "Wiping of device %s has started" : "S'ha començat a esborrar el dispositiu %s", "Wiping of device »%s« has started" : "S'ha començat a esborrar el dispositiu «%s»", "»%s« started remote wipe" : "«%s» ha començat a esborrar dades en remot", - "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished" : "El dispositiu o aplicació «%s» ha començat a esborrar les dades en remot. Rebreu un altre correu quan s'enllesteixi el procés", + "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished" : "El dispositiu o aplicació »%s« ha començat a esborrar les dades en remot. Rebreu un altre correu quan s'enllesteixi el procés", "Wiping of device %s has finished" : "S'ha acabat d'esborrar el dispositiu %s", "Wiping of device »%s« has finished" : "S'ha acabat d'esborrar el dispositiu «%s»", "»%s« finished remote wipe" : "«%s» ha acabat d'esborrar dades en remot", @@ -103,12 +103,12 @@ OC.L10N.register( "Failed to create file from template" : "No s'ha pogut crear el fitxer a partir de la plantilla", "Templates" : "Plantilles", "Storage %s cannot be moved" : "L'emmagatzematge %s no es pot moure", - "Moving a share (%s) into a shared folder is not allowed" : "No es permet moure una compartició (%s) a una carpeta compartida", - "Moving a storage (%s) into a shared folder is not allowed" : "No es permet moure un emmagatzematge (%s) a una carpeta compartida", - "Moving a share (%s) into another share (%s) is not allowed" : "No es permet moure una compartició (%s) a una altra compartició (%s)", - "Moving a share (%s) into another storage (%s) is not allowed" : "No es permet moure una compartició (%s) a un altre emmagatzematge (%s)", - "Moving a storage (%s) into a share (%s) is not allowed" : "No es permet moure un emmagatzematge (%s) a una compartició (%s)", - "Moving a storage (%s) into another storage (%s) is not allowed" : "No es permet moure un emmagatzematge (%s) a un altre emmagatzematge (%s)", + "Moving a share (%s) into a shared folder is not allowed" : "No és permès moure una compartició (%s) a una carpeta compartida", + "Moving a storage (%s) into a shared folder is not allowed" : "No és permès moure un emmagatzematge (%s) a una carpeta compartida", + "Moving a share (%s) into another share (%s) is not allowed" : "No és permès moure una compartició (%s) a una altra compartició (%s)", + "Moving a share (%s) into another storage (%s) is not allowed" : "No és permès moure una compartició (%s) a un altre emmagatzematge (%s)", + "Moving a storage (%s) into a share (%s) is not allowed" : "No és permès moure un emmagatzematge (%s) a una compartició (%s)", + "Moving a storage (%s) into another storage (%s) is not allowed" : "No és permès moure un emmagatzematge (%s) a un altre emmagatzematge (%s)", "Path contains invalid segments" : "El camí conté segments no vàlids", "Filename is a reserved word" : "El nom del fitxer és una paraula reservada", "Filename contains at least one invalid character" : "El nom del fitxer conté com a mínim un caràcter no vàlid", @@ -170,13 +170,13 @@ OC.L10N.register( "%1$s shared %2$s with you and wants to add:" : "%1$s ha compartit %2$s amb tu i vol afegir:", "%1$s shared %2$s with you and wants to add" : "%1$s ha compartit %2$s amb tu i vol afegir", "%s added a note to a file shared with you" : "%s ha afegit una nota a un fitxer compartit amb tu", - "Passwords are enforced for link and mail shares" : "S'apliquen contrasenyes per compartir enllaços i correus", + "Passwords are enforced for link and mail shares" : "S'apliquen contrasenyes per compartició d'enllaços i correus", "Share recipient is not a valid user" : "El destinatari de la compartició no és un usuari vàlid", "Share recipient is not a valid group" : "El destinatari de la compartició no és un grup vàlid", "Share recipient should be empty" : "El destinatari de la compartició ha d'estar buit", - "Share recipient should not be empty" : "El destinatari compartit no ha d'estar buit", - "Share recipient is not a valid circle" : "El destinatari compartit no és un cercle vàlid", - "Unknown share type" : "Tipus d'element compartit desconegut", + "Share recipient should not be empty" : "El destinatari de la compartició no ha d'estar buit", + "Share recipient is not a valid circle" : "El destinatari de la compartició no és un cercle vàlid", + "Unknown share type" : "Tipus de compartició desconegut", "Share initiator must be set" : "S'ha d'establir l'iniciador de la compartició", "Cannot share with yourself" : "No es pot compartir amb tu mateix", "Shared path must be set" : "S'ha d'establir un camí compartit", @@ -184,9 +184,9 @@ OC.L10N.register( "You cannot share your root folder" : "No podeu compartir la vostra carpeta arrel", "You are not allowed to share %s" : "No podeu compartir %s", "Valid permissions are required for sharing" : "Es requereixen permisos vàlids per compartir", - "File shares cannot have create or delete permissions" : "Els fitxers compartits no poden tenir permisos de creació o supressió", + "File shares cannot have create or delete permissions" : "Les comparticions de fitxers no poden tenir permisos de creació o supressió", "Cannot increase permissions of %s" : "No es poden augmentar els permisos de %s", - "Shares need at least read permissions" : "Les comparticions necessiten almenys permisos de lectura", + "Shares need at least read permissions" : "Les comparticions almenys necessiten permisos de lectura", "Files cannot be shared with delete permissions" : "No es poden compartir fitxers amb permisos de supressió", "Files cannot be shared with create permissions" : "No es poden compartir fitxers amb permisos de creació", "Expiration date is in the past" : "La data de caducitat ja ha passat", @@ -195,23 +195,23 @@ OC.L10N.register( "Sharing is only allowed with group members" : "Només es permet l'ús compartit amb membres del grup", "Sharing %s failed, because this item is already shared with the account %s" : "No s'ha pogut compartir %s perquè l'element ja està compartit amb el compte %s", "Group sharing is now allowed" : "Ara es permet compartir en grup", - "Sharing is only allowed within your own groups" : "Només es permet compartir dins dels vostres propis grups", + "Sharing is only allowed within your own groups" : "La compartició només és permesa dins dels vostres propis grups", "Path is already shared with this group" : "El camí ja està compartit amb aquest grup", - "Link sharing is not allowed" : "No es permet compartir enllaços", - "Public upload is not allowed" : "No es permet la càrrega pública", + "Link sharing is not allowed" : "La compartició d'enllaços no és permesa", + "Public upload is not allowed" : "La pujada pública no és permesa", "Path contains files shared with you" : "El camí conté fitxers compartits amb tu", "Sharing is disabled" : "S’ha desactivat la compartició", "Sharing is disabled for you" : "La compartició està desactivada per a tu", "Cannot share with the share owner" : "No es pot compartir amb el propietari de la compartició", - "Share does not have a full ID" : "La compartició no té un identificador complet", + "Share does not have a full ID" : "La compartició no té un ID complet", "Cannot change share type" : "No es pot canviar el tipus de compartició", - "Can only update recipient on user shares" : "Només es pot actualitzar el destinatari en els recursos compartits dels usuaris", - "Cannot enable sending the password by Talk with an empty password" : "No es pot activar l'enviament de la contrasenya per Parla amb una contrasenya buida", - "Cannot enable sending the password by Talk without setting a new password" : "No es pot activar l'enviament de la contrasenya per Parla sense establir una nova contrasenya", - "Cannot disable sending the password by Talk without setting a new password" : "No es pot desactivar l'enviament de la contrasenya per Parla sense establir una nova contrasenya", - "Share provider does not support accepting" : "El proveïdor de recursos compartits no admet l'acceptació", - "Cannot change target of link share" : "No es pot canviar el destí de la compartició d'enllaços", - "Invalid share recipient" : "El destinatari compartit no és vàlid", + "Can only update recipient on user shares" : "Només es pot actualitzar el destinatari en les comparticions d'usuaris", + "Cannot enable sending the password by Talk with an empty password" : "No es pot habilitar l'enviament de la contrasenya per Converses amb una contrasenya buida", + "Cannot enable sending the password by Talk without setting a new password" : "No es pot activar l'enviament de la contrasenya per Converses sense establir una nova contrasenya", + "Cannot disable sending the password by Talk without setting a new password" : "No es pot desactivar l'enviament de la contrasenya per Converses sense establir una nova contrasenya", + "Share provider does not support accepting" : "El proveïdor de la compartició no admet l'acceptació", + "Cannot change target of link share" : "No es pot canviar el destí de l'enllaç de compartició", + "Invalid share recipient" : "El destinatari de la compartició no és vàlid", "Group \"%s\" does not exist" : "El grup \"%s\" no existeix", "The requested share does not exist anymore" : "L'element compartit sol·licitat ja no existeix", "The requested share comes from a disabled user" : "L'element compartit sol·licitat prové d'un usuari inhabilitat", @@ -328,7 +328,7 @@ OC.L10N.register( "Transcription" : "Transcripció", "The transcribed text" : "El text transcrit", "ContextAgent" : "ContextAgent", - "Chat with an agent" : "Xateja amb un agent", + "Chat with an agent" : "Xat amb un agent", "Chat message" : "Missatge de xat", "A chat message to send to the agent." : "Un missatge de xat per enviar a l'agent.", "Confirmation" : "Confirmació", @@ -363,7 +363,7 @@ OC.L10N.register( "Output images" : "Imatges de sortida", "The generated images" : "Les imatges generades", "Free text to text prompt" : "Text lliure per indicador de text", - "Runs an arbitrary prompt through a language model that returns a reply" : "Executa una indicació arbitraria mitjançant un model de llenguatge que retorna una resposta", + "Runs an arbitrary prompt through a language model that returns a reply" : "Executa una indicació arbitraria mitjançant un model de llengua que retorna una resposta", "Describe a task that you want the assistant to do or ask a question" : "Descriu una tasca que vols que faci l'assistent o fes una pregunta", "Generated reply" : "Resposta generada", "The generated text from the assistant" : "El text generat per l'assistent", @@ -381,8 +381,8 @@ OC.L10N.register( "The history of chat messages before the current message, starting with a message by the user" : "L'historial dels missatges de xat abans del missatge actual, començant amb un missatge de l'usuari", "Response message" : "Missatge de resposta", "The generated response as part of the conversation" : "La resposta generada com a part de la conversa", - "Chat with tools" : "Xatejar amb eines", - "Chat with the language model with tool calling support." : "Xateja amb el model d'idioma amb suport de crida d'eines.", + "Chat with tools" : "Xat amb eines", + "Chat with the language model with tool calling support." : "Xat amb el model de llengua amb suport de crida d'eines.", "Tool message" : "Missatge de l'eina", "The result of tool calls in the last interaction" : "El resultat de les crides d'eines en l'última interacció", "Available tools" : "Eines disponibles", @@ -427,13 +427,13 @@ OC.L10N.register( "Topics" : "Temes", "The list of extracted topics" : "La llista de temes extrets", "Translate" : "Tradueix", - "Translate text from one language to another" : "Tradueix text d'un idioma a un altre", + "Translate text from one language to another" : "Tradueix text d'una llengua a un altre", "Origin text" : "Text d'origen", "The text to translate" : "El text a traduir", "Origin language" : "Llengua d'origen", "The language of the origin text" : "La llengua del text d'origen", "Target language" : "Llengua de destinació", - "The desired language to translate the origin text in" : "L'idioma desitjat per traduir el text d'origen", + "The desired language to translate the origin text in" : "La llengua desitjada per traduir el text d'origen", "Result" : "Resultat", "The translated text" : "Copia el text traduït", "Free prompt" : "Sol·licitud lliure", diff --git a/lib/l10n/ca.json b/lib/l10n/ca.json index edc02e2c5f5..10da3a4f90b 100644 --- a/lib/l10n/ca.json +++ b/lib/l10n/ca.json @@ -41,7 +41,7 @@ "Wiping of device %s has started" : "S'ha començat a esborrar el dispositiu %s", "Wiping of device »%s« has started" : "S'ha començat a esborrar el dispositiu «%s»", "»%s« started remote wipe" : "«%s» ha començat a esborrar dades en remot", - "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished" : "El dispositiu o aplicació «%s» ha començat a esborrar les dades en remot. Rebreu un altre correu quan s'enllesteixi el procés", + "Device or application »%s« has started the remote wipe process. You will receive another email once the process has finished" : "El dispositiu o aplicació »%s« ha començat a esborrar les dades en remot. Rebreu un altre correu quan s'enllesteixi el procés", "Wiping of device %s has finished" : "S'ha acabat d'esborrar el dispositiu %s", "Wiping of device »%s« has finished" : "S'ha acabat d'esborrar el dispositiu «%s»", "»%s« finished remote wipe" : "«%s» ha acabat d'esborrar dades en remot", @@ -101,12 +101,12 @@ "Failed to create file from template" : "No s'ha pogut crear el fitxer a partir de la plantilla", "Templates" : "Plantilles", "Storage %s cannot be moved" : "L'emmagatzematge %s no es pot moure", - "Moving a share (%s) into a shared folder is not allowed" : "No es permet moure una compartició (%s) a una carpeta compartida", - "Moving a storage (%s) into a shared folder is not allowed" : "No es permet moure un emmagatzematge (%s) a una carpeta compartida", - "Moving a share (%s) into another share (%s) is not allowed" : "No es permet moure una compartició (%s) a una altra compartició (%s)", - "Moving a share (%s) into another storage (%s) is not allowed" : "No es permet moure una compartició (%s) a un altre emmagatzematge (%s)", - "Moving a storage (%s) into a share (%s) is not allowed" : "No es permet moure un emmagatzematge (%s) a una compartició (%s)", - "Moving a storage (%s) into another storage (%s) is not allowed" : "No es permet moure un emmagatzematge (%s) a un altre emmagatzematge (%s)", + "Moving a share (%s) into a shared folder is not allowed" : "No és permès moure una compartició (%s) a una carpeta compartida", + "Moving a storage (%s) into a shared folder is not allowed" : "No és permès moure un emmagatzematge (%s) a una carpeta compartida", + "Moving a share (%s) into another share (%s) is not allowed" : "No és permès moure una compartició (%s) a una altra compartició (%s)", + "Moving a share (%s) into another storage (%s) is not allowed" : "No és permès moure una compartició (%s) a un altre emmagatzematge (%s)", + "Moving a storage (%s) into a share (%s) is not allowed" : "No és permès moure un emmagatzematge (%s) a una compartició (%s)", + "Moving a storage (%s) into another storage (%s) is not allowed" : "No és permès moure un emmagatzematge (%s) a un altre emmagatzematge (%s)", "Path contains invalid segments" : "El camí conté segments no vàlids", "Filename is a reserved word" : "El nom del fitxer és una paraula reservada", "Filename contains at least one invalid character" : "El nom del fitxer conté com a mínim un caràcter no vàlid", @@ -168,13 +168,13 @@ "%1$s shared %2$s with you and wants to add:" : "%1$s ha compartit %2$s amb tu i vol afegir:", "%1$s shared %2$s with you and wants to add" : "%1$s ha compartit %2$s amb tu i vol afegir", "%s added a note to a file shared with you" : "%s ha afegit una nota a un fitxer compartit amb tu", - "Passwords are enforced for link and mail shares" : "S'apliquen contrasenyes per compartir enllaços i correus", + "Passwords are enforced for link and mail shares" : "S'apliquen contrasenyes per compartició d'enllaços i correus", "Share recipient is not a valid user" : "El destinatari de la compartició no és un usuari vàlid", "Share recipient is not a valid group" : "El destinatari de la compartició no és un grup vàlid", "Share recipient should be empty" : "El destinatari de la compartició ha d'estar buit", - "Share recipient should not be empty" : "El destinatari compartit no ha d'estar buit", - "Share recipient is not a valid circle" : "El destinatari compartit no és un cercle vàlid", - "Unknown share type" : "Tipus d'element compartit desconegut", + "Share recipient should not be empty" : "El destinatari de la compartició no ha d'estar buit", + "Share recipient is not a valid circle" : "El destinatari de la compartició no és un cercle vàlid", + "Unknown share type" : "Tipus de compartició desconegut", "Share initiator must be set" : "S'ha d'establir l'iniciador de la compartició", "Cannot share with yourself" : "No es pot compartir amb tu mateix", "Shared path must be set" : "S'ha d'establir un camí compartit", @@ -182,9 +182,9 @@ "You cannot share your root folder" : "No podeu compartir la vostra carpeta arrel", "You are not allowed to share %s" : "No podeu compartir %s", "Valid permissions are required for sharing" : "Es requereixen permisos vàlids per compartir", - "File shares cannot have create or delete permissions" : "Els fitxers compartits no poden tenir permisos de creació o supressió", + "File shares cannot have create or delete permissions" : "Les comparticions de fitxers no poden tenir permisos de creació o supressió", "Cannot increase permissions of %s" : "No es poden augmentar els permisos de %s", - "Shares need at least read permissions" : "Les comparticions necessiten almenys permisos de lectura", + "Shares need at least read permissions" : "Les comparticions almenys necessiten permisos de lectura", "Files cannot be shared with delete permissions" : "No es poden compartir fitxers amb permisos de supressió", "Files cannot be shared with create permissions" : "No es poden compartir fitxers amb permisos de creació", "Expiration date is in the past" : "La data de caducitat ja ha passat", @@ -193,23 +193,23 @@ "Sharing is only allowed with group members" : "Només es permet l'ús compartit amb membres del grup", "Sharing %s failed, because this item is already shared with the account %s" : "No s'ha pogut compartir %s perquè l'element ja està compartit amb el compte %s", "Group sharing is now allowed" : "Ara es permet compartir en grup", - "Sharing is only allowed within your own groups" : "Només es permet compartir dins dels vostres propis grups", + "Sharing is only allowed within your own groups" : "La compartició només és permesa dins dels vostres propis grups", "Path is already shared with this group" : "El camí ja està compartit amb aquest grup", - "Link sharing is not allowed" : "No es permet compartir enllaços", - "Public upload is not allowed" : "No es permet la càrrega pública", + "Link sharing is not allowed" : "La compartició d'enllaços no és permesa", + "Public upload is not allowed" : "La pujada pública no és permesa", "Path contains files shared with you" : "El camí conté fitxers compartits amb tu", "Sharing is disabled" : "S’ha desactivat la compartició", "Sharing is disabled for you" : "La compartició està desactivada per a tu", "Cannot share with the share owner" : "No es pot compartir amb el propietari de la compartició", - "Share does not have a full ID" : "La compartició no té un identificador complet", + "Share does not have a full ID" : "La compartició no té un ID complet", "Cannot change share type" : "No es pot canviar el tipus de compartició", - "Can only update recipient on user shares" : "Només es pot actualitzar el destinatari en els recursos compartits dels usuaris", - "Cannot enable sending the password by Talk with an empty password" : "No es pot activar l'enviament de la contrasenya per Parla amb una contrasenya buida", - "Cannot enable sending the password by Talk without setting a new password" : "No es pot activar l'enviament de la contrasenya per Parla sense establir una nova contrasenya", - "Cannot disable sending the password by Talk without setting a new password" : "No es pot desactivar l'enviament de la contrasenya per Parla sense establir una nova contrasenya", - "Share provider does not support accepting" : "El proveïdor de recursos compartits no admet l'acceptació", - "Cannot change target of link share" : "No es pot canviar el destí de la compartició d'enllaços", - "Invalid share recipient" : "El destinatari compartit no és vàlid", + "Can only update recipient on user shares" : "Només es pot actualitzar el destinatari en les comparticions d'usuaris", + "Cannot enable sending the password by Talk with an empty password" : "No es pot habilitar l'enviament de la contrasenya per Converses amb una contrasenya buida", + "Cannot enable sending the password by Talk without setting a new password" : "No es pot activar l'enviament de la contrasenya per Converses sense establir una nova contrasenya", + "Cannot disable sending the password by Talk without setting a new password" : "No es pot desactivar l'enviament de la contrasenya per Converses sense establir una nova contrasenya", + "Share provider does not support accepting" : "El proveïdor de la compartició no admet l'acceptació", + "Cannot change target of link share" : "No es pot canviar el destí de l'enllaç de compartició", + "Invalid share recipient" : "El destinatari de la compartició no és vàlid", "Group \"%s\" does not exist" : "El grup \"%s\" no existeix", "The requested share does not exist anymore" : "L'element compartit sol·licitat ja no existeix", "The requested share comes from a disabled user" : "L'element compartit sol·licitat prové d'un usuari inhabilitat", @@ -326,7 +326,7 @@ "Transcription" : "Transcripció", "The transcribed text" : "El text transcrit", "ContextAgent" : "ContextAgent", - "Chat with an agent" : "Xateja amb un agent", + "Chat with an agent" : "Xat amb un agent", "Chat message" : "Missatge de xat", "A chat message to send to the agent." : "Un missatge de xat per enviar a l'agent.", "Confirmation" : "Confirmació", @@ -361,7 +361,7 @@ "Output images" : "Imatges de sortida", "The generated images" : "Les imatges generades", "Free text to text prompt" : "Text lliure per indicador de text", - "Runs an arbitrary prompt through a language model that returns a reply" : "Executa una indicació arbitraria mitjançant un model de llenguatge que retorna una resposta", + "Runs an arbitrary prompt through a language model that returns a reply" : "Executa una indicació arbitraria mitjançant un model de llengua que retorna una resposta", "Describe a task that you want the assistant to do or ask a question" : "Descriu una tasca que vols que faci l'assistent o fes una pregunta", "Generated reply" : "Resposta generada", "The generated text from the assistant" : "El text generat per l'assistent", @@ -379,8 +379,8 @@ "The history of chat messages before the current message, starting with a message by the user" : "L'historial dels missatges de xat abans del missatge actual, començant amb un missatge de l'usuari", "Response message" : "Missatge de resposta", "The generated response as part of the conversation" : "La resposta generada com a part de la conversa", - "Chat with tools" : "Xatejar amb eines", - "Chat with the language model with tool calling support." : "Xateja amb el model d'idioma amb suport de crida d'eines.", + "Chat with tools" : "Xat amb eines", + "Chat with the language model with tool calling support." : "Xat amb el model de llengua amb suport de crida d'eines.", "Tool message" : "Missatge de l'eina", "The result of tool calls in the last interaction" : "El resultat de les crides d'eines en l'última interacció", "Available tools" : "Eines disponibles", @@ -425,13 +425,13 @@ "Topics" : "Temes", "The list of extracted topics" : "La llista de temes extrets", "Translate" : "Tradueix", - "Translate text from one language to another" : "Tradueix text d'un idioma a un altre", + "Translate text from one language to another" : "Tradueix text d'una llengua a un altre", "Origin text" : "Text d'origen", "The text to translate" : "El text a traduir", "Origin language" : "Llengua d'origen", "The language of the origin text" : "La llengua del text d'origen", "Target language" : "Llengua de destinació", - "The desired language to translate the origin text in" : "L'idioma desitjat per traduir el text d'origen", + "The desired language to translate the origin text in" : "La llengua desitjada per traduir el text d'origen", "Result" : "Resultat", "The translated text" : "Copia el text traduït", "Free prompt" : "Sol·licitud lliure", diff --git a/lib/l10n/es_AR.js b/lib/l10n/es_AR.js index 57202aefb4e..c9f76c540a2 100644 --- a/lib/l10n/es_AR.js +++ b/lib/l10n/es_AR.js @@ -52,6 +52,10 @@ OC.L10N.register( "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", + "Headline" : "Títular", + "Organisation" : "Organización", + "Role" : "Rol", + "Pronouns" : "Pronombres", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesita ingresar los detalles de una cuenta existente.", "Oracle connection could not be established" : "No fue posible establecer la conexión a Oracle", diff --git a/lib/l10n/es_AR.json b/lib/l10n/es_AR.json index 12e375ed0d9..91e3f4b1757 100644 --- a/lib/l10n/es_AR.json +++ b/lib/l10n/es_AR.json @@ -50,6 +50,10 @@ "Address" : "Dirección", "Profile picture" : "Foto de perfil", "About" : "Acerca de", + "Headline" : "Títular", + "Organisation" : "Organización", + "Role" : "Rol", + "Pronouns" : "Pronombres", "Additional settings" : "Configuraciones adicionales", "You need to enter details of an existing account." : "Necesita ingresar los detalles de una cuenta existente.", "Oracle connection could not be established" : "No fue posible establecer la conexión a Oracle", diff --git a/lib/l10n/et_EE.js b/lib/l10n/et_EE.js index a793abf9353..adefc8ed808 100644 --- a/lib/l10n/et_EE.js +++ b/lib/l10n/et_EE.js @@ -35,6 +35,7 @@ OC.L10N.register( "seconds ago" : "sekundit tagasi", "Empty file" : "Tühi fail", "Dot files are not allowed" : "Punktiga failid pole lubatud", + "Filenames must not end with \"%1$s\"." : "Failinimede lõpus ei tohi olla „%1$s“.", "File already exists" : "Fail on juba olemas", "Invalid path" : "Vigane kataloogirada", "Failed to create file from template" : "Ei saa luua mallist faili", diff --git a/lib/l10n/et_EE.json b/lib/l10n/et_EE.json index 56dfac3a888..51d86cc0e29 100644 --- a/lib/l10n/et_EE.json +++ b/lib/l10n/et_EE.json @@ -33,6 +33,7 @@ "seconds ago" : "sekundit tagasi", "Empty file" : "Tühi fail", "Dot files are not allowed" : "Punktiga failid pole lubatud", + "Filenames must not end with \"%1$s\"." : "Failinimede lõpus ei tohi olla „%1$s“.", "File already exists" : "Fail on juba olemas", "Invalid path" : "Vigane kataloogirada", "Failed to create file from template" : "Ei saa luua mallist faili", diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js index 8eb59927969..92b55232bea 100644 --- a/lib/l10n/pt_BR.js +++ b/lib/l10n/pt_BR.js @@ -38,6 +38,7 @@ OC.L10N.register( "Server version %s or higher is required." : "É requerido um servidor da versão %s ou superior.", "Server version %s or lower is required." : "É requerido um servidor da versão %s ou abaixo.", "Logged in account must be an admin, a sub admin or gotten special right to access this setting" : "A conta conectada deve ser um administrador, um subadministrador ou ter direito especial para acessar esta configuração", + "Your current IP address doesn't allow you to perform admin actions" : "Seu endereço IP atual não permite que você execute ações administrativas", "Logged in account must be an admin or sub admin" : "A conta conectada deve ser de um administrador ou subadministrador", "Logged in account must be an admin" : "A conta logada deve ser de um administrador", "Wiping of device %s has started" : "Limpeza do dispositivo %s iniciou", @@ -58,7 +59,11 @@ OC.L10N.register( "Avatar image is not square" : "A imagem do avatar não é quadrada", "Files" : "Arquivos", "View profile" : "Visualizar perfil", + "same time" : "mesmo tempo", "_%nh_::_%nh_" : ["%nh","%nh","%nh"], + "_%nm_::_%nm_" : ["%nm","%nm","%nm"], + "%s ahead" : "%s à frente", + "%s behind" : "%s atrás", "Local time: %s" : "Hora local: %s", "today" : "hoje", "tomorrow" : "amanhã", @@ -81,6 +86,12 @@ OC.L10N.register( "seconds ago" : "segundos atrás", "Empty file" : "Arquivo vazio", "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "O módulo com a ID: %s não existe. Por favor, habilite-o nas configurações de seu aplicativo ou contacte o administrador.", + "No file conversion providers available" : "Não há provedores de conversão de arquivos disponíveis", + "File is too large to convert" : "O arquivo é muito grande para converter", + "Destination does not match conversion extension" : "O destino não corresponde à extensão de conversão", + "Could not convert file" : "Não foi possível converter o arquivo", + "Destination does not exist" : "Destino não existe", + "Destination is not creatable" : "Destino não pode ser criado", "Dot files are not allowed" : "Arquivos Dot não são permitidos", "\"%1$s\" is a forbidden file or folder name." : "\"%1$s\" é um nome de arquivo ou pasta proibido.", "\"%1$s\" is a forbidden prefix for file or folder names." : "\"%1$s\" é um prefixo proibido para nomes de arquivos ou pastas.", @@ -92,6 +103,13 @@ OC.L10N.register( "Invalid path" : "Diretório inválido", "Failed to create file from template" : "Falha ao criar arquivo do modelo ", "Templates" : "Modelos ", + "Storage %s cannot be moved" : "O armazenamento %s não pode ser movido", + "Moving a share (%s) into a shared folder is not allowed" : "Não é permitido mover um compartilhamento (%s) para uma pasta compartilhada", + "Moving a storage (%s) into a shared folder is not allowed" : "Não é permitido mover um armazenamento (%s) para uma pasta compartilhada", + "Moving a share (%s) into another share (%s) is not allowed" : "Não é permitido mover um compartilhamento (%s) para outro compartilhamento (%s)", + "Moving a share (%s) into another storage (%s) is not allowed" : "Não é permitido mover um compartilhamento (%s) para outro armazenamento (%s)", + "Moving a storage (%s) into a share (%s) is not allowed" : "Não é permitido mover um armazenamento (%s) para compartilhamento (%s)", + "Moving a storage (%s) into another storage (%s) is not allowed" : "Não é permitido mover um armazenamento (%s) para outro armazenamento (%s)", "Path contains invalid segments" : "O caminho contém segmentos inválidos", "Filename is a reserved word" : "Nome do arquivo é uma palavra reservada", "Filename contains at least one invalid character" : "O nome do arquivo contém pelo menos um caractere inválido ", @@ -138,6 +156,7 @@ OC.L10N.register( "Oracle connection could not be established" : "Conexão Oracle não pôde ser estabelecida", "Oracle Login and/or password not valid" : "Login e/ou senha Oracle inválidos", "PostgreSQL Login and/or password not valid" : "Login e/ou senha do PostgreSQL inválidos", + "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk!" : "O Mac OS X não é compatível e %s não funcionará corretamente nessa plataforma. Use-o por sua própria conta e risco!", "For the best results, please consider using a GNU/Linux server instead." : "Para obter melhores resultados, por favor considere o uso de um servidor GNU/Linux em seu lugar.", "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Aparentemente a instância %s está rodando em um ambiente PHP de 32 bits e o open_basedir foi configurado no php.ini. Isto pode gerar problemas com arquivos maiores que 4GB e é altamente não recomendável.", "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, remova a configuração de open_basedir de seu php.ini ou mude o PHP para 64bit.", @@ -167,6 +186,7 @@ OC.L10N.register( "You cannot share your root folder" : "Você não pode compartilhar sua pasta raiz", "You are not allowed to share %s" : "Você não tem permissão para compartilhar %s", "Valid permissions are required for sharing" : "Permissões válidas são necessárias para compartilhamento", + "File shares cannot have create or delete permissions" : "Os compartilhamentos de arquivos não podem ter permissões de criação ou exclusão", "Cannot increase permissions of %s" : "Não foi possível aumentar as permissões de %s", "Shares need at least read permissions" : "Compartilhamentos precisam pelo menos permissões de leitura", "Files cannot be shared with delete permissions" : "Arquivos não podem ser compartilhados com permissões de exclusão", @@ -309,8 +329,20 @@ OC.L10N.register( "The audio to transcribe" : "O áudio a ser transcrito", "Transcription" : "Transcrição", "The transcribed text" : "O texto transcrito", + "ContextAgent" : "ContextAgent", + "Chat with an agent" : "Conversar com um agente", "Chat message" : "Mensagem de bate-papo", + "A chat message to send to the agent." : "Uma mensagem de bate-papo a ser enviada ao agente", "Confirmation" : "Confirmação", + "Whether to confirm previously requested actions: 0 for denial and 1 for confirmation." : "Se deve confirmar as ações solicitadas anteriormente: 0 para negação e 1 para confirmação.", + "Conversation token" : "Token de conversação", + "A token representing the conversation." : "Um token que representa a conversa.", + "Generated response" : "Gerar reposta", + "The response from the chat model." : "A resposta do modelo de bate-papo.", + "The new conversation token" : "O novo token de conversa", + "Send this along with the next interaction." : "Envie isso junto com a próxima interação.", + "Requested actions by the agent" : "Ações solicitadas pelo agente", + "Actions that the agent would like to carry out in JSON format." : "Ações que o agente gostaria de realizar no formato JSON.", "Context write" : "Gravação de contexto", "Writes text in a given style based on the provided source material." : "Escreve texto em um determinado estilo com base no material de origem fornecido.", "Writing style" : "Estilo de escrita", @@ -337,6 +369,12 @@ OC.L10N.register( "Describe a task that you want the assistant to do or ask a question" : "Descreva uma tarefa que você deseja que o assistente execute ou faça uma pergunta", "Generated reply" : "Resposta gerada", "The generated text from the assistant" : "O texto gerado do assistente", + "Change Tone" : "Mudar o tom", + "Change the tone of a piece of text." : "Alterar o tom de um texto.", + "Write a text that you want the assistant to rewrite in another tone." : "Escreva um texto que você deseja que o assistente reescreva em outro tom.", + "Desired tone" : "Tom desejado", + "In which tone should your text be rewritten?" : "Em qual tom seu texto deve ser reescrito?", + "The rewritten text in the desired tone, written by the assistant:" : "O texto reescrito no tom desejado, escrito pelo assistente:", "Chat" : "Conversa", "Chat with the assistant" : "Converse com o assistente", "System prompt" : "Prompt do sistema", @@ -345,6 +383,15 @@ OC.L10N.register( "The history of chat messages before the current message, starting with a message by the user" : "O histórico de mensagens de bate-papo antes da mensagem atual, começando com uma mensagem do usuário", "Response message" : "Mensagem de resposta", "The generated response as part of the conversation" : "A resposta gerada como parte da conversa", + "Chat with tools" : "Conversar com ferramentas", + "Chat with the language model with tool calling support." : "Converse com o modelo de linguagem com suporte a tool calling (\"chamadas a ferramentas\").", + "Tool message" : "Mensagem da ferramenta", + "The result of tool calls in the last interaction" : "O resultado das chamadas de ferramentas na última interação", + "Available tools" : "Ferramentas disponíveis", + "The available tools in JSON format" : "As ferramentas disponíveis em formato JSON", + "The response from the chat model" : "A resposta do modelo de bate-papo", + "Tool calls" : "Chamadas de ferramentas", + "Tools call instructions from the model in JSON format" : "Instruções de chamada de ferramentas do modelo no formato JSON", "Formalize text" : "Formalizar texto", "Takes a text and makes it sound more formal" : "Pega um texto e faz com que ele soe mais formal", "Write a text that you want the assistant to formalize" : "Escreva um texto que você deseja que o assistente formalize", @@ -355,7 +402,12 @@ OC.L10N.register( "Original text" : "Texto original", "The original text to generate a headline for" : "O texto original para gerar um título para", "The generated headline" : "O título gerado", + "Proofread" : "Revisar", + "Proofreads a text and lists corrections" : "Revisa um texto e lista as correções", "Text" : "Texto", + "The text to proofread" : "O texto a ser revisado", + "Corrections" : "Correções", + "The corrections that should be made in your text" : "As correções que devem ser feitas em seu texto", "Reformulate text" : "Reformular texto", "Takes a text and reformulates it" : "Pega um texto e o reformula", "Write a text that you want the assistant to reformulate" : "Escrever um texto que você deseja que o assistente reformule", diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json index c8d14ba3cfe..1d0a4d2e40e 100644 --- a/lib/l10n/pt_BR.json +++ b/lib/l10n/pt_BR.json @@ -36,6 +36,7 @@ "Server version %s or higher is required." : "É requerido um servidor da versão %s ou superior.", "Server version %s or lower is required." : "É requerido um servidor da versão %s ou abaixo.", "Logged in account must be an admin, a sub admin or gotten special right to access this setting" : "A conta conectada deve ser um administrador, um subadministrador ou ter direito especial para acessar esta configuração", + "Your current IP address doesn't allow you to perform admin actions" : "Seu endereço IP atual não permite que você execute ações administrativas", "Logged in account must be an admin or sub admin" : "A conta conectada deve ser de um administrador ou subadministrador", "Logged in account must be an admin" : "A conta logada deve ser de um administrador", "Wiping of device %s has started" : "Limpeza do dispositivo %s iniciou", @@ -56,7 +57,11 @@ "Avatar image is not square" : "A imagem do avatar não é quadrada", "Files" : "Arquivos", "View profile" : "Visualizar perfil", + "same time" : "mesmo tempo", "_%nh_::_%nh_" : ["%nh","%nh","%nh"], + "_%nm_::_%nm_" : ["%nm","%nm","%nm"], + "%s ahead" : "%s à frente", + "%s behind" : "%s atrás", "Local time: %s" : "Hora local: %s", "today" : "hoje", "tomorrow" : "amanhã", @@ -79,6 +84,12 @@ "seconds ago" : "segundos atrás", "Empty file" : "Arquivo vazio", "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "O módulo com a ID: %s não existe. Por favor, habilite-o nas configurações de seu aplicativo ou contacte o administrador.", + "No file conversion providers available" : "Não há provedores de conversão de arquivos disponíveis", + "File is too large to convert" : "O arquivo é muito grande para converter", + "Destination does not match conversion extension" : "O destino não corresponde à extensão de conversão", + "Could not convert file" : "Não foi possível converter o arquivo", + "Destination does not exist" : "Destino não existe", + "Destination is not creatable" : "Destino não pode ser criado", "Dot files are not allowed" : "Arquivos Dot não são permitidos", "\"%1$s\" is a forbidden file or folder name." : "\"%1$s\" é um nome de arquivo ou pasta proibido.", "\"%1$s\" is a forbidden prefix for file or folder names." : "\"%1$s\" é um prefixo proibido para nomes de arquivos ou pastas.", @@ -90,6 +101,13 @@ "Invalid path" : "Diretório inválido", "Failed to create file from template" : "Falha ao criar arquivo do modelo ", "Templates" : "Modelos ", + "Storage %s cannot be moved" : "O armazenamento %s não pode ser movido", + "Moving a share (%s) into a shared folder is not allowed" : "Não é permitido mover um compartilhamento (%s) para uma pasta compartilhada", + "Moving a storage (%s) into a shared folder is not allowed" : "Não é permitido mover um armazenamento (%s) para uma pasta compartilhada", + "Moving a share (%s) into another share (%s) is not allowed" : "Não é permitido mover um compartilhamento (%s) para outro compartilhamento (%s)", + "Moving a share (%s) into another storage (%s) is not allowed" : "Não é permitido mover um compartilhamento (%s) para outro armazenamento (%s)", + "Moving a storage (%s) into a share (%s) is not allowed" : "Não é permitido mover um armazenamento (%s) para compartilhamento (%s)", + "Moving a storage (%s) into another storage (%s) is not allowed" : "Não é permitido mover um armazenamento (%s) para outro armazenamento (%s)", "Path contains invalid segments" : "O caminho contém segmentos inválidos", "Filename is a reserved word" : "Nome do arquivo é uma palavra reservada", "Filename contains at least one invalid character" : "O nome do arquivo contém pelo menos um caractere inválido ", @@ -136,6 +154,7 @@ "Oracle connection could not be established" : "Conexão Oracle não pôde ser estabelecida", "Oracle Login and/or password not valid" : "Login e/ou senha Oracle inválidos", "PostgreSQL Login and/or password not valid" : "Login e/ou senha do PostgreSQL inválidos", + "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk!" : "O Mac OS X não é compatível e %s não funcionará corretamente nessa plataforma. Use-o por sua própria conta e risco!", "For the best results, please consider using a GNU/Linux server instead." : "Para obter melhores resultados, por favor considere o uso de um servidor GNU/Linux em seu lugar.", "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Aparentemente a instância %s está rodando em um ambiente PHP de 32 bits e o open_basedir foi configurado no php.ini. Isto pode gerar problemas com arquivos maiores que 4GB e é altamente não recomendável.", "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Por favor, remova a configuração de open_basedir de seu php.ini ou mude o PHP para 64bit.", @@ -165,6 +184,7 @@ "You cannot share your root folder" : "Você não pode compartilhar sua pasta raiz", "You are not allowed to share %s" : "Você não tem permissão para compartilhar %s", "Valid permissions are required for sharing" : "Permissões válidas são necessárias para compartilhamento", + "File shares cannot have create or delete permissions" : "Os compartilhamentos de arquivos não podem ter permissões de criação ou exclusão", "Cannot increase permissions of %s" : "Não foi possível aumentar as permissões de %s", "Shares need at least read permissions" : "Compartilhamentos precisam pelo menos permissões de leitura", "Files cannot be shared with delete permissions" : "Arquivos não podem ser compartilhados com permissões de exclusão", @@ -307,8 +327,20 @@ "The audio to transcribe" : "O áudio a ser transcrito", "Transcription" : "Transcrição", "The transcribed text" : "O texto transcrito", + "ContextAgent" : "ContextAgent", + "Chat with an agent" : "Conversar com um agente", "Chat message" : "Mensagem de bate-papo", + "A chat message to send to the agent." : "Uma mensagem de bate-papo a ser enviada ao agente", "Confirmation" : "Confirmação", + "Whether to confirm previously requested actions: 0 for denial and 1 for confirmation." : "Se deve confirmar as ações solicitadas anteriormente: 0 para negação e 1 para confirmação.", + "Conversation token" : "Token de conversação", + "A token representing the conversation." : "Um token que representa a conversa.", + "Generated response" : "Gerar reposta", + "The response from the chat model." : "A resposta do modelo de bate-papo.", + "The new conversation token" : "O novo token de conversa", + "Send this along with the next interaction." : "Envie isso junto com a próxima interação.", + "Requested actions by the agent" : "Ações solicitadas pelo agente", + "Actions that the agent would like to carry out in JSON format." : "Ações que o agente gostaria de realizar no formato JSON.", "Context write" : "Gravação de contexto", "Writes text in a given style based on the provided source material." : "Escreve texto em um determinado estilo com base no material de origem fornecido.", "Writing style" : "Estilo de escrita", @@ -335,6 +367,12 @@ "Describe a task that you want the assistant to do or ask a question" : "Descreva uma tarefa que você deseja que o assistente execute ou faça uma pergunta", "Generated reply" : "Resposta gerada", "The generated text from the assistant" : "O texto gerado do assistente", + "Change Tone" : "Mudar o tom", + "Change the tone of a piece of text." : "Alterar o tom de um texto.", + "Write a text that you want the assistant to rewrite in another tone." : "Escreva um texto que você deseja que o assistente reescreva em outro tom.", + "Desired tone" : "Tom desejado", + "In which tone should your text be rewritten?" : "Em qual tom seu texto deve ser reescrito?", + "The rewritten text in the desired tone, written by the assistant:" : "O texto reescrito no tom desejado, escrito pelo assistente:", "Chat" : "Conversa", "Chat with the assistant" : "Converse com o assistente", "System prompt" : "Prompt do sistema", @@ -343,6 +381,15 @@ "The history of chat messages before the current message, starting with a message by the user" : "O histórico de mensagens de bate-papo antes da mensagem atual, começando com uma mensagem do usuário", "Response message" : "Mensagem de resposta", "The generated response as part of the conversation" : "A resposta gerada como parte da conversa", + "Chat with tools" : "Conversar com ferramentas", + "Chat with the language model with tool calling support." : "Converse com o modelo de linguagem com suporte a tool calling (\"chamadas a ferramentas\").", + "Tool message" : "Mensagem da ferramenta", + "The result of tool calls in the last interaction" : "O resultado das chamadas de ferramentas na última interação", + "Available tools" : "Ferramentas disponíveis", + "The available tools in JSON format" : "As ferramentas disponíveis em formato JSON", + "The response from the chat model" : "A resposta do modelo de bate-papo", + "Tool calls" : "Chamadas de ferramentas", + "Tools call instructions from the model in JSON format" : "Instruções de chamada de ferramentas do modelo no formato JSON", "Formalize text" : "Formalizar texto", "Takes a text and makes it sound more formal" : "Pega um texto e faz com que ele soe mais formal", "Write a text that you want the assistant to formalize" : "Escreva um texto que você deseja que o assistente formalize", @@ -353,7 +400,12 @@ "Original text" : "Texto original", "The original text to generate a headline for" : "O texto original para gerar um título para", "The generated headline" : "O título gerado", + "Proofread" : "Revisar", + "Proofreads a text and lists corrections" : "Revisa um texto e lista as correções", "Text" : "Texto", + "The text to proofread" : "O texto a ser revisado", + "Corrections" : "Correções", + "The corrections that should be made in your text" : "As correções que devem ser feitas em seu texto", "Reformulate text" : "Reformular texto", "Takes a text and reformulates it" : "Pega um texto e o reformula", "Write a text that you want the assistant to reformulate" : "Escrever um texto que você deseja que o assistente reformule", diff --git a/lib/l10n/sk.js b/lib/l10n/sk.js index ddd31dde93a..4415a806550 100644 --- a/lib/l10n/sk.js +++ b/lib/l10n/sk.js @@ -38,6 +38,7 @@ OC.L10N.register( "Server version %s or higher is required." : "Je vyžadovaná verzia servera %s alebo vyššia.", "Server version %s or lower is required." : "Je vyžadovaná verzia servera %s alebo nižšia.", "Logged in account must be an admin, a sub admin or gotten special right to access this setting" : "Prihlásený účet musí byť správcom, podadministrátorom alebo musí mať špeciálne právo na prístup k tomuto nastaveniu.", + "Your current IP address doesn't allow you to perform admin actions" : "Vaša aktuálna adresa IP vám neumožňuje vykonávať akcie správcu", "Logged in account must be an admin or sub admin" : "Prihlásený účet musí byť správcom alebo sub správcom.", "Logged in account must be an admin" : "Prihlásený účet musí byť správcom", "Wiping of device %s has started" : "Začalo sa mazanie zariadenia %s", @@ -155,6 +156,7 @@ OC.L10N.register( "Oracle connection could not be established" : "Nie je možné pripojiť sa k Oracle", "Oracle Login and/or password not valid" : "Prihlasovacie meno a/alebo heslo pre Oracle databázu je neplatné", "PostgreSQL Login and/or password not valid" : "Prihlasovacie meno a/alebo heslo pre PostgreSQL databázu je neplatné", + "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk!" : "Mac OS X nie je podporovaný a %s nebude správne fungovať na tejto platforme. Použitie na vlastné riziko!", "For the best results, please consider using a GNU/Linux server instead." : "Pre dosiahnutie najlepších výsledkov, prosím zvážte použitie GNU/Linux servera.", "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Zdá sa, že táto inštancia %s beží v 32-bitovom prostredí PHP a v php.ini bola nastavená voľba open_basedir. To bude zdrojom problémov so súbormi väčšími ako 4GB a dôrazne sa neodporúča.", "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Prosím, odstráňte nastavenie open_basedir vo vašom php.ini alebo prejdite na 64-bit PHP.", diff --git a/lib/l10n/sk.json b/lib/l10n/sk.json index 626188a2538..057936c2a89 100644 --- a/lib/l10n/sk.json +++ b/lib/l10n/sk.json @@ -36,6 +36,7 @@ "Server version %s or higher is required." : "Je vyžadovaná verzia servera %s alebo vyššia.", "Server version %s or lower is required." : "Je vyžadovaná verzia servera %s alebo nižšia.", "Logged in account must be an admin, a sub admin or gotten special right to access this setting" : "Prihlásený účet musí byť správcom, podadministrátorom alebo musí mať špeciálne právo na prístup k tomuto nastaveniu.", + "Your current IP address doesn't allow you to perform admin actions" : "Vaša aktuálna adresa IP vám neumožňuje vykonávať akcie správcu", "Logged in account must be an admin or sub admin" : "Prihlásený účet musí byť správcom alebo sub správcom.", "Logged in account must be an admin" : "Prihlásený účet musí byť správcom", "Wiping of device %s has started" : "Začalo sa mazanie zariadenia %s", @@ -153,6 +154,7 @@ "Oracle connection could not be established" : "Nie je možné pripojiť sa k Oracle", "Oracle Login and/or password not valid" : "Prihlasovacie meno a/alebo heslo pre Oracle databázu je neplatné", "PostgreSQL Login and/or password not valid" : "Prihlasovacie meno a/alebo heslo pre PostgreSQL databázu je neplatné", + "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk!" : "Mac OS X nie je podporovaný a %s nebude správne fungovať na tejto platforme. Použitie na vlastné riziko!", "For the best results, please consider using a GNU/Linux server instead." : "Pre dosiahnutie najlepších výsledkov, prosím zvážte použitie GNU/Linux servera.", "It seems that this %s instance is running on a 32-bit PHP environment and the open_basedir has been configured in php.ini. This will lead to problems with files over 4 GB and is highly discouraged." : "Zdá sa, že táto inštancia %s beží v 32-bitovom prostredí PHP a v php.ini bola nastavená voľba open_basedir. To bude zdrojom problémov so súbormi väčšími ako 4GB a dôrazne sa neodporúča.", "Please remove the open_basedir setting within your php.ini or switch to 64-bit PHP." : "Prosím, odstráňte nastavenie open_basedir vo vašom php.ini alebo prejdite na 64-bit PHP.", diff --git a/lib/private/AppFramework/Middleware/FlowV2EphemeralSessionsMiddleware.php b/lib/private/AppFramework/Middleware/FlowV2EphemeralSessionsMiddleware.php index d5c73b1f598..c30855a0e98 100644 --- a/lib/private/AppFramework/Middleware/FlowV2EphemeralSessionsMiddleware.php +++ b/lib/private/AppFramework/Middleware/FlowV2EphemeralSessionsMiddleware.php @@ -9,6 +9,7 @@ namespace OC\AppFramework\Middleware; use OC\AppFramework\Utility\ControllerMethodReflector; use OC\Core\Controller\ClientFlowLoginV2Controller; +use OC\Core\Controller\TwoFactorChallengeController; use OCP\AppFramework\Controller; use OCP\AppFramework\Http\Attribute\PublicPage; use OCP\AppFramework\Middleware; @@ -38,6 +39,10 @@ class FlowV2EphemeralSessionsMiddleware extends Middleware { return; } + if ($controller instanceof TwoFactorChallengeController) { + return; + } + $reflectionMethod = new ReflectionMethod($controller, $methodName); if (!empty($reflectionMethod->getAttributes(PublicPage::class))) { return; diff --git a/lib/private/Files/FilenameValidator.php b/lib/private/Files/FilenameValidator.php index fde45068df7..b1979789ec8 100644 --- a/lib/private/Files/FilenameValidator.php +++ b/lib/private/Files/FilenameValidator.php @@ -127,9 +127,6 @@ class FilenameValidator implements IFilenameValidator { if (empty($this->forbiddenCharacters)) { // Get always forbidden characters $forbiddenCharacters = str_split(\OCP\Constants::FILENAME_INVALID_CHARS); - if ($forbiddenCharacters === false) { - $forbiddenCharacters = []; - } // Get admin defined invalid characters $additionalChars = $this->config->getSystemValue('forbidden_filename_characters', []); @@ -231,7 +228,8 @@ class FilenameValidator implements IFilenameValidator { return false; } - protected function checkForbiddenName($filename): void { + protected function checkForbiddenName(string $filename): void { + $filename = mb_strtolower($filename); if ($this->isForbidden($filename)) { throw new ReservedWordException($this->l10n->t('"%1$s" is a forbidden file or folder name.', [$filename])); } @@ -295,6 +293,6 @@ class FilenameValidator implements IFilenameValidator { $values = $fallback; } - return array_map('mb_strtolower', $values); + return array_map(mb_strtolower(...), $values); } }; diff --git a/lib/private/Files/Type/Detection.php b/lib/private/Files/Type/Detection.php index 3676a9b736c..48907b3473f 100644 --- a/lib/private/Files/Type/Detection.php +++ b/lib/private/Files/Type/Detection.php @@ -228,18 +228,18 @@ class Detection implements IMimeTypeDetector { // lets see if it does have mime support $path = escapeshellarg($path); $fp = popen("test -f $path && file -b --mime-type $path", 'r'); - $mimeType = fgets($fp); - pclose($fp); - - if ($mimeType !== false) { - //trim the newline - $mimeType = trim($mimeType); - $mimeType = $this->getSecureMimeType($mimeType); - if ($mimeType !== 'application/octet-stream') { + if ($fp !== false) { + $mimeType = fgets($fp); + pclose($fp); + if ($mimeType !== false) { + //trim the newline + $mimeType = trim($mimeType); + $mimeType = $this->getSecureMimeType($mimeType); return $mimeType; } } } + return 'application/octet-stream'; } |