diff options
91 files changed, 1199 insertions, 434 deletions
diff --git a/apps/dav/l10n/pt_BR.js b/apps/dav/l10n/pt_BR.js index 731bc73c782..bafe878a8d7 100644 --- a/apps/dav/l10n/pt_BR.js +++ b/apps/dav/l10n/pt_BR.js @@ -4,7 +4,7 @@ OC.L10N.register( "Calendar" : "Calendário", "Todos" : "Tarefas", "{actor} created calendar {calendar}" : "{actor} criou o calendário {calendar}", - "You created calendar {calendar}" : "Voce criou o calendário {calendar}", + "You created calendar {calendar}" : "Você criou o calendário {calendar}", "{actor} deleted calendar {calendar}" : "{actor} excluiu o calendário {calendar}", "You deleted calendar {calendar}" : "Você excluiu o calendário {calendar}", "{actor} updated calendar {calendar}" : "{actor} atualizou o calendário {calendar}", diff --git a/apps/dav/l10n/pt_BR.json b/apps/dav/l10n/pt_BR.json index 75efd572620..d434ef77752 100644 --- a/apps/dav/l10n/pt_BR.json +++ b/apps/dav/l10n/pt_BR.json @@ -2,7 +2,7 @@ "Calendar" : "Calendário", "Todos" : "Tarefas", "{actor} created calendar {calendar}" : "{actor} criou o calendário {calendar}", - "You created calendar {calendar}" : "Voce criou o calendário {calendar}", + "You created calendar {calendar}" : "Você criou o calendário {calendar}", "{actor} deleted calendar {calendar}" : "{actor} excluiu o calendário {calendar}", "You deleted calendar {calendar}" : "Você excluiu o calendário {calendar}", "{actor} updated calendar {calendar}" : "{actor} atualizou o calendário {calendar}", diff --git a/apps/encryption/l10n/pt_BR.js b/apps/encryption/l10n/pt_BR.js index e0954a6bc1f..4d768482881 100644 --- a/apps/encryption/l10n/pt_BR.js +++ b/apps/encryption/l10n/pt_BR.js @@ -29,11 +29,11 @@ OC.L10N.register( "Missing Signature" : "Assinatura faltante", "one-time password for server-side-encryption" : "senha de uso único para criptografia do lado do servidor", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Este arquivo não pode ser descriptografado pois provavelmente é um arquivo compartilhado. Por favor, peça ao dono do arquivo para recompartilhá-lo com você.", - "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível ler este arquivo pois provavelmente é um arquivo compartilhado. Por favor, peça ao dono do arquivo para recompartilhá-lo com você.", - "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Olá,\n\nO administrador habilitou a criptografia do lado do servidor. Os seus arquivos foram criptografados usando a senha '%s'.\n\nPor favor faça o login na interface da Web, vá para a seção 'módulo de criptografia básico' das suas definições pessoais e atualize sua senha de criptografia, inserindo esta senha no campo 'senha antiga de log-in' e sua senha de login atual.\n\n", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não foi possível ler este arquivo pois provavelmente é um arquivo compartilhado. Por favor, peça ao dono do arquivo para recompartilhá-lo com você.", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Olá,\n\nO administrador habilitou a criptografia do lado do servidor. Os seus arquivos foram criptografados usando a senha '%s'.\n\nPor favor faça o login na interface web, vá para a seção 'módulo de criptografia básico' das suas definições pessoais e atualize sua senha de criptografia, inserindo esta senha no campo 'senha antiga de log-in' e sua senha de login atual.\n\n", "The share will expire on %s." : "O compartilhamento irá expirar em %s.", "Cheers!" : "Saudações!", - "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Olá,<br><br>o administrador habilitou a criptografia do lado do servidor. Os seus arquivos foram criptografados usando a senha <strong>%s</strong>.<br><br>Por favor, faça o login na interface da Web, vá para a seção 'módulo de criptografia básico' das suas definições pessoais e atualize sua senha de criptografia, inserindo esta senha no campo 'senha antiga de log-in' e sua senha de login atual.<br><br>", + "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Olá,<br><br>o administrador habilitou a criptografia do lado do servidor. Os seus arquivos foram criptografados usando a senha <strong>%s</strong>.<br><br>Por favor, faça o login na interface web, vá para a seção 'módulo de criptografia básico' das suas definições pessoais e atualize sua senha de criptografia, inserindo esta senha no campo 'senha antiga de log-in' e sua senha de login atual.<br><br>", "Default encryption module" : "Módulo de criptografia padrão", "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "O aplicativo de criptografia está habilitado, mas suas chaves não foram inicializadas. Por favor, saia e entre novamente.", "Encrypt the home storage" : "Criptografar a pasta de armazenamento home", diff --git a/apps/encryption/l10n/pt_BR.json b/apps/encryption/l10n/pt_BR.json index 85982d7769d..9cebb7d437e 100644 --- a/apps/encryption/l10n/pt_BR.json +++ b/apps/encryption/l10n/pt_BR.json @@ -27,11 +27,11 @@ "Missing Signature" : "Assinatura faltante", "one-time password for server-side-encryption" : "senha de uso único para criptografia do lado do servidor", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Este arquivo não pode ser descriptografado pois provavelmente é um arquivo compartilhado. Por favor, peça ao dono do arquivo para recompartilhá-lo com você.", - "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível ler este arquivo pois provavelmente é um arquivo compartilhado. Por favor, peça ao dono do arquivo para recompartilhá-lo com você.", - "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Olá,\n\nO administrador habilitou a criptografia do lado do servidor. Os seus arquivos foram criptografados usando a senha '%s'.\n\nPor favor faça o login na interface da Web, vá para a seção 'módulo de criptografia básico' das suas definições pessoais e atualize sua senha de criptografia, inserindo esta senha no campo 'senha antiga de log-in' e sua senha de login atual.\n\n", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não foi possível ler este arquivo pois provavelmente é um arquivo compartilhado. Por favor, peça ao dono do arquivo para recompartilhá-lo com você.", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Olá,\n\nO administrador habilitou a criptografia do lado do servidor. Os seus arquivos foram criptografados usando a senha '%s'.\n\nPor favor faça o login na interface web, vá para a seção 'módulo de criptografia básico' das suas definições pessoais e atualize sua senha de criptografia, inserindo esta senha no campo 'senha antiga de log-in' e sua senha de login atual.\n\n", "The share will expire on %s." : "O compartilhamento irá expirar em %s.", "Cheers!" : "Saudações!", - "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Olá,<br><br>o administrador habilitou a criptografia do lado do servidor. Os seus arquivos foram criptografados usando a senha <strong>%s</strong>.<br><br>Por favor, faça o login na interface da Web, vá para a seção 'módulo de criptografia básico' das suas definições pessoais e atualize sua senha de criptografia, inserindo esta senha no campo 'senha antiga de log-in' e sua senha de login atual.<br><br>", + "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Olá,<br><br>o administrador habilitou a criptografia do lado do servidor. Os seus arquivos foram criptografados usando a senha <strong>%s</strong>.<br><br>Por favor, faça o login na interface web, vá para a seção 'módulo de criptografia básico' das suas definições pessoais e atualize sua senha de criptografia, inserindo esta senha no campo 'senha antiga de log-in' e sua senha de login atual.<br><br>", "Default encryption module" : "Módulo de criptografia padrão", "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "O aplicativo de criptografia está habilitado, mas suas chaves não foram inicializadas. Por favor, saia e entre novamente.", "Encrypt the home storage" : "Criptografar a pasta de armazenamento home", diff --git a/apps/federatedfilesharing/l10n/nb.js b/apps/federatedfilesharing/l10n/nb.js index f9b8907b49b..20edbf22fb3 100644 --- a/apps/federatedfilesharing/l10n/nb.js +++ b/apps/federatedfilesharing/l10n/nb.js @@ -39,12 +39,15 @@ OC.L10N.register( "Share with me through my #Nextcloud Federated Cloud ID" : "Del med meg gjennom min #Nextcloud-ID for sammenknyttet sky", "Federated Cloud Sharing" : "Sammenknyttet sky-deling", "Open documentation" : "Åpne dokumentasjonen", + "Adjust how people can share between servers." : "Juster hvordan folk kan dele mellom tjenere.", "Allow users on this server to send shares to other servers" : "Tillat at brukere på denne tjeneren sender delinger til andre tjenere", "Allow users on this server to receive shares from other servers" : "Tillat at brukere på denne tjeneren mottar delinger fra andre tjenere", "Search global and public address book for users and let local users publish their data" : "Søk i verdensomspennende og offentlig adressebok for brukere og la lokale brukere offentliggjøre deres data", "Allow users to publish their data to a global and public address book" : "Tillat brukere å offentliggjøre deres data til en verdensomspennende og offentlig adressebok", "Federated Cloud" : "Sammenknyttet sky", + "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Du kan dele med alle som bruker Nextcloud, ownCloud eller Pydio! Bare putt deres federerte sky-ID i delingsdialogvinduet. Det ser ut som person.sky.eksempel.no", "Your Federated Cloud ID:" : "Din ID for sammenknyttet sky:", + "Share it so your friends can share files with you:" : "Del den slik at venner kan dele filer med deg:", "Add to your website" : "Legg på nettsiden din", "Share with me via Nextcloud" : "Del med meg via Nextcloud", "HTML Code:" : "HTML-kode:", diff --git a/apps/federatedfilesharing/l10n/nb.json b/apps/federatedfilesharing/l10n/nb.json index 4da7e25bfe7..711905c7d19 100644 --- a/apps/federatedfilesharing/l10n/nb.json +++ b/apps/federatedfilesharing/l10n/nb.json @@ -37,12 +37,15 @@ "Share with me through my #Nextcloud Federated Cloud ID" : "Del med meg gjennom min #Nextcloud-ID for sammenknyttet sky", "Federated Cloud Sharing" : "Sammenknyttet sky-deling", "Open documentation" : "Åpne dokumentasjonen", + "Adjust how people can share between servers." : "Juster hvordan folk kan dele mellom tjenere.", "Allow users on this server to send shares to other servers" : "Tillat at brukere på denne tjeneren sender delinger til andre tjenere", "Allow users on this server to receive shares from other servers" : "Tillat at brukere på denne tjeneren mottar delinger fra andre tjenere", "Search global and public address book for users and let local users publish their data" : "Søk i verdensomspennende og offentlig adressebok for brukere og la lokale brukere offentliggjøre deres data", "Allow users to publish their data to a global and public address book" : "Tillat brukere å offentliggjøre deres data til en verdensomspennende og offentlig adressebok", "Federated Cloud" : "Sammenknyttet sky", + "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Du kan dele med alle som bruker Nextcloud, ownCloud eller Pydio! Bare putt deres federerte sky-ID i delingsdialogvinduet. Det ser ut som person.sky.eksempel.no", "Your Federated Cloud ID:" : "Din ID for sammenknyttet sky:", + "Share it so your friends can share files with you:" : "Del den slik at venner kan dele filer med deg:", "Add to your website" : "Legg på nettsiden din", "Share with me via Nextcloud" : "Del med meg via Nextcloud", "HTML Code:" : "HTML-kode:", diff --git a/apps/federatedfilesharing/l10n/pt_BR.js b/apps/federatedfilesharing/l10n/pt_BR.js index 13d1b1641e3..eb83f18e8a8 100644 --- a/apps/federatedfilesharing/l10n/pt_BR.js +++ b/apps/federatedfilesharing/l10n/pt_BR.js @@ -29,10 +29,10 @@ OC.L10N.register( "File is already shared with %s" : "O arquivo já é compartilhado com %s", "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Compartilhamento %s falhou, não foi possível encontrar %s. Talvez o servidor esteja inacessível ou esteja sendo utilizado um certificado de auto-assinatura", "Could not find share" : "Não foi possível encontrar o compartilhamento", - "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Voce recebeu \"%3$s\" como um compartilhamento remoto de %1$s ( em nome de %2$s )", - "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Voce recebeu {share} como um compartilhamento remoto do {user} (em nome de {behalf})", - "You received \"%3$s\" as a remote share from %1$s" : "Voce recebeu \"%3$s\" como um compartilhamento remoto de %1$s", - "You received {share} as a remote share from {user}" : "Voce recebeu {share} como um compartilhamento remoto de {user}", + "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Você recebeu \"%3$s\" como um compartilhamento remoto de %1$s ( em nome de %2$s )", + "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Você recebeu {share} como um compartilhamento remoto do {user} (em nome de {behalf})", + "You received \"%3$s\" as a remote share from %1$s" : "Você recebeu \"%3$s\" como um compartilhamento remoto de %1$s", + "You received {share} as a remote share from {user}" : "Você recebeu {share} como um compartilhamento remoto de {user}", "Accept" : "Aceitar", "Decline" : "Rejeitar", "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartilhe comigo através do meu ID de Nuvem Federada #Nexcloud, veja %s", diff --git a/apps/federatedfilesharing/l10n/pt_BR.json b/apps/federatedfilesharing/l10n/pt_BR.json index 108c8f4fb25..f9e43729086 100644 --- a/apps/federatedfilesharing/l10n/pt_BR.json +++ b/apps/federatedfilesharing/l10n/pt_BR.json @@ -27,10 +27,10 @@ "File is already shared with %s" : "O arquivo já é compartilhado com %s", "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Compartilhamento %s falhou, não foi possível encontrar %s. Talvez o servidor esteja inacessível ou esteja sendo utilizado um certificado de auto-assinatura", "Could not find share" : "Não foi possível encontrar o compartilhamento", - "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Voce recebeu \"%3$s\" como um compartilhamento remoto de %1$s ( em nome de %2$s )", - "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Voce recebeu {share} como um compartilhamento remoto do {user} (em nome de {behalf})", - "You received \"%3$s\" as a remote share from %1$s" : "Voce recebeu \"%3$s\" como um compartilhamento remoto de %1$s", - "You received {share} as a remote share from {user}" : "Voce recebeu {share} como um compartilhamento remoto de {user}", + "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Você recebeu \"%3$s\" como um compartilhamento remoto de %1$s ( em nome de %2$s )", + "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Você recebeu {share} como um compartilhamento remoto do {user} (em nome de {behalf})", + "You received \"%3$s\" as a remote share from %1$s" : "Você recebeu \"%3$s\" como um compartilhamento remoto de %1$s", + "You received {share} as a remote share from {user}" : "Você recebeu {share} como um compartilhamento remoto de {user}", "Accept" : "Aceitar", "Decline" : "Rejeitar", "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartilhe comigo através do meu ID de Nuvem Federada #Nexcloud, veja %s", diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js index 4a5a57eccd1..aea171dbf8b 100644 --- a/apps/files/l10n/it.js +++ b/apps/files/l10n/it.js @@ -69,6 +69,7 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n byte","%n byte"], "Favorited" : "Preferiti", "Favorite" : "Preferito", + "Copy direct link (only works for users who have access to this file/folder)" : "Copia link diretto (funziona solo per utenti che hanno accesso a questo file / cartella)", "Folder" : "Cartella", "New folder" : "Nuova cartella", "Upload" : "Carica", @@ -120,6 +121,7 @@ OC.L10N.register( "Select all" : "Seleziona tutto", "Upload too large" : "Caricamento troppo grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "I file che stai provando a caricare superano la dimensione massima consentita su questo server.", + "No favorites yet" : "Nessun preferito ancora", "Files and folders you mark as favorite will show up here" : "I file e le cartelle che marchi come preferiti saranno mostrati qui", "Shared with you" : "Condivisi con te", "Shared with others" : "Condivisi con altri", diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json index 1ee5b76efdf..b328763425d 100644 --- a/apps/files/l10n/it.json +++ b/apps/files/l10n/it.json @@ -67,6 +67,7 @@ "_%n byte_::_%n bytes_" : ["%n byte","%n byte"], "Favorited" : "Preferiti", "Favorite" : "Preferito", + "Copy direct link (only works for users who have access to this file/folder)" : "Copia link diretto (funziona solo per utenti che hanno accesso a questo file / cartella)", "Folder" : "Cartella", "New folder" : "Nuova cartella", "Upload" : "Carica", @@ -118,6 +119,7 @@ "Select all" : "Seleziona tutto", "Upload too large" : "Caricamento troppo grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "I file che stai provando a caricare superano la dimensione massima consentita su questo server.", + "No favorites yet" : "Nessun preferito ancora", "Files and folders you mark as favorite will show up here" : "I file e le cartelle che marchi come preferiti saranno mostrati qui", "Shared with you" : "Condivisi con te", "Shared with others" : "Condivisi con altri", diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index 0008e239b4f..9efb56cec1e 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -12,7 +12,7 @@ OC.L10N.register( "Favorites" : "Favoritos", "Could not create folder \"{dir}\"" : "Não foi possível criar a pasta \"{dir}\"", "Upload cancelled." : "Envio cancelado.", - "Unable to upload {filename} as it is a directory or has 0 bytes" : "Não é possível fazer o envio de {filename}, pois é um diretório ou tem 0 bytes", + "Unable to upload {filename} as it is a directory or has 0 bytes" : "Não foi possível fazer o envio de {filename}, pois é um diretório ou tem 0 bytes", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Não há espaço suficiente, você está enviando {size1} mas resta apenas {size2}", "Target folder \"{dir}\" does not exist any more" : "Pasta de destino \"{dir}\" não existe mais", "Not enough free space" : "Espaço livre insuficiente", diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index 0a288976a10..f185237235c 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -10,7 +10,7 @@ "Favorites" : "Favoritos", "Could not create folder \"{dir}\"" : "Não foi possível criar a pasta \"{dir}\"", "Upload cancelled." : "Envio cancelado.", - "Unable to upload {filename} as it is a directory or has 0 bytes" : "Não é possível fazer o envio de {filename}, pois é um diretório ou tem 0 bytes", + "Unable to upload {filename} as it is a directory or has 0 bytes" : "Não foi possível fazer o envio de {filename}, pois é um diretório ou tem 0 bytes", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Não há espaço suficiente, você está enviando {size1} mas resta apenas {size2}", "Target folder \"{dir}\" does not exist any more" : "Pasta de destino \"{dir}\" não existe mais", "Not enough free space" : "Espaço livre insuficiente", diff --git a/apps/files_external/js/app.js b/apps/files_external/js/app.js index d3ce2010ecd..859a820f14c 100644 --- a/apps/files_external/js/app.js +++ b/apps/files_external/js/app.js @@ -35,7 +35,7 @@ OCA.External.App = { ); this._extendFileList(this.fileList); - this.fileList.appName = t('files_external', 'External storage'); + this.fileList.appName = t('files_external', 'External storages'); return this.fileList; }, @@ -111,4 +111,3 @@ $(document).ready(function() { } /* End Status Manager */ }); - diff --git a/apps/files_external/js/mountsfilelist.js b/apps/files_external/js/mountsfilelist.js index 35aef751fef..3beee6f73b2 100644 --- a/apps/files_external/js/mountsfilelist.js +++ b/apps/files_external/js/mountsfilelist.js @@ -28,7 +28,7 @@ FileList.prototype = _.extend({}, OCA.Files.FileList.prototype, /** @lends OCA.External.FileList.prototype */ { - appName: 'External storage', + appName: 'External storages', /** * @private diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js index 3f3cc25b6c2..34e488e865d 100644 --- a/apps/files_external/l10n/pt_BR.js +++ b/apps/files_external/l10n/pt_BR.js @@ -40,13 +40,13 @@ OC.L10N.register( "Credentials saving failed" : "A gravação das credenciais falhou", "Credentials required" : "Credenciais são requeridas", "Storage with ID \"%d\" not found" : "A armazenagem com a ID \"%d\" não foi encontrada", - "Invalid backend or authentication mechanism class" : "Backend ou classe de mecanismo de autenticação inválido", + "Invalid backend or authentication mechanism class" : "Plataforma de serviço ou classe de mecanismo de autenticação inválido", "Invalid mount point" : "Ponto de montagem inválido", "Objectstore forbidden" : "Proibido armazenamento de objetos", - "Invalid storage backend \"%s\"" : "Backend de armazenamento \"%s\" inválido", - "Not permitted to use backend \"%s\"" : "Não é permitido o uso de backend \"%s\"", + "Invalid storage backend \"%s\"" : "Plataforma de serviço de armazenamento \"%s\" inválido", + "Not permitted to use backend \"%s\"" : "Não é permitido o uso da plataforma de serviço \"%s\"", "Not permitted to use authentication mechanism \"%s\"" : "Não é permitido usar o mecanismo de autenticação \"%s\"", - "Unsatisfied backend parameters" : "Parâmetros de backend não atendidos", + "Unsatisfied backend parameters" : "Parâmetros da plataforma de serviço não atendidos", "Unsatisfied authentication mechanism parameters" : "Parâmetros de mecanismos de autenticação não satisfeitos", "Insufficient data: %s" : "Dados insuficientes: %s", "%s" : "%s", @@ -103,9 +103,9 @@ OC.L10N.register( "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", "Service name" : "Nome do serviço", "Request timeout (seconds)" : "Tempo requerido esgotado (segundos)", - "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "O suporte a cURL no PHP não está habilitado ou instalado. A montagem de %s não é possível. Por favor, solicite a instalação ao administrador do sistema.", - "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "O suporte a FTP no PHP não está habilitado ou instalado. A montagem de %s não é possível. Por favor, solicite a instalação ao administrador do sistema.", - "\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" não está instalado. A montagem de %s não é possível. Por favor, solicite a instalação ao administrador do sistema.", + "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "O suporte a cURL no PHP não está habilitado ou instalado. A montagem de %s não foi possível. Por favor, solicite a instalação ao administrador do sistema.", + "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "O suporte a FTP no PHP não está habilitado ou instalado. A montagem de %s não foi possível. Por favor, solicite a instalação ao administrador do sistema.", + "\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" não está instalado. A montagem de %s não foi possível. Por favor, solicite a instalação ao administrador do sistema.", "No external storage configured" : "Nenhum armazendo externo foi configurado", "You can add external storages in the personal settings" : "Você pode adicionar armazenamentos externos nas configurações pessoais", "Name" : "Nome", diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json index 0475feb5d7b..7b8b9f7f14c 100644 --- a/apps/files_external/l10n/pt_BR.json +++ b/apps/files_external/l10n/pt_BR.json @@ -38,13 +38,13 @@ "Credentials saving failed" : "A gravação das credenciais falhou", "Credentials required" : "Credenciais são requeridas", "Storage with ID \"%d\" not found" : "A armazenagem com a ID \"%d\" não foi encontrada", - "Invalid backend or authentication mechanism class" : "Backend ou classe de mecanismo de autenticação inválido", + "Invalid backend or authentication mechanism class" : "Plataforma de serviço ou classe de mecanismo de autenticação inválido", "Invalid mount point" : "Ponto de montagem inválido", "Objectstore forbidden" : "Proibido armazenamento de objetos", - "Invalid storage backend \"%s\"" : "Backend de armazenamento \"%s\" inválido", - "Not permitted to use backend \"%s\"" : "Não é permitido o uso de backend \"%s\"", + "Invalid storage backend \"%s\"" : "Plataforma de serviço de armazenamento \"%s\" inválido", + "Not permitted to use backend \"%s\"" : "Não é permitido o uso da plataforma de serviço \"%s\"", "Not permitted to use authentication mechanism \"%s\"" : "Não é permitido usar o mecanismo de autenticação \"%s\"", - "Unsatisfied backend parameters" : "Parâmetros de backend não atendidos", + "Unsatisfied backend parameters" : "Parâmetros da plataforma de serviço não atendidos", "Unsatisfied authentication mechanism parameters" : "Parâmetros de mecanismos de autenticação não satisfeitos", "Insufficient data: %s" : "Dados insuficientes: %s", "%s" : "%s", @@ -101,9 +101,9 @@ "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", "Service name" : "Nome do serviço", "Request timeout (seconds)" : "Tempo requerido esgotado (segundos)", - "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "O suporte a cURL no PHP não está habilitado ou instalado. A montagem de %s não é possível. Por favor, solicite a instalação ao administrador do sistema.", - "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "O suporte a FTP no PHP não está habilitado ou instalado. A montagem de %s não é possível. Por favor, solicite a instalação ao administrador do sistema.", - "\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" não está instalado. A montagem de %s não é possível. Por favor, solicite a instalação ao administrador do sistema.", + "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "O suporte a cURL no PHP não está habilitado ou instalado. A montagem de %s não foi possível. Por favor, solicite a instalação ao administrador do sistema.", + "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "O suporte a FTP no PHP não está habilitado ou instalado. A montagem de %s não foi possível. Por favor, solicite a instalação ao administrador do sistema.", + "\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" não está instalado. A montagem de %s não foi possível. Por favor, solicite a instalação ao administrador do sistema.", "No external storage configured" : "Nenhum armazendo externo foi configurado", "You can add external storages in the personal settings" : "Você pode adicionar armazenamentos externos nas configurações pessoais", "Name" : "Nome", diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php index bbd79994e39..e463a0d3c37 100644 --- a/apps/files_external/templates/settings.php +++ b/apps/files_external/templates/settings.php @@ -88,7 +88,7 @@ ?> <form data-can-create="<?php echo $canCreateMounts?'true':'false' ?>" id="files_external" class="section" data-encryption-enabled="<?php echo $_['encryptionEnabled']?'true': 'false'; ?>"> - <h2 data-anchor-name="external-storage"><?php p($l->t('External storage')); ?></h2> + <h2 data-anchor-name="external-storage"><?php p($l->t('External storages')); ?></h2> <?php if (isset($_['dependencies']) and ($_['dependencies']<>'') and $canCreateMounts) print_unescaped(''.$_['dependencies'].''); ?> <table id="externalStorage" class="grid" data-admin='<?php print_unescaped(json_encode($_['visibilityType'] === BackendService::VISIBILITY_ADMIN)); ?>'> <thead> diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js index c562b175b25..d81fb64acbb 100644 --- a/apps/files_sharing/l10n/pt_BR.js +++ b/apps/files_sharing/l10n/pt_BR.js @@ -45,7 +45,7 @@ OC.L10N.register( "Public link of {actor} for {file} expired" : "O link público de {actor} para {file} expirou", "{user} accepted the remote share" : "{user} aceitou o compartilhamento remoto", "{user} declined the remote share" : "{user} declinou do compartilhamento remoto", - "You received a new remote share {file} from {user}" : "Voce recebeu um novo compartilhamento remoto {file} de {user}", + "You received a new remote share {file} from {user}" : "Você recebeu um novo compartilhamento remoto {file} de {user}", "{user} accepted the remote share of {file}" : "{user} aceitou o compartilhamento remoto de {file}", "{user} declined the remote share of {file}" : "{user} declinou do compartilhamento remoto de {file}", "{user} unshared {file} from you" : "{user} descompartilhou {file} de você", @@ -56,12 +56,12 @@ OC.L10N.register( "Shared by {actor}" : "Compartilhado por {actor}", "{actor} removed share" : "{actor} compartilhamento removido", "You shared {file} with {user}" : "Você compartilhou {arquivo} com {user}", - "You removed {user} from {file}" : "Voce excluiu {user} de {file}", + "You removed {user} from {file}" : "Você excluiu {user} de {file}", "{actor} shared {file} with {user}" : "{actor} compartilhou {file} com {user}", "{actor} removed {user} from {file}" : "{actor} excluiu {user} de {file}", "{actor} shared {file} with you" : "{actor} compartilhou {file} com você", "{actor} removed you from {file}" : "{actor} excluiu você de {file}", - "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Um arquivo ou pasta compartilhado por email ou por link publico foi <strong>baixado</strong>", + "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Um arquivo ou pasta compartilhado por e-mail ou por link publico foi <strong>baixado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Um arquivo ou pasta foi compartilhado a partir de <strong>outro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Um arquivo ou pasta foi <strong>compartilhado</strong> ", "Wrong share ID, share doesn't exist" : "ID de compartilhamento errado, o compartilhamento não existe", @@ -78,15 +78,15 @@ OC.L10N.register( "Public upload disabled by the administrator" : "O envio público foi desativado pelo administrador", "Public upload is only possible for publicly shared folders" : "O envio público só é possível para pastas compartilhadas publicamente", "Invalid date, date format must be YYYY-MM-DD" : "Data inválida, o formato da data deve ser YYYY-MM-DD", - "Sharing %s failed because the back end does not allow shares from type %s" : "O compartilhando %s falhou porque o backend não permite ações de tipo %s", + "Sharing %s failed because the back end does not allow shares from type %s" : "O compartilhando %s falhou porque o serviço não permite ações de tipo %s", "You cannot share to a Circle if the app is not enabled" : "Você não pode compartilhar para um círculo se o aplicativo não está habilitado", "Please specify a valid circle" : "Por favor especifique um círculo válido", "Unknown share type" : "Tipo de compartilhamento desconhecido", "Not a directory" : "Não é um diretório", "Could not lock path" : "Não foi possível bloquear o caminho", "Wrong or no update parameter given" : "O parâmetro da atualização fornecido está errado ou não existe", - "Can't change permissions for public share links" : "Não é possível alterar as permissões para links de compartilhamento público", - "Cannot increase permissions" : "Não é possível aumentar as permissões", + "Can't change permissions for public share links" : "Não foi possível alterar as permissões para links de compartilhamento público", + "Cannot increase permissions" : "Não foi possível aumentar as permissões", "%s is publicly shared" : "%s está compartilhado publicamente", "Share API is disabled" : "O compartilhamento de API está desabilitado.", "This share is password-protected" : "Este compartilhamento é protegido por senha", diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json index 3d3d0ab784b..5fad4a144f8 100644 --- a/apps/files_sharing/l10n/pt_BR.json +++ b/apps/files_sharing/l10n/pt_BR.json @@ -43,7 +43,7 @@ "Public link of {actor} for {file} expired" : "O link público de {actor} para {file} expirou", "{user} accepted the remote share" : "{user} aceitou o compartilhamento remoto", "{user} declined the remote share" : "{user} declinou do compartilhamento remoto", - "You received a new remote share {file} from {user}" : "Voce recebeu um novo compartilhamento remoto {file} de {user}", + "You received a new remote share {file} from {user}" : "Você recebeu um novo compartilhamento remoto {file} de {user}", "{user} accepted the remote share of {file}" : "{user} aceitou o compartilhamento remoto de {file}", "{user} declined the remote share of {file}" : "{user} declinou do compartilhamento remoto de {file}", "{user} unshared {file} from you" : "{user} descompartilhou {file} de você", @@ -54,12 +54,12 @@ "Shared by {actor}" : "Compartilhado por {actor}", "{actor} removed share" : "{actor} compartilhamento removido", "You shared {file} with {user}" : "Você compartilhou {arquivo} com {user}", - "You removed {user} from {file}" : "Voce excluiu {user} de {file}", + "You removed {user} from {file}" : "Você excluiu {user} de {file}", "{actor} shared {file} with {user}" : "{actor} compartilhou {file} com {user}", "{actor} removed {user} from {file}" : "{actor} excluiu {user} de {file}", "{actor} shared {file} with you" : "{actor} compartilhou {file} com você", "{actor} removed you from {file}" : "{actor} excluiu você de {file}", - "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Um arquivo ou pasta compartilhado por email ou por link publico foi <strong>baixado</strong>", + "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Um arquivo ou pasta compartilhado por e-mail ou por link publico foi <strong>baixado</strong>", "A file or folder was shared from <strong>another server</strong>" : "Um arquivo ou pasta foi compartilhado a partir de <strong>outro servidor</strong>", "A file or folder has been <strong>shared</strong>" : "Um arquivo ou pasta foi <strong>compartilhado</strong> ", "Wrong share ID, share doesn't exist" : "ID de compartilhamento errado, o compartilhamento não existe", @@ -76,15 +76,15 @@ "Public upload disabled by the administrator" : "O envio público foi desativado pelo administrador", "Public upload is only possible for publicly shared folders" : "O envio público só é possível para pastas compartilhadas publicamente", "Invalid date, date format must be YYYY-MM-DD" : "Data inválida, o formato da data deve ser YYYY-MM-DD", - "Sharing %s failed because the back end does not allow shares from type %s" : "O compartilhando %s falhou porque o backend não permite ações de tipo %s", + "Sharing %s failed because the back end does not allow shares from type %s" : "O compartilhando %s falhou porque o serviço não permite ações de tipo %s", "You cannot share to a Circle if the app is not enabled" : "Você não pode compartilhar para um círculo se o aplicativo não está habilitado", "Please specify a valid circle" : "Por favor especifique um círculo válido", "Unknown share type" : "Tipo de compartilhamento desconhecido", "Not a directory" : "Não é um diretório", "Could not lock path" : "Não foi possível bloquear o caminho", "Wrong or no update parameter given" : "O parâmetro da atualização fornecido está errado ou não existe", - "Can't change permissions for public share links" : "Não é possível alterar as permissões para links de compartilhamento público", - "Cannot increase permissions" : "Não é possível aumentar as permissões", + "Can't change permissions for public share links" : "Não foi possível alterar as permissões para links de compartilhamento público", + "Cannot increase permissions" : "Não foi possível aumentar as permissões", "%s is publicly shared" : "%s está compartilhado publicamente", "Share API is disabled" : "O compartilhamento de API está desabilitado.", "This share is password-protected" : "Este compartilhamento é protegido por senha", diff --git a/apps/sharebymail/l10n/el.js b/apps/sharebymail/l10n/el.js index bcd7944b8ff..8d016e7b83b 100644 --- a/apps/sharebymail/l10n/el.js +++ b/apps/sharebymail/l10n/el.js @@ -5,6 +5,7 @@ OC.L10N.register( "Shared with {email}" : "Διαμοιράστηκε με {email}", "Shared with %1$s by %2$s" : "Διαμοιράστηκε με %1$s από %2$s", "Shared with {email} by {actor}" : "Διαμοιράστηκε με {email} από {actor}", + "Password for mail share sent to %1$s" : "Το συνθηματικό για το διαμοιρασμό μέσου ηλ. αλληλογραφίας έχει αποσταλλεί %1$s", "You shared %1$s with %2$s by mail" : "Διαμοιραστήκατε το %1$s με %2$s μέσω mail", "You shared {file} with {email} by mail" : "Διαμοιραστήκατε {file} με {email} μέσω mail", "%3$s shared %1$s with %2$s by mail" : "%3$s Διαμοιραστηκε %1$s με %2$s μέσω mail", diff --git a/apps/sharebymail/l10n/el.json b/apps/sharebymail/l10n/el.json index f5f4f5f88e6..7b6e88d93cc 100644 --- a/apps/sharebymail/l10n/el.json +++ b/apps/sharebymail/l10n/el.json @@ -3,6 +3,7 @@ "Shared with {email}" : "Διαμοιράστηκε με {email}", "Shared with %1$s by %2$s" : "Διαμοιράστηκε με %1$s από %2$s", "Shared with {email} by {actor}" : "Διαμοιράστηκε με {email} από {actor}", + "Password for mail share sent to %1$s" : "Το συνθηματικό για το διαμοιρασμό μέσου ηλ. αλληλογραφίας έχει αποσταλλεί %1$s", "You shared %1$s with %2$s by mail" : "Διαμοιραστήκατε το %1$s με %2$s μέσω mail", "You shared {file} with {email} by mail" : "Διαμοιραστήκατε {file} με {email} μέσω mail", "%3$s shared %1$s with %2$s by mail" : "%3$s Διαμοιραστηκε %1$s με %2$s μέσω mail", diff --git a/apps/sharebymail/l10n/nl.js b/apps/sharebymail/l10n/nl.js index e62d1877980..97fb2e2b806 100644 --- a/apps/sharebymail/l10n/nl.js +++ b/apps/sharebymail/l10n/nl.js @@ -37,6 +37,7 @@ OC.L10N.register( "You can choose a different password at any time in the share dialog." : "Je kunt in de Delen-dialoog altijd een ander wachtwoord kiezen.", "Could not find share" : "Kon gedeeld niet vinden", "Share by mail" : "Gedeeld via een E-mail", + "Allows users to share a personalized link to a file or folder by putting in an email address." : "Staat gebruikers toe om een gepersonaliseerde link of map te delen door een e-mailadres in te voegen.", "Send password by mail" : "Wachtwoord per E-mail verzenden", "Enforce password protection" : "Afdwingenwachtwoordbeveiliging", "Failed to create the E-mail" : "Opmaken van de e-mail is mislukt", diff --git a/apps/sharebymail/l10n/nl.json b/apps/sharebymail/l10n/nl.json index 429f57e4597..d6c8dffc795 100644 --- a/apps/sharebymail/l10n/nl.json +++ b/apps/sharebymail/l10n/nl.json @@ -35,6 +35,7 @@ "You can choose a different password at any time in the share dialog." : "Je kunt in de Delen-dialoog altijd een ander wachtwoord kiezen.", "Could not find share" : "Kon gedeeld niet vinden", "Share by mail" : "Gedeeld via een E-mail", + "Allows users to share a personalized link to a file or folder by putting in an email address." : "Staat gebruikers toe om een gepersonaliseerde link of map te delen door een e-mailadres in te voegen.", "Send password by mail" : "Wachtwoord per E-mail verzenden", "Enforce password protection" : "Afdwingenwachtwoordbeveiliging", "Failed to create the E-mail" : "Opmaken van de e-mail is mislukt", diff --git a/apps/sharebymail/l10n/pt_BR.js b/apps/sharebymail/l10n/pt_BR.js index edc96e08ef2..b7cf2a33e13 100644 --- a/apps/sharebymail/l10n/pt_BR.js +++ b/apps/sharebymail/l10n/pt_BR.js @@ -8,17 +8,17 @@ OC.L10N.register( "Password for mail share sent to %1$s" : "Senha para o correio compartilhado enviado para %1$s", "Password for mail share sent to {email}" : "Senha para o correio compartilhado enviado para {email}", "Password for mail share sent to you" : "Senha para o correio compartilhado enviado para você", - "You shared %1$s with %2$s by mail" : "Você compartilhou %1$s com %2$s por email", - "You shared {file} with {email} by mail" : "Você compartilhou {file} com {email} por email", - "%3$s shared %1$s with %2$s by mail" : "%3$s compartilou %1$s com %2$s por email", - "{actor} shared {file} with {email} by mail" : "{actor} compartilhou {file} com {email} por email", + "You shared %1$s with %2$s by mail" : "Você compartilhou %1$s com %2$s por e-mail", + "You shared {file} with {email} by mail" : "Você compartilhou {file} com {email} por e-mail", + "%3$s shared %1$s with %2$s by mail" : "%3$s compartilou %1$s com %2$s por e-mail", + "{actor} shared {file} with {email} by mail" : "{actor} compartilhou {file} com {email} por e-mail", "Password to access %1$s was sent to %2s" : "A senha para acesso %1$s foi enviada para %2s", "Password to access {file} was sent to {email}" : "A senha para acesso {file} foi enviada para {email}", "Password to access %1$s was sent to you" : "A senha para acesso %1$s foi enviada para você", "Password to access {file} was sent to you" : "A senha para acesso {file} foi enviada para você", "Sharing %s failed, this item is already shared with %s" : "O compartilhamento %s falhou, pois este item já está compartilhado com %s", - "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Não pudemos enviar a você a senha auto-gerada. por favor defina um email válido em sua configuração e tente novamente.", - "Failed to send share by E-mail" : "Falha ao enviar compartilhamento por email", + "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Não pudemos enviar a você a senha auto-gerada. por favor defina um e-mail válido em sua configuração e tente novamente.", + "Failed to send share by E-mail" : "Falha ao enviar compartilhamento por e-mail", "%s shared »%s« with you" : "%s compartilhou »%s« com você", "%s shared »%s« with you on behalf of %s" : "%s compartilhou »%s« com você em nome de %s", "%s shared »%s« with you." : "%s compartilhou »%s« com você.", @@ -27,8 +27,8 @@ OC.L10N.register( "Open »%s«" : "Abrir »%s«", "%s via %s" : "%s via %s", "Password to access »%s« shared to you by %s" : "Senha para acessar %s compartilhado com você por %s", - "%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s compartilhou »%s« com você.\nVocê já deve ter recebido um email com um link para acessá-lo.\n", - "%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s compartilhou »%s« com você. Você já deve ter recebido um email com um link para acessá-lo.", + "%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s compartilhou »%s« com você.\nVocê já deve ter recebido um e-mail com um link para acessá-lo.\n", + "%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s compartilhou »%s« com você. Você já deve ter recebido um e-mail com um link para acessá-lo.", "Password to access »%s«" : "Senha para acessar »%s«", "It is protected with the following password: %s" : "Está protegido com a seguinte senha: %s", "Password to access »%s« shared with %s" : "Senha para acessar »%s« compartilhado com %s", @@ -36,11 +36,11 @@ OC.L10N.register( "This is the password: %s" : "Essa é a senha: %s", "You can choose a different password at any time in the share dialog." : "Você pode escolher uma senha diferente a qualquer momento no diálogo compartilhamento.", "Could not find share" : "Não foi possível encontrar o compartilhamento", - "Share by mail" : "Compartilhamento por email", - "Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite que os usuários compartilhem um link personalizado para um arquivo ou pasta, inserindo um endereço de email.", - "Send password by mail" : "Enviar senha por email", + "Share by mail" : "Compartilhamento por e-mail", + "Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite que os usuários compartilhem um link personalizado para um arquivo ou pasta, inserindo um endereço de e-mail.", + "Send password by mail" : "Enviar senha por e-mail", "Enforce password protection" : "Reforce a proteção por senha", - "Failed to create the E-mail" : "Falhou ao criar o email", + "Failed to create the E-mail" : "Falhou ao criar o e-mail", "Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Olá,\n%s compartilhou »%s« com você em nome de %s.\n%s\n\n", "Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Olá,\n%s compartilhou »%s« com você.\n%s\n", "Cheers!" : "Saudações!", diff --git a/apps/sharebymail/l10n/pt_BR.json b/apps/sharebymail/l10n/pt_BR.json index 014f325a457..7b225bc7b11 100644 --- a/apps/sharebymail/l10n/pt_BR.json +++ b/apps/sharebymail/l10n/pt_BR.json @@ -6,17 +6,17 @@ "Password for mail share sent to %1$s" : "Senha para o correio compartilhado enviado para %1$s", "Password for mail share sent to {email}" : "Senha para o correio compartilhado enviado para {email}", "Password for mail share sent to you" : "Senha para o correio compartilhado enviado para você", - "You shared %1$s with %2$s by mail" : "Você compartilhou %1$s com %2$s por email", - "You shared {file} with {email} by mail" : "Você compartilhou {file} com {email} por email", - "%3$s shared %1$s with %2$s by mail" : "%3$s compartilou %1$s com %2$s por email", - "{actor} shared {file} with {email} by mail" : "{actor} compartilhou {file} com {email} por email", + "You shared %1$s with %2$s by mail" : "Você compartilhou %1$s com %2$s por e-mail", + "You shared {file} with {email} by mail" : "Você compartilhou {file} com {email} por e-mail", + "%3$s shared %1$s with %2$s by mail" : "%3$s compartilou %1$s com %2$s por e-mail", + "{actor} shared {file} with {email} by mail" : "{actor} compartilhou {file} com {email} por e-mail", "Password to access %1$s was sent to %2s" : "A senha para acesso %1$s foi enviada para %2s", "Password to access {file} was sent to {email}" : "A senha para acesso {file} foi enviada para {email}", "Password to access %1$s was sent to you" : "A senha para acesso %1$s foi enviada para você", "Password to access {file} was sent to you" : "A senha para acesso {file} foi enviada para você", "Sharing %s failed, this item is already shared with %s" : "O compartilhamento %s falhou, pois este item já está compartilhado com %s", - "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Não pudemos enviar a você a senha auto-gerada. por favor defina um email válido em sua configuração e tente novamente.", - "Failed to send share by E-mail" : "Falha ao enviar compartilhamento por email", + "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Não pudemos enviar a você a senha auto-gerada. por favor defina um e-mail válido em sua configuração e tente novamente.", + "Failed to send share by E-mail" : "Falha ao enviar compartilhamento por e-mail", "%s shared »%s« with you" : "%s compartilhou »%s« com você", "%s shared »%s« with you on behalf of %s" : "%s compartilhou »%s« com você em nome de %s", "%s shared »%s« with you." : "%s compartilhou »%s« com você.", @@ -25,8 +25,8 @@ "Open »%s«" : "Abrir »%s«", "%s via %s" : "%s via %s", "Password to access »%s« shared to you by %s" : "Senha para acessar %s compartilhado com você por %s", - "%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s compartilhou »%s« com você.\nVocê já deve ter recebido um email com um link para acessá-lo.\n", - "%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s compartilhou »%s« com você. Você já deve ter recebido um email com um link para acessá-lo.", + "%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s compartilhou »%s« com você.\nVocê já deve ter recebido um e-mail com um link para acessá-lo.\n", + "%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s compartilhou »%s« com você. Você já deve ter recebido um e-mail com um link para acessá-lo.", "Password to access »%s«" : "Senha para acessar »%s«", "It is protected with the following password: %s" : "Está protegido com a seguinte senha: %s", "Password to access »%s« shared with %s" : "Senha para acessar »%s« compartilhado com %s", @@ -34,11 +34,11 @@ "This is the password: %s" : "Essa é a senha: %s", "You can choose a different password at any time in the share dialog." : "Você pode escolher uma senha diferente a qualquer momento no diálogo compartilhamento.", "Could not find share" : "Não foi possível encontrar o compartilhamento", - "Share by mail" : "Compartilhamento por email", - "Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite que os usuários compartilhem um link personalizado para um arquivo ou pasta, inserindo um endereço de email.", - "Send password by mail" : "Enviar senha por email", + "Share by mail" : "Compartilhamento por e-mail", + "Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite que os usuários compartilhem um link personalizado para um arquivo ou pasta, inserindo um endereço de e-mail.", + "Send password by mail" : "Enviar senha por e-mail", "Enforce password protection" : "Reforce a proteção por senha", - "Failed to create the E-mail" : "Falhou ao criar o email", + "Failed to create the E-mail" : "Falhou ao criar o e-mail", "Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Olá,\n%s compartilhou »%s« com você em nome de %s.\n%s\n\n", "Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Olá,\n%s compartilhou »%s« com você.\n%s\n", "Cheers!" : "Saudações!", diff --git a/apps/theming/css/settings-admin.css b/apps/theming/css/settings-admin.css index 8cc3f0dfe14..e401d77e4b6 100644 --- a/apps/theming/css/settings-admin.css +++ b/apps/theming/css/settings-admin.css @@ -26,10 +26,20 @@ display: inline-block; visibility: hidden; } -#theming form .theme-undo { +form.uploadButton { + width: 356px; +} +#theming form .theme-undo, +#theming .theme-remove-bg { + cursor: pointer; + opacity: .3; + padding: 7px; + vertical-align: top; + display: inline-block; + float: right; position: relative; top: 4px; - left: 158px; + right: 0px; visibility: visible; } #theming input[type='text']:focus + .theme-undo, @@ -54,7 +64,8 @@ margin: 2px 0px; } -#theming .icon-upload { +#theming .icon-upload, +#theming .icon-loading-small { padding: 8px 20px; width: 20px; margin: 2px 0px; diff --git a/apps/theming/css/theming.scss b/apps/theming/css/theming.scss index 71e0df6735e..2a5a0e5cd46 100644 --- a/apps/theming/css/theming.scss +++ b/apps/theming/css/theming.scss @@ -64,4 +64,50 @@ input.primary { #body-login input.login { background-image: url('../../../core/img/actions/confirm.svg'); } +} + +// plain background color for login page +@if $image-login-plain == 'true' { + #body-login, #firstrunwizard .firstrunwizard-header, #theming-preview { + background-image: none !important; + background-color: $color-primary; + } + #body-login { + + a, label, p { + color: $color-primary-text !important; + } + + @if (lightness($color-primary) > 50) { + #submit { + border-color: nc-darken($color-primary, 20%); + background-color: nc-darken($color-primary, 20%); + } + #submit:hover { + border-color: nc-darken($color-primary, 10%); + background-color: nc-darken($color-primary, 10%); + } + input[type='checkbox'].checkbox--white + label:before { + border-color: nc-darken($color-primary, 40%) !important; + } + input[type='checkbox'].checkbox--white:not(:disabled):not(:checked) + label:hover:before, + input[type='checkbox'].checkbox--white:focus + label:before { + border-color: nc-darken($color-primary, 30%) !important; + } + input[type='checkbox'].checkbox--white:checked + label:before { + border-color: nc-darken($color-primary, 30%) !important; + background-image: url('../../../core/img/actions/checkbox-mark.svg'); + background-color: nc-darken($color-primary, 30%) !important; + } + } @else { + #submit { + border-color: nc-lighten($color-primary, 20%); + background-color: nc-lighten($color-primary, 20%); + } + #submit:hover { + border-color: nc-lighten($color-primary, 10%); + background-color: nc-lighten($color-primary, 10%); + } + } + } }
\ No newline at end of file diff --git a/apps/theming/js/settings-admin.js b/apps/theming/js/settings-admin.js index 802f6e05c07..5d91892c007 100644 --- a/apps/theming/js/settings-admin.js +++ b/apps/theming/js/settings-admin.js @@ -35,6 +35,7 @@ function setThemingValue(setting, value) { OC.msg.finishedSaving('#theming_settings_msg', response); $('#theming_settings_loading').hide(); }); + } function preview(setting, value) { @@ -74,18 +75,13 @@ function preview(setting, value) { previewImageLogo.src = OC.getRootPath() + '/core/img/logo-icon.svg?v' + timestamp; } } - if (setting === 'backgroundMime') { - var previewImage = document.getElementById('theming-preview'); - if (value !== '') { - previewImage.style.backgroundImage = "url('" + OC.generateUrl('/apps/theming/loginbackground') + "?v" + timestamp + "')"; - } else { - previewImage.style.backgroundImage = "url('" + OC.getRootPath() + '/core/img/background.jpg?v' + timestamp + "')"; - } - } if (setting === 'name') { window.document.title = t('core', 'Admin') + " - " + value; } + + hideUndoButton(setting, value); + } function hideUndoButton(setting, value) { @@ -103,6 +99,14 @@ function hideUndoButton(setting, value) { } else { $('.theme-undo[data-setting=' + setting + ']').show(); } + + if(setting === 'backgroundMime' && value !== 'backgroundColor') { + $('.theme-remove-bg').show(); + } + if(setting === 'backgroundMime' && value === 'backgroundColor') { + $('.theme-remove-bg').hide(); + $('.theme-undo[data-setting=backgroundMime]').show(); + } } $(document).ready(function () { @@ -116,6 +120,7 @@ $(document).ready(function () { } hideUndoButton(setting, value); }); + var uploadParamsLogo = { pasteZone: null, dropZone: null, @@ -208,4 +213,16 @@ $(document).ready(function () { preview(setting, response.data.value); }); }); + + $('.theme-remove-bg').click(function() { + startLoading(); + $.post( + OC.generateUrl('/apps/theming/ajax/updateLogo'), {'backgroundColor' : true} + ).done(function(response) { + preview('backgroundMime', 'backgroundColor'); + }).fail(function(response) { + OC.msg.finishedSaving('#theming_settings_msg', response); + }); + }); + }); diff --git a/apps/theming/l10n/el.js b/apps/theming/l10n/el.js index 4bfd9bf3cf7..57f45818b3c 100644 --- a/apps/theming/l10n/el.js +++ b/apps/theming/l10n/el.js @@ -1,6 +1,7 @@ OC.L10N.register( "theming", { + "Loading preview…" : "Φόρτωση προεπισκόπησης ...", "Saved" : "Αποθηκεύτηκαν", "Admin" : "Διαχειριστής", "a safe home for all your data" : "μια ασφαλής τοποθεσία για όλα σας τα δεδομένα", diff --git a/apps/theming/l10n/el.json b/apps/theming/l10n/el.json index 9169c1e4ad3..3fd78ccd8fe 100644 --- a/apps/theming/l10n/el.json +++ b/apps/theming/l10n/el.json @@ -1,4 +1,5 @@ { "translations": { + "Loading preview…" : "Φόρτωση προεπισκόπησης ...", "Saved" : "Αποθηκεύτηκαν", "Admin" : "Διαχειριστής", "a safe home for all your data" : "μια ασφαλής τοποθεσία για όλα σας τα δεδομένα", diff --git a/apps/theming/l10n/en_GB.js b/apps/theming/l10n/en_GB.js new file mode 100644 index 00000000000..ed29a83eca3 --- /dev/null +++ b/apps/theming/l10n/en_GB.js @@ -0,0 +1,29 @@ +OC.L10N.register( + "theming", + { + "Loading preview…" : "Loading preview…", + "Saved" : "Saved", + "Admin" : "Admin", + "a safe home for all your data" : "a safe home for all your data", + "The given name is too long" : "The given name is too long", + "The given web address is too long" : "The given web address is too long", + "The given slogan is too long" : "The given slogan is too long", + "The given color is invalid" : "The given colour is invalid", + "No file uploaded" : "No file uploaded", + "Unsupported image type" : "Unsupported image type", + "You are already using a custom theme" : "You are already using a custom theme", + "Theming" : "Theming", + "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming makes it possible to easily customise the look and feel of your instance and supported clients. This will be visible for all users.", + "Name" : "Name", + "reset to default" : "reset to default", + "Web address" : "Web address", + "Web address https://…" : "Web address https://…", + "Slogan" : "Slogan", + "Color" : "Colour", + "Logo" : "Logo", + "Upload new logo" : "Upload new logo", + "Login image" : "Login image", + "Upload new login background" : "Upload new login background", + "Log in image" : "Log in image" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/en_GB.json b/apps/theming/l10n/en_GB.json new file mode 100644 index 00000000000..27a4eb827bd --- /dev/null +++ b/apps/theming/l10n/en_GB.json @@ -0,0 +1,27 @@ +{ "translations": { + "Loading preview…" : "Loading preview…", + "Saved" : "Saved", + "Admin" : "Admin", + "a safe home for all your data" : "a safe home for all your data", + "The given name is too long" : "The given name is too long", + "The given web address is too long" : "The given web address is too long", + "The given slogan is too long" : "The given slogan is too long", + "The given color is invalid" : "The given colour is invalid", + "No file uploaded" : "No file uploaded", + "Unsupported image type" : "Unsupported image type", + "You are already using a custom theme" : "You are already using a custom theme", + "Theming" : "Theming", + "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming makes it possible to easily customise the look and feel of your instance and supported clients. This will be visible for all users.", + "Name" : "Name", + "reset to default" : "reset to default", + "Web address" : "Web address", + "Web address https://…" : "Web address https://…", + "Slogan" : "Slogan", + "Color" : "Colour", + "Logo" : "Logo", + "Upload new logo" : "Upload new logo", + "Login image" : "Login image", + "Upload new login background" : "Upload new login background", + "Log in image" : "Log in image" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/theming/l10n/nl.js b/apps/theming/l10n/nl.js index b4646d4f993..55db4422623 100644 --- a/apps/theming/l10n/nl.js +++ b/apps/theming/l10n/nl.js @@ -13,6 +13,7 @@ OC.L10N.register( "Unsupported image type" : "Afbeeldingstype wordt niet ondersteund", "You are already using a custom theme" : "Je gebruikt al een maatwerkthema", "Theming" : "Thema's", + "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Thematiseren maakt het mogelijk om uiterlijk en gevoel van je systeem en ondersteunde clients aan te passen. Dit wordt zichtbaar voor alle gebruikers.", "Name" : "Naam", "reset to default" : "herstellen naar standaard", "Web address" : "Webadres", diff --git a/apps/theming/l10n/nl.json b/apps/theming/l10n/nl.json index 83f500d0d82..7ac43b24ea7 100644 --- a/apps/theming/l10n/nl.json +++ b/apps/theming/l10n/nl.json @@ -11,6 +11,7 @@ "Unsupported image type" : "Afbeeldingstype wordt niet ondersteund", "You are already using a custom theme" : "Je gebruikt al een maatwerkthema", "Theming" : "Thema's", + "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Thematiseren maakt het mogelijk om uiterlijk en gevoel van je systeem en ondersteunde clients aan te passen. Dit wordt zichtbaar voor alle gebruikers.", "Name" : "Naam", "reset to default" : "herstellen naar standaard", "Web address" : "Webadres", diff --git a/apps/theming/l10n/pt_BR.js b/apps/theming/l10n/pt_BR.js index 2b56768334b..32091d88542 100644 --- a/apps/theming/l10n/pt_BR.js +++ b/apps/theming/l10n/pt_BR.js @@ -6,7 +6,7 @@ OC.L10N.register( "Admin" : "Administrador", "a safe home for all your data" : "um lugar seguro para seus dados", "The given name is too long" : "O nome é muito longo", - "The given web address is too long" : "O endereço da Web fornecido é muito longo", + "The given web address is too long" : "O endereço web fornecido é muito longo", "The given slogan is too long" : "O slogan dado é muito longo", "The given color is invalid" : "A cor fornecida é inválida", "No file uploaded" : "Nenhum arquivo enviado", @@ -16,8 +16,8 @@ OC.L10N.register( "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Criar e alterar temas torna possível personalizar facilmente o Nextcloud e clientes suportados. Isso será visível a todos os usuários.", "Name" : "Nome", "reset to default" : "restaurar ao padrão", - "Web address" : "Endereço da Web", - "Web address https://…" : "Endereço da Web https://...", + "Web address" : "Endereço web", + "Web address https://…" : "Endereço web https://...", "Slogan" : "Slogan", "Color" : "Cor", "Logo" : "Logotipo", diff --git a/apps/theming/l10n/pt_BR.json b/apps/theming/l10n/pt_BR.json index 4544daa7556..889e609f861 100644 --- a/apps/theming/l10n/pt_BR.json +++ b/apps/theming/l10n/pt_BR.json @@ -4,7 +4,7 @@ "Admin" : "Administrador", "a safe home for all your data" : "um lugar seguro para seus dados", "The given name is too long" : "O nome é muito longo", - "The given web address is too long" : "O endereço da Web fornecido é muito longo", + "The given web address is too long" : "O endereço web fornecido é muito longo", "The given slogan is too long" : "O slogan dado é muito longo", "The given color is invalid" : "A cor fornecida é inválida", "No file uploaded" : "Nenhum arquivo enviado", @@ -14,8 +14,8 @@ "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Criar e alterar temas torna possível personalizar facilmente o Nextcloud e clientes suportados. Isso será visível a todos os usuários.", "Name" : "Nome", "reset to default" : "restaurar ao padrão", - "Web address" : "Endereço da Web", - "Web address https://…" : "Endereço da Web https://...", + "Web address" : "Endereço web", + "Web address https://…" : "Endereço web https://...", "Slogan" : "Slogan", "Color" : "Cor", "Logo" : "Logotipo", diff --git a/apps/theming/lib/Controller/ThemingController.php b/apps/theming/lib/Controller/ThemingController.php index faaff1f2174..225673079a3 100644 --- a/apps/theming/lib/Controller/ThemingController.php +++ b/apps/theming/lib/Controller/ThemingController.php @@ -185,6 +185,20 @@ class ThemingController extends Controller { * @return DataResponse */ public function updateLogo() { + $backgroundColor = $this->request->getParam('backgroundColor', false); + if($backgroundColor) { + $this->themingDefaults->set('backgroundMime', 'backgroundColor'); + return new DataResponse( + [ + 'data' => + [ + 'name' => 'backgroundColor', + 'message' => $this->l10n->t('Saved') + ], + 'status' => 'success' + ] + ); + } $newLogo = $this->request->getUploadedFile('uploadlogo'); $newBackgroundLogo = $this->request->getUploadedFile('upload-login-background'); if (empty($newLogo) && empty($newBackgroundLogo)) { diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php index 39547af4916..0824a36ccdc 100644 --- a/apps/theming/lib/ThemingDefaults.php +++ b/apps/theming/lib/ThemingDefaults.php @@ -129,9 +129,10 @@ class ThemingDefaults extends \OC_Defaults { /** * Themed logo url * + * @param bool $useSvg Whether to point to the SVG image or a fallback * @return string */ - public function getLogo() { + public function getLogo($useSvg = true) { $logo = $this->config->getAppValue('theming', 'logoMime', false); $logoExists = true; @@ -144,7 +145,12 @@ class ThemingDefaults extends \OC_Defaults { $cacheBusterCounter = $this->config->getAppValue('theming', 'cachebuster', '0'); if(!$logo || !$logoExists) { - return $this->urlGenerator->imagePath('core','logo.svg') . '?v=' . $cacheBusterCounter; + if($useSvg) { + $logo = $this->urlGenerator->imagePath('core', 'logo.svg'); + } else { + $logo = $this->urlGenerator->imagePath('core', 'logo.png'); + } + return $logo . '?v=' . $cacheBusterCounter; } return $this->urlGenerator->linkToRoute('theming.Theming.getLogo') . '?v=' . $cacheBusterCounter; @@ -190,6 +196,7 @@ class ThemingDefaults extends \OC_Defaults { $variables['image-logo'] = "'".$this->urlGenerator->getAbsoluteURL($this->getLogo())."'"; $variables['image-login-background'] = "'".$this->urlGenerator->getAbsoluteURL($this->getBackground())."'"; + $variables['image-login-plain'] = 'false'; if ($this->config->getAppValue('theming', 'color', null) !== null) { if ($this->util->invertTextColor($this->getColorPrimary())) { @@ -200,6 +207,10 @@ class ThemingDefaults extends \OC_Defaults { $variables['color-primary'] = $this->getColorPrimary(); $variables['color-primary-text'] = $colorPrimaryText; } + + if ($this->config->getAppValue('theming', 'backgroundMime', null) === 'backgroundColor') { + $variables['image-login-plain'] = 'true'; + } $cache->set('getScssVariables', $variables); return $variables; } diff --git a/apps/theming/templates/settings-admin.php b/apps/theming/templates/settings-admin.php index 858329eca48..858b916c932 100644 --- a/apps/theming/templates/settings-admin.php +++ b/apps/theming/templates/settings-admin.php @@ -67,7 +67,7 @@ style('theming', 'settings-admin'); </label> </div> <div> - <form class="uploadButton inlineblock" method="post" action="<?php p($_['uploadLogoRoute']) ?>"> + <form class="uploadButton" method="post" action="<?php p($_['uploadLogoRoute']) ?>"> <input type="hidden" id="current-logoMime" name="current-logoMime" value="<?php p($_['logoMime']); ?>" /> <label for="uploadlogo"><span><?php p($l->t('Logo')) ?></span></label> <input id="uploadlogo" class="upload-logo-field" name="uploadlogo" type="file" /> @@ -76,16 +76,16 @@ style('theming', 'settings-admin'); </form> </div> <div> - <form class="uploadButton inlineblock" method="post" action="<?php p($_['uploadLogoRoute']) ?>"> + <form class="uploadButton" method="post" action="<?php p($_['uploadLogoRoute']) ?>"> <input type="hidden" id="current-backgroundMime" name="current-backgroundMime" value="<?php p($_['backgroundMime']); ?>" /> <label for="upload-login-background"><span><?php p($l->t('Login image')) ?></span></label> <input id="upload-login-background" class="upload-logo-field" name="upload-login-background" type="file"> <label for="upload-login-background" class="button icon-upload svg" id="upload-login-background" title="<?php p($l->t("Upload new login background")) ?>"></label> <div data-setting="backgroundMime" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></div> + <div class="theme-remove-bg icon icon-delete" data-toggle="tooltip" data-original-title="<?php p($l->t('Remove background image')); ?>"></div> </form> </div> - - <div id="theming-preview" style="background-color:<?php p($_['color']);?>; background-image:url(<?php p($_['background']); ?>);"> + <div id="theming-preview"> <img src="<?php p($_['logo']); ?>" id="theming-preview-logo" /> </div> <?php } ?> diff --git a/apps/theming/tests/Controller/ThemingControllerTest.php b/apps/theming/tests/Controller/ThemingControllerTest.php index f22c317d73d..cbdb86d0358 100644 --- a/apps/theming/tests/Controller/ThemingControllerTest.php +++ b/apps/theming/tests/Controller/ThemingControllerTest.php @@ -152,11 +152,16 @@ class ThemingControllerTest extends TestCase { public function testUpdateLogoNoData() { $this->request ->expects($this->at(0)) + ->method('getParam') + ->with('backgroundColor') + ->willReturn(false); + $this->request + ->expects($this->at(1)) ->method('getUploadedFile') ->with('uploadlogo') ->willReturn(null); $this->request - ->expects($this->at(1)) + ->expects($this->at(2)) ->method('getUploadedFile') ->with('upload-login-background') ->willReturn(null); @@ -179,6 +184,29 @@ class ThemingControllerTest extends TestCase { $this->assertEquals($expected, $this->themingController->updateLogo()); } + public function testUpdateBackgroundColor() { + $this->request + ->expects($this->at(0)) + ->method('getParam') + ->with('backgroundColor') + ->willReturn(true); + $this->themingDefaults + ->expects($this->once()) + ->method('set') + ->with('backgroundMime', 'backgroundColor'); + $expected = new DataResponse( + [ + 'data' => + [ + 'name' => 'backgroundColor', + 'message' => $this->l10n->t('Saved') + ], + 'status' => 'success' + ] + ); + $this->assertEquals($expected, $this->themingController->updateLogo()); + } + public function dataUpdateImages() { return [ [false], @@ -194,6 +222,11 @@ class ThemingControllerTest extends TestCase { touch($tmpLogo); $this->request ->expects($this->at(0)) + ->method('getParam') + ->with('backgroundColor') + ->willReturn(false); + $this->request + ->expects($this->at(1)) ->method('getUploadedFile') ->with('uploadlogo') ->willReturn([ @@ -202,7 +235,7 @@ class ThemingControllerTest extends TestCase { 'name' => 'logo.svg', ]); $this->request - ->expects($this->at(1)) + ->expects($this->at(2)) ->method('getUploadedFile') ->with('upload-login-background') ->willReturn(null); @@ -259,11 +292,16 @@ class ThemingControllerTest extends TestCase { file_put_contents($tmpLogo, file_get_contents(__DIR__ . '/../../../../tests/data/desktopapp.png')); $this->request ->expects($this->at(0)) + ->method('getParam') + ->with('backgroundColor') + ->willReturn(false); + $this->request + ->expects($this->at(1)) ->method('getUploadedFile') ->with('uploadlogo') ->willReturn(null); $this->request - ->expects($this->at(1)) + ->expects($this->at(2)) ->method('getUploadedFile') ->with('upload-login-background') ->willReturn([ @@ -322,11 +360,16 @@ class ThemingControllerTest extends TestCase { file_put_contents($tmpLogo, file_get_contents(__DIR__ . '/../../../../tests/data/data.zip')); $this->request ->expects($this->at(0)) + ->method('getParam') + ->with('backgroundColor') + ->willReturn(false); + $this->request + ->expects($this->at(1)) ->method('getUploadedFile') ->with('uploadlogo') ->willReturn(null); $this->request - ->expects($this->at(1)) + ->expects($this->at(2)) ->method('getUploadedFile') ->with('upload-login-background') ->willReturn([ diff --git a/apps/theming/tests/ThemingDefaultsTest.php b/apps/theming/tests/ThemingDefaultsTest.php index 7535eddb4f0..a7cb7790aa6 100644 --- a/apps/theming/tests/ThemingDefaultsTest.php +++ b/apps/theming/tests/ThemingDefaultsTest.php @@ -431,7 +431,7 @@ class ThemingDefaultsTest extends TestCase { $this->assertEquals('custom-background?v=0', $this->template->getBackground()); } - public function testGetLogoDefault() { + private function getLogoHelper($withName, $useSvg) { $this->appData->expects($this->once()) ->method('getFolder') ->willThrowException(new NotFoundException()); @@ -452,9 +452,17 @@ class ThemingDefaultsTest extends TestCase { ->willThrowException(new \Exception()); $this->urlGenerator->expects($this->once()) ->method('imagePath') - ->with('core', 'logo.svg') + ->with('core', $withName) ->willReturn('core-logo'); - $this->assertEquals('core-logo?v=0', $this->template->getLogo()); + $this->assertEquals('core-logo?v=0', $this->template->getLogo($useSvg)); + } + + public function testGetLogoDefaultWithSvg() { + $this->getLogoHelper('logo.svg', true); + } + + public function testGetLogoDefaultWithoutSvg() { + $this->getLogoHelper('logo.png', false); } public function testGetLogoCustom() { @@ -525,7 +533,8 @@ class ThemingDefaultsTest extends TestCase { 'image-logo' => "'absolute-custom-logo?v=0'", 'image-login-background' => "'absolute-custom-background?v=0'", 'color-primary' => $this->defaults->getColorPrimary(), - 'color-primary-text' => '#ffffff' + 'color-primary-text' => '#ffffff', + 'image-login-plain' => 'false' ]; $this->assertEquals($expected, $this->template->getScssVariables()); diff --git a/apps/updatenotification/l10n/ca.js b/apps/updatenotification/l10n/ca.js index 920f2d68321..20a1fb22fe6 100644 --- a/apps/updatenotification/l10n/ca.js +++ b/apps/updatenotification/l10n/ca.js @@ -2,16 +2,24 @@ OC.L10N.register( "updatenotification", { "Update notifications" : "Notificacions d'actualització", + "Could not start updater, please try the manual update" : "No s'ha pogut iniciar actualitzador, provi l'actualització manual", "{version} is available. Get more information on how to update." : "Hi ha disponible la versió {version}. Obtingueu més informació sobre com actualitzar.", - "Updated channel" : "Canal actualitzat", + "Channel updated" : "Canal actualitzat", + "The update server could not be reached since %d days to check for new updates." : "El servidor d'actualització no es va poder arribar des %d dies per comprovar si hi ha noves actualitzacions.", + "Please check the Nextcloud and server log files for errors." : "Si us plau, comproveu els fitxers de log del servidor i de Nextcloud per detectar errors.", + "Update to %1$s is available." : "Actualització per %1$s està disponible.", "Update for %1$s to version %2$s is available." : "L'actualització per %1$s a la versió %2$s està disponible.", - "Updater" : "Actualitzador", + "Update for {app} to version %s is available." : "Actualització per {app} a la versió %s està disponible.", "A new version is available: %s" : "Una nova versió està disponible: %s", "Open updater" : "Obrir actualitzador", + "Download now" : "Descarrega ara", "Your version is up to date." : "La teva versió està actualitzada.", "Checked on %s" : "Comprovat en %s", "Update channel:" : "Actualitzar canal:", "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Sempre podràs actualitzar a una versió més recent / canal experimental. Però mai es pot fer un \"downgrade\" a un canal més estable.", - "Notify members of the following groups about available updates:" : "Notificar als membres dels següents grups sobre les actualitzacions disponibles:" + "Notify members of the following groups about available updates:" : "Notificar als membres dels següents grups sobre les actualitzacions disponibles:", + "Only notification for app updates are available." : "Només notificació d'actualitzacions d'apps estan disponibles.", + "The selected update channel makes dedicated notifications for the server obsolete." : "El canal d'actualització seleccionat deixa obsoletes les notificacions específiques del servidor.", + "The selected update channel does not support updates of the server." : "El canal d'actualització seleccionat no admet actualitzacions del servidor." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/updatenotification/l10n/ca.json b/apps/updatenotification/l10n/ca.json index 600e1292de3..ec4ccf23b5e 100644 --- a/apps/updatenotification/l10n/ca.json +++ b/apps/updatenotification/l10n/ca.json @@ -1,15 +1,23 @@ { "translations": { "Update notifications" : "Notificacions d'actualització", + "Could not start updater, please try the manual update" : "No s'ha pogut iniciar actualitzador, provi l'actualització manual", "{version} is available. Get more information on how to update." : "Hi ha disponible la versió {version}. Obtingueu més informació sobre com actualitzar.", - "Updated channel" : "Canal actualitzat", + "Channel updated" : "Canal actualitzat", + "The update server could not be reached since %d days to check for new updates." : "El servidor d'actualització no es va poder arribar des %d dies per comprovar si hi ha noves actualitzacions.", + "Please check the Nextcloud and server log files for errors." : "Si us plau, comproveu els fitxers de log del servidor i de Nextcloud per detectar errors.", + "Update to %1$s is available." : "Actualització per %1$s està disponible.", "Update for %1$s to version %2$s is available." : "L'actualització per %1$s a la versió %2$s està disponible.", - "Updater" : "Actualitzador", + "Update for {app} to version %s is available." : "Actualització per {app} a la versió %s està disponible.", "A new version is available: %s" : "Una nova versió està disponible: %s", "Open updater" : "Obrir actualitzador", + "Download now" : "Descarrega ara", "Your version is up to date." : "La teva versió està actualitzada.", "Checked on %s" : "Comprovat en %s", "Update channel:" : "Actualitzar canal:", "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Sempre podràs actualitzar a una versió més recent / canal experimental. Però mai es pot fer un \"downgrade\" a un canal més estable.", - "Notify members of the following groups about available updates:" : "Notificar als membres dels següents grups sobre les actualitzacions disponibles:" + "Notify members of the following groups about available updates:" : "Notificar als membres dels següents grups sobre les actualitzacions disponibles:", + "Only notification for app updates are available." : "Només notificació d'actualitzacions d'apps estan disponibles.", + "The selected update channel makes dedicated notifications for the server obsolete." : "El canal d'actualització seleccionat deixa obsoletes les notificacions específiques del servidor.", + "The selected update channel does not support updates of the server." : "El canal d'actualització seleccionat no admet actualitzacions del servidor." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/updatenotification/l10n/en_GB.js b/apps/updatenotification/l10n/en_GB.js index b26672b438e..cd32df87ae2 100644 --- a/apps/updatenotification/l10n/en_GB.js +++ b/apps/updatenotification/l10n/en_GB.js @@ -2,10 +2,17 @@ OC.L10N.register( "updatenotification", { "Update notifications" : "Update notifications", + "Could not start updater, please try the manual update" : "Could not start updater, please try the manual update", "{version} is available. Get more information on how to update." : "{version} is available. Get more information on how to update.", - "Nextcloud core" : "Nextcloud core", + "Channel updated" : "Channel updated", + "The update server could not be reached since %d days to check for new updates." : "The update server could not be reached since %d days to check for new updates.", + "Please check the Nextcloud and server log files for errors." : "Please check the Nextcloud and server log files for errors.", + "Update to %1$s is available." : "Update to %1$s is available.", "Update for %1$s to version %2$s is available." : "Update for %1$s to version %2$s is available.", + "Update for {app} to version %s is available." : "Update for {app} to version %s is available.", "A new version is available: %s" : "A new version is available: %s", + "Open updater" : "Open updater", + "Download now" : "Download now", "Your version is up to date." : "Your version is up to date.", "Checked on %s" : "Checked on %s", "Update channel:" : "Update channel:", @@ -13,7 +20,6 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Notify members of the following groups about available updates:", "Only notification for app updates are available." : "Only notification for app updates are available.", "The selected update channel makes dedicated notifications for the server obsolete." : "The selected update channel makes dedicated notifications for the server obsolete.", - "The selected update channel does not support updates of the server." : "The selected update channel does not support updates of the server.", - "Updater" : "Updater" + "The selected update channel does not support updates of the server." : "The selected update channel does not support updates of the server." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/updatenotification/l10n/en_GB.json b/apps/updatenotification/l10n/en_GB.json index 830650fcce3..f8c435efdb7 100644 --- a/apps/updatenotification/l10n/en_GB.json +++ b/apps/updatenotification/l10n/en_GB.json @@ -1,9 +1,16 @@ { "translations": { "Update notifications" : "Update notifications", + "Could not start updater, please try the manual update" : "Could not start updater, please try the manual update", "{version} is available. Get more information on how to update." : "{version} is available. Get more information on how to update.", - "Nextcloud core" : "Nextcloud core", + "Channel updated" : "Channel updated", + "The update server could not be reached since %d days to check for new updates." : "The update server could not be reached since %d days to check for new updates.", + "Please check the Nextcloud and server log files for errors." : "Please check the Nextcloud and server log files for errors.", + "Update to %1$s is available." : "Update to %1$s is available.", "Update for %1$s to version %2$s is available." : "Update for %1$s to version %2$s is available.", + "Update for {app} to version %s is available." : "Update for {app} to version %s is available.", "A new version is available: %s" : "A new version is available: %s", + "Open updater" : "Open updater", + "Download now" : "Download now", "Your version is up to date." : "Your version is up to date.", "Checked on %s" : "Checked on %s", "Update channel:" : "Update channel:", @@ -11,7 +18,6 @@ "Notify members of the following groups about available updates:" : "Notify members of the following groups about available updates:", "Only notification for app updates are available." : "Only notification for app updates are available.", "The selected update channel makes dedicated notifications for the server obsolete." : "The selected update channel makes dedicated notifications for the server obsolete.", - "The selected update channel does not support updates of the server." : "The selected update channel does not support updates of the server.", - "Updater" : "Updater" + "The selected update channel does not support updates of the server." : "The selected update channel does not support updates of the server." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/user_ldap/appinfo/app.php b/apps/user_ldap/appinfo/app.php index cbdcafc58d6..70e505c18af 100644 --- a/apps/user_ldap/appinfo/app.php +++ b/apps/user_ldap/appinfo/app.php @@ -29,46 +29,26 @@ $helper = new \OCA\User_LDAP\Helper(\OC::$server->getConfig()); $configPrefixes = $helper->getServerConfigurationPrefixes(true); -$ldapWrapper = new OCA\User_LDAP\LDAP(); -$ocConfig = \OC::$server->getConfig(); -$notificationManager = \OC::$server->getNotificationManager(); -$notificationManager->registerNotifier(function() { - return new \OCA\User_LDAP\Notification\Notifier( - \OC::$server->getL10NFactory() - ); -}, function() { +if(count($configPrefixes) > 0) { + $ldapWrapper = new OCA\User_LDAP\LDAP(); + $ocConfig = \OC::$server->getConfig(); + $notificationManager = \OC::$server->getNotificationManager(); + $notificationManager->registerNotifier(function() { + return new \OCA\User_LDAP\Notification\Notifier( + \OC::$server->getL10NFactory() + ); + }, function() { $l = \OC::$server->getL10N('user_ldap'); return [ 'id' => 'user_ldap', 'name' => $l->t('LDAP user and group backend'), ]; -}); -if(count($configPrefixes) === 1) { - $dbc = \OC::$server->getDatabaseConnection(); - $userManager = new OCA\User_LDAP\User\Manager($ocConfig, - new OCA\User_LDAP\FilesystemHelper(), - new OCA\User_LDAP\LogWrapper(), - \OC::$server->getAvatarManager(), - new \OCP\Image(), - $dbc, - \OC::$server->getUserManager(), - $notificationManager - ); - $connector = new OCA\User_LDAP\Connection($ldapWrapper, $configPrefixes[0]); - $ldapAccess = new OCA\User_LDAP\Access($connector, $ldapWrapper, $userManager, $helper); + }); - $ldapAccess->setUserMapper(new OCA\User_LDAP\Mapping\UserMapping($dbc)); - $ldapAccess->setGroupMapper(new OCA\User_LDAP\Mapping\GroupMapping($dbc)); - $userBackend = new OCA\User_LDAP\User_LDAP($ldapAccess, $ocConfig, $notificationManager); - $groupBackend = new \OCA\User_LDAP\Group_LDAP($ldapAccess); -} else if(count($configPrefixes) > 1) { $userBackend = new OCA\User_LDAP\User_Proxy( $configPrefixes, $ldapWrapper, $ocConfig, $notificationManager ); $groupBackend = new OCA\User_LDAP\Group_Proxy($configPrefixes, $ldapWrapper); -} - -if(count($configPrefixes) > 0) { // register user backend OC_User::useBackend($userBackend); \OC::$server->getGroupManager()->addBackend($groupBackend); diff --git a/apps/user_ldap/l10n/el.js b/apps/user_ldap/l10n/el.js index 718eae40363..41924ab5ae6 100644 --- a/apps/user_ldap/l10n/el.js +++ b/apps/user_ldap/l10n/el.js @@ -12,6 +12,8 @@ OC.L10N.register( "No data specified" : "Δεν προσδιορίστηκαν δεδομένα", " Could not set configuration %s" : "Αδυναμία ρύθμισης %s", "Action does not exist" : "Η ενέργεια δεν υπάρχει", + "Renewing …" : "Ανανέωση ...", + "Very weak password" : "Πολύ αδύναμος κωδικός πρόσβασης", "Weak password" : "Ασθενές συνηματικό", "Good password" : "Καλό συνθηματικό", "Strong password" : "Ισχυρό συνθηματικό", diff --git a/apps/user_ldap/l10n/el.json b/apps/user_ldap/l10n/el.json index 69a6729059c..dbc1da6a951 100644 --- a/apps/user_ldap/l10n/el.json +++ b/apps/user_ldap/l10n/el.json @@ -10,6 +10,8 @@ "No data specified" : "Δεν προσδιορίστηκαν δεδομένα", " Could not set configuration %s" : "Αδυναμία ρύθμισης %s", "Action does not exist" : "Η ενέργεια δεν υπάρχει", + "Renewing …" : "Ανανέωση ...", + "Very weak password" : "Πολύ αδύναμος κωδικός πρόσβασης", "Weak password" : "Ασθενές συνηματικό", "Good password" : "Καλό συνθηματικό", "Strong password" : "Ισχυρό συνθηματικό", diff --git a/apps/user_ldap/l10n/pt_BR.js b/apps/user_ldap/l10n/pt_BR.js index 5242b928672..a70709df9d1 100644 --- a/apps/user_ldap/l10n/pt_BR.js +++ b/apps/user_ldap/l10n/pt_BR.js @@ -12,7 +12,7 @@ OC.L10N.register( "No data specified" : "Nenhum dado especificado", " Could not set configuration %s" : "Não foi possível definir a configuração %s", "Action does not exist" : "A ação não existe", - "LDAP user and group backend" : "Backend LDAP de usuário e grupo", + "LDAP user and group backend" : "Plataforma de serviço LDAP de usuário e grupo", "Renewing …" : "Renovando...", "Very weak password" : "Senha muito fraca", "Weak password" : "Senha fraca", @@ -80,8 +80,8 @@ OC.L10N.register( "When logging in, %s will find the user based on the following attributes:" : "Ao entrar, %s vai encontrar o usuário com base nos seguintes atributos:", "LDAP / AD Username:" : "Nome do usuário LDAP / AD:", "Allows login against the LDAP / AD username, which is either uid or sAMAccountName and will be detected." : "Permite login com nome de usuário LDAP / AD, o qual é ou uid ou sAMAccountName e será detectado.", - "LDAP / AD Email Address:" : "Endereço de email LDAP / AD:", - "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Permite o login com um atributo de email. Email e mailPrimaryAddress serão permitidos.", + "LDAP / AD Email Address:" : "Endereço de e-mail LDAP / AD:", + "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Permite o login com um atributo de e-mail. E-mail e mailPrimaryAddress serão permitidos.", "Other Attributes:" : "Outros Atributos:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Define o filtro a ser aplicado, quando o login for feito. %% UID substitui o nome do usuário na ação de login. Exemplo: \"uid=%% UID\"", "Test Loginname" : "Testar Loginname", @@ -129,7 +129,7 @@ OC.L10N.register( "Expert" : "Especialista", "Advanced" : "Avançado", "<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "<b>Aviso:</b> Os aplicativos user_ldap e user_webdavauth são incompatíveis e pode haver um comportamento inesperado. Por favor, peça ao administrador do sistema para desabilitar um deles.", - "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Aviso:</b> O módulo PHP LDAP não está instalado e o backend não funcionará. Por favor, peça ao administrador do sistema para instalá-lo.", + "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Aviso:</b> O módulo PHP LDAP não está instalado e a plataforma de serviço não funcionará. Por favor, peça ao administrador do sistema para instalá-lo.", "Connection Settings" : "Configurações de conexão", "Configuration Active" : "Configuração em uso", "When unchecked, this configuration will be skipped." : "Quando desmarcada, esta configuração será ignorada.", @@ -173,8 +173,8 @@ OC.L10N.register( "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Deixe vazio para a cota padrão do usuário. Caso contrário, especifique um atributo LDAP/AD", "Quota Default" : "Cota Padrão", "Override default quota for LDAP users who do not have a quota set in the Quota Field." : "Substituir a cota padrão para usuários LDAP que não têm um conjunto de cotas no Campo Cota.", - "Email Field" : "Campo de email", - "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Defina o email do usuário de seu atributo LDAP. Deixe vazio para o comportamento padrão.", + "Email Field" : "Campo de e-mail", + "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Defina o e-mail do usuário de seu atributo LDAP. Deixe vazio para o comportamento padrão.", "User Home Folder Naming Rule" : "Regra de Nome da Pasta Pessoal do Usuário", "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Deixe vazio para nome de usuário (padrão). Caso contrário, especifique um atributo LDAP/AD.", "Internal Username" : "Nome de usuário interno", diff --git a/apps/user_ldap/l10n/pt_BR.json b/apps/user_ldap/l10n/pt_BR.json index db0dd00c381..0e523b59143 100644 --- a/apps/user_ldap/l10n/pt_BR.json +++ b/apps/user_ldap/l10n/pt_BR.json @@ -10,7 +10,7 @@ "No data specified" : "Nenhum dado especificado", " Could not set configuration %s" : "Não foi possível definir a configuração %s", "Action does not exist" : "A ação não existe", - "LDAP user and group backend" : "Backend LDAP de usuário e grupo", + "LDAP user and group backend" : "Plataforma de serviço LDAP de usuário e grupo", "Renewing …" : "Renovando...", "Very weak password" : "Senha muito fraca", "Weak password" : "Senha fraca", @@ -78,8 +78,8 @@ "When logging in, %s will find the user based on the following attributes:" : "Ao entrar, %s vai encontrar o usuário com base nos seguintes atributos:", "LDAP / AD Username:" : "Nome do usuário LDAP / AD:", "Allows login against the LDAP / AD username, which is either uid or sAMAccountName and will be detected." : "Permite login com nome de usuário LDAP / AD, o qual é ou uid ou sAMAccountName e será detectado.", - "LDAP / AD Email Address:" : "Endereço de email LDAP / AD:", - "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Permite o login com um atributo de email. Email e mailPrimaryAddress serão permitidos.", + "LDAP / AD Email Address:" : "Endereço de e-mail LDAP / AD:", + "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Permite o login com um atributo de e-mail. E-mail e mailPrimaryAddress serão permitidos.", "Other Attributes:" : "Outros Atributos:", "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Define o filtro a ser aplicado, quando o login for feito. %% UID substitui o nome do usuário na ação de login. Exemplo: \"uid=%% UID\"", "Test Loginname" : "Testar Loginname", @@ -127,7 +127,7 @@ "Expert" : "Especialista", "Advanced" : "Avançado", "<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "<b>Aviso:</b> Os aplicativos user_ldap e user_webdavauth são incompatíveis e pode haver um comportamento inesperado. Por favor, peça ao administrador do sistema para desabilitar um deles.", - "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Aviso:</b> O módulo PHP LDAP não está instalado e o backend não funcionará. Por favor, peça ao administrador do sistema para instalá-lo.", + "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Aviso:</b> O módulo PHP LDAP não está instalado e a plataforma de serviço não funcionará. Por favor, peça ao administrador do sistema para instalá-lo.", "Connection Settings" : "Configurações de conexão", "Configuration Active" : "Configuração em uso", "When unchecked, this configuration will be skipped." : "Quando desmarcada, esta configuração será ignorada.", @@ -171,8 +171,8 @@ "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Deixe vazio para a cota padrão do usuário. Caso contrário, especifique um atributo LDAP/AD", "Quota Default" : "Cota Padrão", "Override default quota for LDAP users who do not have a quota set in the Quota Field." : "Substituir a cota padrão para usuários LDAP que não têm um conjunto de cotas no Campo Cota.", - "Email Field" : "Campo de email", - "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Defina o email do usuário de seu atributo LDAP. Deixe vazio para o comportamento padrão.", + "Email Field" : "Campo de e-mail", + "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Defina o e-mail do usuário de seu atributo LDAP. Deixe vazio para o comportamento padrão.", "User Home Folder Naming Rule" : "Regra de Nome da Pasta Pessoal do Usuário", "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Deixe vazio para nome de usuário (padrão). Caso contrário, especifique um atributo LDAP/AD.", "Internal Username" : "Nome de usuário interno", diff --git a/apps/workflowengine/l10n/fr.js b/apps/workflowengine/l10n/fr.js index afe164def4f..5fb2ff3f410 100644 --- a/apps/workflowengine/l10n/fr.js +++ b/apps/workflowengine/l10n/fr.js @@ -26,7 +26,7 @@ OC.L10N.register( "Request time" : "Temps de requête", "between" : "entre", "not between" : "en dehors de", - "Start" : "Commencer", + "Start" : "Démarrer", "End" : "Fin", "Select timezone…" : "Sélectionner le fuseau horaire...", "Request URL" : "Demande d'URL", diff --git a/apps/workflowengine/l10n/fr.json b/apps/workflowengine/l10n/fr.json index 7cee1e0107a..cdf39458889 100644 --- a/apps/workflowengine/l10n/fr.json +++ b/apps/workflowengine/l10n/fr.json @@ -24,7 +24,7 @@ "Request time" : "Temps de requête", "between" : "entre", "not between" : "en dehors de", - "Start" : "Commencer", + "Start" : "Démarrer", "End" : "Fin", "Select timezone…" : "Sélectionner le fuseau horaire...", "Request URL" : "Demande d'URL", diff --git a/config/config.sample.php b/config/config.sample.php index d106d03f602..9f2ede88169 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -1235,16 +1235,23 @@ $CONFIG = array( 'sqlite.journal_mode' => 'DELETE', /** - * If this setting is set to true MySQL can handle 4 byte characters instead of - * 3 byte characters - * + * During setup, if requirements are met (see below), this setting is set to true + * and MySQL can handle 4 byte characters instead of 3 byte characters. + * + * If you want to convert an existing 3-byte setup into a 4-byte setup please + * set the parameters in MySQL as mentioned below and run the migration command: + * ./occ db:convert-mysql-charset + * The config setting will be set automatically after a successful run. + * + * Consult the documentation for more details. + * * MySQL requires a special setup for longer indexes (> 767 bytes) which are * needed: * * [mysqld] - * innodb_large_prefix=true - * innodb_file_format=barracuda - * innodb_file_per_table=true + * innodb_large_prefix=ON + * innodb_file_format=Barracuda + * innodb_file_per_table=ON * * Tables will be created with * * character set: utf8mb4 @@ -1257,8 +1264,6 @@ $CONFIG = array( * https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system-variables/#innodb_large_prefix * http://www.tocker.ca/2013/10/31/benchmarking-innodb-page-compression-performance.html * http://mechanics.flite.com/blog/2014/07/29/using-innodb-large-prefix-to-avoid-error-1071/ - * - * WARNING: EXPERIMENTAL */ 'mysql.utf8mb4' => false, diff --git a/core/Command/Db/ConvertMysqlToMB4.php b/core/Command/Db/ConvertMysqlToMB4.php index 286274753ee..38aff8b09d8 100644 --- a/core/Command/Db/ConvertMysqlToMB4.php +++ b/core/Command/Db/ConvertMysqlToMB4.php @@ -22,6 +22,7 @@ namespace OC\Core\Command\Db; use Doctrine\DBAL\Platforms\MySqlPlatform; +use OC\DB\MySqlTools; use OC\Migration\ConsoleOutput; use OC\Repair\Collation; use OCP\IConfig; @@ -71,18 +72,17 @@ class ConvertMysqlToMB4 extends Command { return 1; } - $oldValue = $this->config->getSystemValue('mysql.utf8mb4', false); - // enable charset - $this->config->setSystemValue('mysql.utf8mb4', true); - - if (!$this->connection->supports4ByteText()) { + $tools = new MySqlTools(); + if (!$tools->supports4ByteCharset($this->connection)) { $url = $this->urlGenerator->linkToDocs('admin-mysql-utf8mb4'); $output->writeln("The database is not properly setup to use the charset utf8mb4."); $output->writeln("For more information please read the documentation at $url"); - $this->config->setSystemValue('mysql.utf8mb4', $oldValue); return 1; } + // enable charset + $this->config->setSystemValue('mysql.utf8mb4', true); + // run conversion $coll = new Collation($this->config, $this->logger, $this->connection, false); $coll->run(new ConsoleOutput($output)); diff --git a/core/css/guest.css b/core/css/guest.css index be8b2a604c7..689eb45d65f 100644 --- a/core/css/guest.css +++ b/core/css/guest.css @@ -70,9 +70,16 @@ h3 { background-size: 175px; background-position: center; width: 252px; - height: 120px; + min-height: 120px; + max-height: 200px; margin: 0 auto; } + +#header .logo img { + opacity: 0; + max-width: 100%; + max-height: 200px; +} .wrapper { min-height: 100%; margin: 0 auto -70px; diff --git a/core/l10n/el.js b/core/l10n/el.js index 7e740f0aba8..be436779d44 100644 --- a/core/l10n/el.js +++ b/core/l10n/el.js @@ -14,6 +14,7 @@ OC.L10N.register( "No crop data provided" : "Δεν δόθηκαν δεδομένα περικοπής", "No valid crop data provided" : "Έχουν δοθεί μη έγκυρα δεδομένα περικοπής", "Crop is not square" : "Η περικοπή δεν εχει τετραγωνικό σχήμα", + "State token does not match" : "Το αναγνωριστικό κατάστασης δεν ταιριάζει", "Couldn't reset password because the token is invalid" : "Αδυναμία επαναφοράς συνθηματικού λόγω μη έγκυρου διακριτικού", "Couldn't reset password because the token is expired" : "Αδυναμία επαναφοράς συνθηματικού επειδή το διακριτικό έχει λήξει", "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Αδυναμία αποστολής ηλεκτρονικού μηνύματος επαναφοράς διότι δεν υπάρχει διεύθυνση ηλεκτρινικής αλληλογραφίας για αυτόν τον χρήστη. Παρακαλώ επικοινωνήστε με το διαχειριστή.", diff --git a/core/l10n/el.json b/core/l10n/el.json index a4fa40ce799..36f67e5726d 100644 --- a/core/l10n/el.json +++ b/core/l10n/el.json @@ -12,6 +12,7 @@ "No crop data provided" : "Δεν δόθηκαν δεδομένα περικοπής", "No valid crop data provided" : "Έχουν δοθεί μη έγκυρα δεδομένα περικοπής", "Crop is not square" : "Η περικοπή δεν εχει τετραγωνικό σχήμα", + "State token does not match" : "Το αναγνωριστικό κατάστασης δεν ταιριάζει", "Couldn't reset password because the token is invalid" : "Αδυναμία επαναφοράς συνθηματικού λόγω μη έγκυρου διακριτικού", "Couldn't reset password because the token is expired" : "Αδυναμία επαναφοράς συνθηματικού επειδή το διακριτικό έχει λήξει", "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Αδυναμία αποστολής ηλεκτρονικού μηνύματος επαναφοράς διότι δεν υπάρχει διεύθυνση ηλεκτρινικής αλληλογραφίας για αυτόν τον χρήστη. Παρακαλώ επικοινωνήστε με το διαχειριστή.", diff --git a/core/l10n/fr.js b/core/l10n/fr.js index ed25317d39b..155daba2eac 100644 --- a/core/l10n/fr.js +++ b/core/l10n/fr.js @@ -265,6 +265,8 @@ OC.L10N.register( "Stay logged in" : "Rester connecté", "Alternative Logins" : "Identifiants alternatifs", "You are about to grant \"%s\" access to your %s account." : "Vous êtes sur le point d'accorder à \"%s\" l'accès à votre compte \"%s\".", + "App token" : "Jeton d'application", + "Alternative login using app token" : "Authentification alternative utilisant un jeton d'application", "Redirecting …" : "Redirection en cours...", "New password" : "Nouveau mot de passe", "New Password" : "Nouveau mot de passe", diff --git a/core/l10n/fr.json b/core/l10n/fr.json index c191590d627..22d4e4f705c 100644 --- a/core/l10n/fr.json +++ b/core/l10n/fr.json @@ -263,6 +263,8 @@ "Stay logged in" : "Rester connecté", "Alternative Logins" : "Identifiants alternatifs", "You are about to grant \"%s\" access to your %s account." : "Vous êtes sur le point d'accorder à \"%s\" l'accès à votre compte \"%s\".", + "App token" : "Jeton d'application", + "Alternative login using app token" : "Authentification alternative utilisant un jeton d'application", "Redirecting …" : "Redirection en cours...", "New password" : "Nouveau mot de passe", "New Password" : "Nouveau mot de passe", diff --git a/core/l10n/nl.js b/core/l10n/nl.js index 448ab053d3a..b181bc9f9e2 100644 --- a/core/l10n/nl.js +++ b/core/l10n/nl.js @@ -139,6 +139,7 @@ OC.L10N.register( "Email link to person" : "E-mail link naar persoon", "Send" : "Versturen", "Allow upload and editing" : "Toestaan uploaden en bewerken", + "Read only" : "Alleen lezen", "Secure drop (upload only)" : "Veilige drop (alleen uploaden)", "Shared with you and the group {group} by {owner}" : "Gedeeld met jou en de groep {group} door {owner}", "Shared with you by {owner}" : "Gedeeld met jou door {owner}", diff --git a/core/l10n/nl.json b/core/l10n/nl.json index 1afd353cacf..e2631655212 100644 --- a/core/l10n/nl.json +++ b/core/l10n/nl.json @@ -137,6 +137,7 @@ "Email link to person" : "E-mail link naar persoon", "Send" : "Versturen", "Allow upload and editing" : "Toestaan uploaden en bewerken", + "Read only" : "Alleen lezen", "Secure drop (upload only)" : "Veilige drop (alleen uploaden)", "Shared with you and the group {group} by {owner}" : "Gedeeld met jou en de groep {group} door {owner}", "Shared with you by {owner}" : "Gedeeld met jou door {owner}", diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js index 82159bc168b..f099c5a82c7 100644 --- a/core/l10n/pt_BR.js +++ b/core/l10n/pt_BR.js @@ -18,14 +18,14 @@ OC.L10N.register( "Auth flow can only be started unauthenticated." : "O fluxo de autenticação só pode ser iniciado como não autenticado.", "Couldn't reset password because the token is invalid" : "Não foi possível redefinir a senha porque o token é inválido", "Couldn't reset password because the token is expired" : "Não foi possível redefinir a senha porque o token expirou", - "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Não foi possível enviar email de redefinição porque não há nenhum endereço de email para este nome de usuário. Entre em contato com o administrador.", + "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Não foi possível enviar e-mail de redefinição porque não há nenhum endereço de e-mail para este nome de usuário. Entre em contato com o administrador.", "Password reset" : "Redefinir a senha", - "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Clique no botão abaixo para redefinir sua senha. Se você não solicitou isso, ignore este email.", - "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Clique no link abaixo para redefinir sua senha. Se você não solicitou isso, ignore este email.", + "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Clique no botão abaixo para redefinir sua senha. Se você não solicitou isso, ignore este e-mail.", + "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Clique no link abaixo para redefinir sua senha. Se você não solicitou isso, ignore este e-mail.", "Reset your password" : "Redefinir sua senha", "%s password reset" : "%s redefinir senha", - "Couldn't send reset email. Please contact your administrator." : "Não foi possível enviar o email de redefinição. Por favor, contate o administrador.", - "Couldn't send reset email. Please make sure your username is correct." : "Não foi possível enviar o email de redefinição. Verifique se o seu nome de usuário está correto.", + "Couldn't send reset email. Please contact your administrator." : "Não foi possível enviar o e-mail de redefinição. Por favor, contate o administrador.", + "Couldn't send reset email. Please make sure your username is correct." : "Não foi possível enviar o e-mail de redefinição. Verifique se o seu nome de usuário está correto.", "Preparing update" : "Preparando a atualização", "[%d / %d]: %s" : "[%d / %d]: %s", "Repair warning: " : "Aviso da reparação:", @@ -72,7 +72,7 @@ OC.L10N.register( "Failed to authenticate, try again" : "Falha na autenticação, tente novamente", "seconds ago" : "segundos atrás", "Logging in …" : "Entrando...", - "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "O link para redefinir sua senha foi enviado para seu email. Se você não recebê-lo dentro de um período razoável de tempo, verifique suas pastas de spam/lixo.<br> Se ele não estiver lá, pergunte ao administrador local.", + "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "O link para redefinir sua senha foi enviado para seu e-mail. Se você não recebê-lo dentro de um período razoável de tempo, verifique suas pastas de spam/lixo.<br> Se ele não estiver lá, pergunte ao administrador local.", "Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Seus arquivos são criptografados. Não existe nenhuma maneira de ter seus dados de volta depois que sua senha seja redefinida.<br /> Se você não tem certeza do que fazer, por favor contate seu administrador antes de continuar.<br />Você realmente deseja continuar?", "I know what I'm doing" : "Eu sei o que estou fazendo", "Password can not be changed. Please contact your administrator." : "A senha não pôde ser alterada. Por favor, contate o administrador.", @@ -102,11 +102,11 @@ OC.L10N.register( "Strong password" : "Senha forte", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Seu servidor web ainda não está configurado corretamente para permitir a sincronização de arquivos, pois a interface WebDAV parece ser desconfigurada.", "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Seu servidor web não está configurado corretamente para resolver \"{url}\". Mais informação pode ser encontrada na nossa <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentação</a>.", - "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Este servidor não tem nenhuma conexão com a Internet: Várias terminações finais podem não ser encontradas. Isso significa que alguns dos recursos como montagem de armazenamento externo, notificações sobre atualizações ou instalação de aplicativos de terceiros podem não funcionar. Acesso a arquivos remotos e envio de emails de notificação podem não funcionar também. Sugerimos habilitar a conexão com a Internet para este servidor, se você quer ter todas as funcionalidades.", + "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Este servidor não tem nenhuma conexão com a Internet: Várias terminações finais podem não ser encontradas. Isso significa que alguns dos recursos como montagem de armazenamento externo, notificações sobre atualizações ou instalação de aplicativos de terceiros podem não funcionar. Acesso a arquivos remotos e envio de e-mails de notificação podem não funcionar também. Sugerimos habilitar a conexão com a Internet para este servidor, se você quer ter todas as funcionalidades.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Nenhum cache de memória foi configurado. Para melhorar o desempenho, por favor configure um memcached se disponível. Mais informação pode ser encontrada na nossa <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentação</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "/dev/urandom não pode ser lido pelo PHP e é altamente desencorajado por razões de segurança. Mais informação pode ser encontrada na nossa <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentação</a>.", "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Você está atualmente executando PHP {version}. Nós o incentivamos a atualizar sua versão do PHP para aproveitar as<a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">atualizações de segurança e desempenho proporcionados pelo Grupo PHP</a> assim que sua distribuição suportar.", - "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "O cabeçalho do proxy reverso está incorreto, ou você está acessando a partir de um proxy confiável. Se voce não está usando um proxy confiável, há uma falha de segurança que pode permitir um ataque. Mais informação pode ser encontrada na nossa <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentação</a>.", + "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "O cabeçalho do proxy reverso está incorreto, ou você está acessando a partir de um proxy confiável. Se você não está usando um proxy confiável, há uma falha de segurança que pode permitir um ataque. Mais informação pode ser encontrada na nossa <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentação</a>.", "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached está configurado como cache distribuído, mas o módulo PHP errado \"memcache\" está instalado. \\OC\\Memcache\\Memcached suporta apenas \"memcached\" e não \"memcache\". Veja a <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">wiki memcached sobre ambos os módulos </a>.", "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Alguns arquivos não passaram na verificação de integridade. Mais informações sobre como resolver este problema pode ser encontrado em nossa <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentação</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Lista de arquivos inválidos…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)", "The PHP Opcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For better performance we recommend ↗</a> to use following settings in the <code>php.ini</code>:" : "O Opcache do PHP não está configurado corretamente. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Para um melhor desempenho recomendamos ↗</a> usar as seguintes configurações no <code>php.ini</code>:", @@ -136,17 +136,18 @@ OC.L10N.register( "Link" : "Link", "Password protect" : "Proteger com senha", "Allow editing" : "Permitir edição", - "Email link to person" : "Enviar link por email", + "Email link to person" : "Enviar link por e-mail", "Send" : "Enviar", "Allow upload and editing" : "Permitir envio e edição", + "Read only" : "Somente leitura", "Secure drop (upload only)" : "Drop seguro (apenas envio)", "Shared with you and the group {group} by {owner}" : "Compartilhado com você e com o grupo {group} por {owner}", "Shared with you by {owner}" : "Compartilhado com você por {owner}", - "Choose a password for the mail share" : "Escolha uma senha para o compartilhamento de email", + "Choose a password for the mail share" : "Escolha uma senha para o compartilhamento de e-mail", "{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatiorDisplayName}} compartilhou via link", "group" : "grupo", "remote" : "remoto", - "email" : "email", + "email" : "e-mail", "shared by {sharer}" : "compartilhado por {sharer}", "Unshare" : "Descompartilhar", "Can reshare" : "Pode compartilhar novamente", @@ -168,12 +169,12 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartilhar", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo, ID de cloud federada ou um email.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo, ID de cloud federada ou um e-mail.", "Share with other people by entering a user or group or a federated cloud ID." : "Compartilhe com outras pessoas entrando um usuário, grupo ou ID de cloud federada.", - "Share with other people by entering a user or group or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo ou um email.", - "Name or email address..." : "Nome ou email...", + "Share with other people by entering a user or group or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo ou um e-mail.", + "Name or email address..." : "Nome ou e-mail...", "Name or federated cloud ID..." : "Nome ou ID de cloud federada...", - "Name, federated cloud ID or email address..." : "Nome, ID de cloud federada ou email...", + "Name, federated cloud ID or email address..." : "Nome, ID de cloud federada ou e-mail...", "Name..." : "Nome...", "Error" : "Erro", "Error removing share" : "Erro na exclusão do compartilhamento", @@ -245,7 +246,7 @@ OC.L10N.register( "Please specify the port number along with the host name (e.g., localhost:5432)." : "Por favor especifique o nome do host e o número de porta (ex., localhost:5432).", "Performance warning" : "Alerta de performance", "SQLite will be used as database." : "SQLite será usado como banco de dados", - "For larger installations we recommend to choose a different database backend." : "Para instalações maiores é recomendável escolher um backend de banco de dados diferente.", + "For larger installations we recommend to choose a different database backend." : "Para instalações maiores é recomendável escolher uma plataforma de serviço de banco de dados diferente.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "O uso de SQLite é desencorajado especialmente quando se utiliza o cliente de desktop para sincronização de arquivos.", "Finish setup" : "Concluir configuração", "Finishing …" : "Finalizando...", @@ -260,7 +261,7 @@ OC.L10N.register( "Please contact your administrator." : "Por favor, contacte o administrador.", "An internal error occurred." : "Ocorreu um erro interno.", "Please try again or contact your administrator." : "Por favor tente novamente ou contacte o administrador.", - "Username or email" : "Nome de usuário ou email", + "Username or email" : "Nome de usuário ou e-mail", "Wrong password. Reset it?" : "Senha incorreta. Redefini-la?", "Wrong password." : "Senha errada", "Log in" : "Entrar", @@ -314,13 +315,13 @@ OC.L10N.register( "can delete" : "pode excluir", "access control" : "controle de acesso", "Share with people on other servers using their Federated Cloud ID username@example.com/nextcloud" : "Compartilhe com pessoas de outros servidores usando o ID de nuvem federada username@example.com/nextcloud", - "Share with users or by mail..." : "Compartilhe com usuários internos ou email...", + "Share with users or by mail..." : "Compartilhe com usuários internos ou e-mail...", "Share with users or remote users..." : "Compartilhe com usuários internos ou remotos...", - "Share with users, remote users or by mail..." : "Compartilhe com usuários internos, remotos ou email...", + "Share with users, remote users or by mail..." : "Compartilhe com usuários internos, remotos ou e-mail...", "Share with users or groups..." : "Compartilhe com usuários internos ou grupos...", - "Share with users, groups or by mail..." : "Compartilhe com usuários internos, grupos ou email...", + "Share with users, groups or by mail..." : "Compartilhe com usuários internos, grupos ou e-mail...", "Share with users, groups or remote users..." : "Compartilhe com usuários internos, remotos ou grupos...", - "Share with users, groups, remote users or by mail..." : "Compartilhe com usuários internos, remotos, grupos ou email...", + "Share with users, groups, remote users or by mail..." : "Compartilhe com usuários internos, remotos, grupos ou e-mail...", "Share with users..." : "Compartilhe com usuários internos...", "The object type is not specified." : "O tipo de objeto não foi especificado.", "Enter new" : "Entre nova", diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json index 02c9f3fbead..d981f5c5ebe 100644 --- a/core/l10n/pt_BR.json +++ b/core/l10n/pt_BR.json @@ -16,14 +16,14 @@ "Auth flow can only be started unauthenticated." : "O fluxo de autenticação só pode ser iniciado como não autenticado.", "Couldn't reset password because the token is invalid" : "Não foi possível redefinir a senha porque o token é inválido", "Couldn't reset password because the token is expired" : "Não foi possível redefinir a senha porque o token expirou", - "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Não foi possível enviar email de redefinição porque não há nenhum endereço de email para este nome de usuário. Entre em contato com o administrador.", + "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Não foi possível enviar e-mail de redefinição porque não há nenhum endereço de e-mail para este nome de usuário. Entre em contato com o administrador.", "Password reset" : "Redefinir a senha", - "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Clique no botão abaixo para redefinir sua senha. Se você não solicitou isso, ignore este email.", - "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Clique no link abaixo para redefinir sua senha. Se você não solicitou isso, ignore este email.", + "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Clique no botão abaixo para redefinir sua senha. Se você não solicitou isso, ignore este e-mail.", + "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Clique no link abaixo para redefinir sua senha. Se você não solicitou isso, ignore este e-mail.", "Reset your password" : "Redefinir sua senha", "%s password reset" : "%s redefinir senha", - "Couldn't send reset email. Please contact your administrator." : "Não foi possível enviar o email de redefinição. Por favor, contate o administrador.", - "Couldn't send reset email. Please make sure your username is correct." : "Não foi possível enviar o email de redefinição. Verifique se o seu nome de usuário está correto.", + "Couldn't send reset email. Please contact your administrator." : "Não foi possível enviar o e-mail de redefinição. Por favor, contate o administrador.", + "Couldn't send reset email. Please make sure your username is correct." : "Não foi possível enviar o e-mail de redefinição. Verifique se o seu nome de usuário está correto.", "Preparing update" : "Preparando a atualização", "[%d / %d]: %s" : "[%d / %d]: %s", "Repair warning: " : "Aviso da reparação:", @@ -70,7 +70,7 @@ "Failed to authenticate, try again" : "Falha na autenticação, tente novamente", "seconds ago" : "segundos atrás", "Logging in …" : "Entrando...", - "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "O link para redefinir sua senha foi enviado para seu email. Se você não recebê-lo dentro de um período razoável de tempo, verifique suas pastas de spam/lixo.<br> Se ele não estiver lá, pergunte ao administrador local.", + "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "O link para redefinir sua senha foi enviado para seu e-mail. Se você não recebê-lo dentro de um período razoável de tempo, verifique suas pastas de spam/lixo.<br> Se ele não estiver lá, pergunte ao administrador local.", "Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Seus arquivos são criptografados. Não existe nenhuma maneira de ter seus dados de volta depois que sua senha seja redefinida.<br /> Se você não tem certeza do que fazer, por favor contate seu administrador antes de continuar.<br />Você realmente deseja continuar?", "I know what I'm doing" : "Eu sei o que estou fazendo", "Password can not be changed. Please contact your administrator." : "A senha não pôde ser alterada. Por favor, contate o administrador.", @@ -100,11 +100,11 @@ "Strong password" : "Senha forte", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Seu servidor web ainda não está configurado corretamente para permitir a sincronização de arquivos, pois a interface WebDAV parece ser desconfigurada.", "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Seu servidor web não está configurado corretamente para resolver \"{url}\". Mais informação pode ser encontrada na nossa <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentação</a>.", - "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Este servidor não tem nenhuma conexão com a Internet: Várias terminações finais podem não ser encontradas. Isso significa que alguns dos recursos como montagem de armazenamento externo, notificações sobre atualizações ou instalação de aplicativos de terceiros podem não funcionar. Acesso a arquivos remotos e envio de emails de notificação podem não funcionar também. Sugerimos habilitar a conexão com a Internet para este servidor, se você quer ter todas as funcionalidades.", + "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Este servidor não tem nenhuma conexão com a Internet: Várias terminações finais podem não ser encontradas. Isso significa que alguns dos recursos como montagem de armazenamento externo, notificações sobre atualizações ou instalação de aplicativos de terceiros podem não funcionar. Acesso a arquivos remotos e envio de e-mails de notificação podem não funcionar também. Sugerimos habilitar a conexão com a Internet para este servidor, se você quer ter todas as funcionalidades.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Nenhum cache de memória foi configurado. Para melhorar o desempenho, por favor configure um memcached se disponível. Mais informação pode ser encontrada na nossa <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentação</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "/dev/urandom não pode ser lido pelo PHP e é altamente desencorajado por razões de segurança. Mais informação pode ser encontrada na nossa <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentação</a>.", "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Você está atualmente executando PHP {version}. Nós o incentivamos a atualizar sua versão do PHP para aproveitar as<a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">atualizações de segurança e desempenho proporcionados pelo Grupo PHP</a> assim que sua distribuição suportar.", - "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "O cabeçalho do proxy reverso está incorreto, ou você está acessando a partir de um proxy confiável. Se voce não está usando um proxy confiável, há uma falha de segurança que pode permitir um ataque. Mais informação pode ser encontrada na nossa <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentação</a>.", + "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "O cabeçalho do proxy reverso está incorreto, ou você está acessando a partir de um proxy confiável. Se você não está usando um proxy confiável, há uma falha de segurança que pode permitir um ataque. Mais informação pode ser encontrada na nossa <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentação</a>.", "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached está configurado como cache distribuído, mas o módulo PHP errado \"memcache\" está instalado. \\OC\\Memcache\\Memcached suporta apenas \"memcached\" e não \"memcache\". Veja a <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">wiki memcached sobre ambos os módulos </a>.", "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Alguns arquivos não passaram na verificação de integridade. Mais informações sobre como resolver este problema pode ser encontrado em nossa <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentação</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Lista de arquivos inválidos…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)", "The PHP Opcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For better performance we recommend ↗</a> to use following settings in the <code>php.ini</code>:" : "O Opcache do PHP não está configurado corretamente. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Para um melhor desempenho recomendamos ↗</a> usar as seguintes configurações no <code>php.ini</code>:", @@ -134,17 +134,18 @@ "Link" : "Link", "Password protect" : "Proteger com senha", "Allow editing" : "Permitir edição", - "Email link to person" : "Enviar link por email", + "Email link to person" : "Enviar link por e-mail", "Send" : "Enviar", "Allow upload and editing" : "Permitir envio e edição", + "Read only" : "Somente leitura", "Secure drop (upload only)" : "Drop seguro (apenas envio)", "Shared with you and the group {group} by {owner}" : "Compartilhado com você e com o grupo {group} por {owner}", "Shared with you by {owner}" : "Compartilhado com você por {owner}", - "Choose a password for the mail share" : "Escolha uma senha para o compartilhamento de email", + "Choose a password for the mail share" : "Escolha uma senha para o compartilhamento de e-mail", "{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatiorDisplayName}} compartilhou via link", "group" : "grupo", "remote" : "remoto", - "email" : "email", + "email" : "e-mail", "shared by {sharer}" : "compartilhado por {sharer}", "Unshare" : "Descompartilhar", "Can reshare" : "Pode compartilhar novamente", @@ -166,12 +167,12 @@ "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartilhar", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo, ID de cloud federada ou um email.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo, ID de cloud federada ou um e-mail.", "Share with other people by entering a user or group or a federated cloud ID." : "Compartilhe com outras pessoas entrando um usuário, grupo ou ID de cloud federada.", - "Share with other people by entering a user or group or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo ou um email.", - "Name or email address..." : "Nome ou email...", + "Share with other people by entering a user or group or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo ou um e-mail.", + "Name or email address..." : "Nome ou e-mail...", "Name or federated cloud ID..." : "Nome ou ID de cloud federada...", - "Name, federated cloud ID or email address..." : "Nome, ID de cloud federada ou email...", + "Name, federated cloud ID or email address..." : "Nome, ID de cloud federada ou e-mail...", "Name..." : "Nome...", "Error" : "Erro", "Error removing share" : "Erro na exclusão do compartilhamento", @@ -243,7 +244,7 @@ "Please specify the port number along with the host name (e.g., localhost:5432)." : "Por favor especifique o nome do host e o número de porta (ex., localhost:5432).", "Performance warning" : "Alerta de performance", "SQLite will be used as database." : "SQLite será usado como banco de dados", - "For larger installations we recommend to choose a different database backend." : "Para instalações maiores é recomendável escolher um backend de banco de dados diferente.", + "For larger installations we recommend to choose a different database backend." : "Para instalações maiores é recomendável escolher uma plataforma de serviço de banco de dados diferente.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "O uso de SQLite é desencorajado especialmente quando se utiliza o cliente de desktop para sincronização de arquivos.", "Finish setup" : "Concluir configuração", "Finishing …" : "Finalizando...", @@ -258,7 +259,7 @@ "Please contact your administrator." : "Por favor, contacte o administrador.", "An internal error occurred." : "Ocorreu um erro interno.", "Please try again or contact your administrator." : "Por favor tente novamente ou contacte o administrador.", - "Username or email" : "Nome de usuário ou email", + "Username or email" : "Nome de usuário ou e-mail", "Wrong password. Reset it?" : "Senha incorreta. Redefini-la?", "Wrong password." : "Senha errada", "Log in" : "Entrar", @@ -312,13 +313,13 @@ "can delete" : "pode excluir", "access control" : "controle de acesso", "Share with people on other servers using their Federated Cloud ID username@example.com/nextcloud" : "Compartilhe com pessoas de outros servidores usando o ID de nuvem federada username@example.com/nextcloud", - "Share with users or by mail..." : "Compartilhe com usuários internos ou email...", + "Share with users or by mail..." : "Compartilhe com usuários internos ou e-mail...", "Share with users or remote users..." : "Compartilhe com usuários internos ou remotos...", - "Share with users, remote users or by mail..." : "Compartilhe com usuários internos, remotos ou email...", + "Share with users, remote users or by mail..." : "Compartilhe com usuários internos, remotos ou e-mail...", "Share with users or groups..." : "Compartilhe com usuários internos ou grupos...", - "Share with users, groups or by mail..." : "Compartilhe com usuários internos, grupos ou email...", + "Share with users, groups or by mail..." : "Compartilhe com usuários internos, grupos ou e-mail...", "Share with users, groups or remote users..." : "Compartilhe com usuários internos, remotos ou grupos...", - "Share with users, groups, remote users or by mail..." : "Compartilhe com usuários internos, remotos, grupos ou email...", + "Share with users, groups, remote users or by mail..." : "Compartilhe com usuários internos, remotos, grupos ou e-mail...", "Share with users..." : "Compartilhe com usuários internos...", "The object type is not specified." : "O tipo de objeto não foi especificado.", "Enter new" : "Entre nova", diff --git a/core/shipped.json b/core/shipped.json index e114ec769e7..d064cbb5c37 100644 --- a/core/shipped.json +++ b/core/shipped.json @@ -5,7 +5,6 @@ "comments", "dav", "encryption", - "external", "federatedfilesharing", "federation", "files", diff --git a/core/templates/layout.guest.php b/core/templates/layout.guest.php index 1e2559d6960..2c2373d53aa 100644 --- a/core/templates/layout.guest.php +++ b/core/templates/layout.guest.php @@ -40,6 +40,10 @@ <h1 class="hidden-visually"> <?php p($theme->getName()); ?> </h1> + <?php if(\OC::$server->getConfig()->getSystemValue('installed', false) + && \OC::$server->getConfig()->getAppValue('theming', 'logoMime', false)): ?> + <img src="<?php p($theme->getLogo()); ?>"/> + <?php endif; ?> </div> <div id="logo-claim" style="display:none;"><?php p($theme->getLogoClaim()); ?></div> </div> diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index 2151aeff33b..703d624397c 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -488,6 +488,7 @@ return array( 'OC\\DB\\MigrationException' => $baseDir . '/lib/private/DB/MigrationException.php', 'OC\\DB\\Migrator' => $baseDir . '/lib/private/DB/Migrator.php', 'OC\\DB\\MySQLMigrator' => $baseDir . '/lib/private/DB/MySQLMigrator.php', + 'OC\\DB\\MySqlTools' => $baseDir . '/lib/private/DB/MySqlTools.php', 'OC\\DB\\NoCheckMigrator' => $baseDir . '/lib/private/DB/NoCheckMigrator.php', 'OC\\DB\\OCSqlitePlatform' => $baseDir . '/lib/private/DB/OCSqlitePlatform.php', 'OC\\DB\\OracleConnection' => $baseDir . '/lib/private/DB/OracleConnection.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index ec5190bc71d..ff7118e5bb1 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -518,6 +518,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OC\\DB\\MigrationException' => __DIR__ . '/../../..' . '/lib/private/DB/MigrationException.php', 'OC\\DB\\Migrator' => __DIR__ . '/../../..' . '/lib/private/DB/Migrator.php', 'OC\\DB\\MySQLMigrator' => __DIR__ . '/../../..' . '/lib/private/DB/MySQLMigrator.php', + 'OC\\DB\\MySqlTools' => __DIR__ . '/../../..' . '/lib/private/DB/MySqlTools.php', 'OC\\DB\\NoCheckMigrator' => __DIR__ . '/../../..' . '/lib/private/DB/NoCheckMigrator.php', 'OC\\DB\\OCSqlitePlatform' => __DIR__ . '/../../..' . '/lib/private/DB/OCSqlitePlatform.php', 'OC\\DB\\OracleConnection' => __DIR__ . '/../../..' . '/lib/private/DB/OracleConnection.php', diff --git a/lib/l10n/el.js b/lib/l10n/el.js index 0207afa9603..9f4faf09873 100644 --- a/lib/l10n/el.js +++ b/lib/l10n/el.js @@ -11,6 +11,8 @@ OC.L10N.register( "%1$s, %2$s and %3$s" : "%1$s, %2$s και %3$s", "%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s και %4$s", "%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s και %5$s", + "Enterprise bundle" : "Πακέτο επιχειρήσεων", + "Groupware bundle" : "Ομάδα δέσμης", "PHP %s or higher is required." : "PHP %s ή νεώτερη απαιτείται.", "PHP with a version lower than %s is required." : "Απαιτείται PHP παλαιότερη από την έκδοση %s.", "%sbit or higher PHP required." : "%sbit απαιτείται νεώτερη έκδοση PHP.", diff --git a/lib/l10n/el.json b/lib/l10n/el.json index 8319f8fd030..569845c8249 100644 --- a/lib/l10n/el.json +++ b/lib/l10n/el.json @@ -9,6 +9,8 @@ "%1$s, %2$s and %3$s" : "%1$s, %2$s και %3$s", "%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s και %4$s", "%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s και %5$s", + "Enterprise bundle" : "Πακέτο επιχειρήσεων", + "Groupware bundle" : "Ομάδα δέσμης", "PHP %s or higher is required." : "PHP %s ή νεώτερη απαιτείται.", "PHP with a version lower than %s is required." : "Απαιτείται PHP παλαιότερη από την έκδοση %s.", "%sbit or higher PHP required." : "%sbit απαιτείται νεώτερη έκδοση PHP.", diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js index 72b734afcff..16419544ee2 100644 --- a/lib/l10n/pt_BR.js +++ b/lib/l10n/pt_BR.js @@ -1,7 +1,7 @@ OC.L10N.register( "lib", { - "Cannot write into \"config\" directory!" : "Não é possível gravar no diretório \"config\"!", + "Cannot write into \"config\" directory!" : "Não foi possível gravar no diretório \"config\"!", "This can usually be fixed by giving the webserver write access to the config directory" : "Isso geralmente pode ser corrigido dando o acesso de gravação ao webserver para o diretório de configuração", "See %s" : "Ver %s", "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Isso geralmente pode ser corrigido por %s dar a permissão de gravação ao servidor web para o diretório de configuração %s.", @@ -45,7 +45,7 @@ OC.L10N.register( "File name is too long" : "O nome do arquivo é muito longo", "Dot files are not allowed" : "Arquivos Dot não são permitidos", "Empty filename is not allowed" : "Nome vazio para arquivo não é permitido.", - "This is an automatically sent email, please do not reply." : "Este é um email enviado automaticamente. Por favor, não responda.", + "This is an automatically sent email, please do not reply." : "Este é um e-mail enviado automaticamente. Por favor, não responda.", "Help" : "Ajuda", "Apps" : "Aplicativos", "Personal" : "Pessoal", @@ -77,9 +77,9 @@ OC.L10N.register( "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 altere o PHP para 64bit.", "Set an admin username." : "Defina um nome do usuário administrador.", "Set an admin password." : "Defina uma senha para o administrador.", - "Can't create or write into the data directory %s" : "Não é possível criar ou gravar no diretório de dados %s", + "Can't create or write into the data directory %s" : "Não foi possível criar ou gravar no diretório de dados %s", "Invalid Federated Cloud ID" : "ID inválida de Nuvem Federada", - "Sharing %s failed, because the backend does not allow shares from type %i" : "O compartilhamento %s falhou pois o processo interno não permite ações de tipo %i", + "Sharing %s failed, because the backend does not allow shares from type %i" : "O compartilhamento %s falhou pois a plataforma de serviço não permite ações de tipo %i", "Sharing %s failed, because the file does not exist" : "Compartilhamento %s falhou pois o arquivo não existe", "You are not allowed to share %s" : "Você não tem permissão para compartilhar %s", "Sharing %s failed, because you can not share with yourself" : "O compartilhamento %s falhou pois você não pode compartilhar com você mesmo", @@ -96,22 +96,22 @@ OC.L10N.register( "Share type %s is not valid for %s" : "O tipo de compartilhamento %s não é válido para %s", "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "A definição de permissões para %s falhou pois as permissões excedem as permissões concedidas a %s", "Setting permissions for %s failed, because the item was not found" : "A definição de permissões para %s falhou pois o item não foi encontrado", - "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Não é possível definir a data de expiração. Os compartilhamentos não podem expirar mais tarde que %s depois de terem sido compartilhados", - "Cannot set expiration date. Expiration date is in the past" : "Não é possível definir a data de expiração pois ela está no passado", - "Cannot clear expiration date. Shares are required to have an expiration date." : "Não é possível eliminar a data de expiração. Compartilhamentos devem ter uma data de expiração.", - "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Compartilhamento backend %s deve implementar a interface OCP\\Share_Backend", - "Sharing backend %s not found" : "Compartilhamento backend %s não encontrado", - "Sharing backend for %s not found" : "Compartilhamento backend para %s não foi encontrado", + "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Não foi possível definir a data de expiração. Os compartilhamentos não podem expirar mais tarde que %s depois de terem sido compartilhados", + "Cannot set expiration date. Expiration date is in the past" : "Não foi possível definir a data de expiração pois ela está no passado", + "Cannot clear expiration date. Shares are required to have an expiration date." : "Não foi possível eliminar a data de expiração. Compartilhamentos devem ter uma data de expiração.", + "Sharing backend %s must implement the interface OCP\\Share_Backend" : "A plataforma de serviço de compartilhamento %s deve implementar a interface OCP\\Share_Backend", + "Sharing backend %s not found" : "Plataforma de serviço de compartilhamento %s não encontrada", + "Sharing backend for %s not found" : "Plataforma de serviço de compartilhamento para %s não foi encontrada", "Sharing failed, because the user %s is the original sharer" : "O compartilhamento falhou pois o usuário %s é o compartilhador original", "Sharing %s failed, because the permissions exceed permissions granted to %s" : "Compartilhamento %s falhou pois as permissões excedem as permissões concedidas a %s", "Sharing %s failed, because resharing is not allowed" : "O compartilhamento %s falhou pois recompartilhamentos não são permitidos", - "Sharing %s failed, because the sharing backend for %s could not find its source" : "O compartilhamento %s falhou, pois a infraestrutura de compartilhamento para %s não conseguiu encontrar a sua fonte", + "Sharing %s failed, because the sharing backend for %s could not find its source" : "O compartilhamento %s falhou pois a plataforma de serviço de compartilhamento para %s não conseguiu encontrar a sua fonte", "Sharing %s failed, because the file could not be found in the file cache" : "O compartilhamento %s falhou pois o arquivo não pôde ser encontrado no cache de arquivos", - "Cannot increase permissions of %s" : "Não é possível aumentar as permissões de %s", + "Cannot increase permissions of %s" : "Não foi possível aumentar as permissões de %s", "Files can't be shared with delete permissions" : "Os arquivos não podem ser compartilhadas com permissões de exclusão", "Files can't be shared with create permissions" : "Os arquivos não podem ser compartilhados com permissões de criação", "Expiration date is in the past" : "Data de expiração está no passado", - "Cannot set expiration date more than %s days in the future" : "Não é possível definir a data de expiração para mais que %s dias no futuro", + "Cannot set expiration date more than %s days in the future" : "Não foi possível definir a data de expiração para mais que %s dias no futuro", "Could not find category \"%s\"" : "Impossível localizar a categoria \"%s\"", "Sunday" : "Domingo", "Monday" : "Segunda-feira", @@ -173,14 +173,14 @@ OC.L10N.register( "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "O aplicativo \"%s\" não pode ser instalado pois as seguintes dependências não foram cumpridas: %s", "a safe home for all your data" : "um local seguro para todos os seus dados", "File is currently busy, please try again later" : "O arquivo está ocupado, tente novamente mais tarde", - "Can't read file" : "Não é possível ler arquivo", + "Can't read file" : "Não foi possível ler arquivo", "Application is not enabled" : "O aplicativo não está habilitado", "Authentication error" : "Erro de autenticação", "Token expired. Please reload page." : "O token expirou. Por favor recarregue a página.", "Unknown user" : "Usuário desconhecido", "No database drivers (sqlite, mysql, or postgresql) installed." : "Nenhum driver de banco de dados (sqlite, mysql ou postgresql) instalado.", - "Cannot write into \"config\" directory" : "Não é possível gravar no diretório \"config\"", - "Cannot write into \"apps\" directory" : "Não é possível gravar no diretório \"apps\"", + "Cannot write into \"config\" directory" : "Não foi possível gravar no diretório \"config\"", + "Cannot write into \"apps\" directory" : "Não foi possível gravar no diretório \"apps\"", "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Isto pode ser corrigido por %sdando ao servidor web permissão de escrita para o diretório app%s ou desabilitando o appstore no arquivo de configuração.", "Cannot create \"data\" directory" : "Não foi possível criar o diretório de dados", "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Isto geralmente pode ser corrigido ao <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dar permissão de gravação no diretório raiz</a>.", diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json index 939681966ee..133b7ae3ec2 100644 --- a/lib/l10n/pt_BR.json +++ b/lib/l10n/pt_BR.json @@ -1,5 +1,5 @@ { "translations": { - "Cannot write into \"config\" directory!" : "Não é possível gravar no diretório \"config\"!", + "Cannot write into \"config\" directory!" : "Não foi possível gravar no diretório \"config\"!", "This can usually be fixed by giving the webserver write access to the config directory" : "Isso geralmente pode ser corrigido dando o acesso de gravação ao webserver para o diretório de configuração", "See %s" : "Ver %s", "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Isso geralmente pode ser corrigido por %s dar a permissão de gravação ao servidor web para o diretório de configuração %s.", @@ -43,7 +43,7 @@ "File name is too long" : "O nome do arquivo é muito longo", "Dot files are not allowed" : "Arquivos Dot não são permitidos", "Empty filename is not allowed" : "Nome vazio para arquivo não é permitido.", - "This is an automatically sent email, please do not reply." : "Este é um email enviado automaticamente. Por favor, não responda.", + "This is an automatically sent email, please do not reply." : "Este é um e-mail enviado automaticamente. Por favor, não responda.", "Help" : "Ajuda", "Apps" : "Aplicativos", "Personal" : "Pessoal", @@ -75,9 +75,9 @@ "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 altere o PHP para 64bit.", "Set an admin username." : "Defina um nome do usuário administrador.", "Set an admin password." : "Defina uma senha para o administrador.", - "Can't create or write into the data directory %s" : "Não é possível criar ou gravar no diretório de dados %s", + "Can't create or write into the data directory %s" : "Não foi possível criar ou gravar no diretório de dados %s", "Invalid Federated Cloud ID" : "ID inválida de Nuvem Federada", - "Sharing %s failed, because the backend does not allow shares from type %i" : "O compartilhamento %s falhou pois o processo interno não permite ações de tipo %i", + "Sharing %s failed, because the backend does not allow shares from type %i" : "O compartilhamento %s falhou pois a plataforma de serviço não permite ações de tipo %i", "Sharing %s failed, because the file does not exist" : "Compartilhamento %s falhou pois o arquivo não existe", "You are not allowed to share %s" : "Você não tem permissão para compartilhar %s", "Sharing %s failed, because you can not share with yourself" : "O compartilhamento %s falhou pois você não pode compartilhar com você mesmo", @@ -94,22 +94,22 @@ "Share type %s is not valid for %s" : "O tipo de compartilhamento %s não é válido para %s", "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "A definição de permissões para %s falhou pois as permissões excedem as permissões concedidas a %s", "Setting permissions for %s failed, because the item was not found" : "A definição de permissões para %s falhou pois o item não foi encontrado", - "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Não é possível definir a data de expiração. Os compartilhamentos não podem expirar mais tarde que %s depois de terem sido compartilhados", - "Cannot set expiration date. Expiration date is in the past" : "Não é possível definir a data de expiração pois ela está no passado", - "Cannot clear expiration date. Shares are required to have an expiration date." : "Não é possível eliminar a data de expiração. Compartilhamentos devem ter uma data de expiração.", - "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Compartilhamento backend %s deve implementar a interface OCP\\Share_Backend", - "Sharing backend %s not found" : "Compartilhamento backend %s não encontrado", - "Sharing backend for %s not found" : "Compartilhamento backend para %s não foi encontrado", + "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Não foi possível definir a data de expiração. Os compartilhamentos não podem expirar mais tarde que %s depois de terem sido compartilhados", + "Cannot set expiration date. Expiration date is in the past" : "Não foi possível definir a data de expiração pois ela está no passado", + "Cannot clear expiration date. Shares are required to have an expiration date." : "Não foi possível eliminar a data de expiração. Compartilhamentos devem ter uma data de expiração.", + "Sharing backend %s must implement the interface OCP\\Share_Backend" : "A plataforma de serviço de compartilhamento %s deve implementar a interface OCP\\Share_Backend", + "Sharing backend %s not found" : "Plataforma de serviço de compartilhamento %s não encontrada", + "Sharing backend for %s not found" : "Plataforma de serviço de compartilhamento para %s não foi encontrada", "Sharing failed, because the user %s is the original sharer" : "O compartilhamento falhou pois o usuário %s é o compartilhador original", "Sharing %s failed, because the permissions exceed permissions granted to %s" : "Compartilhamento %s falhou pois as permissões excedem as permissões concedidas a %s", "Sharing %s failed, because resharing is not allowed" : "O compartilhamento %s falhou pois recompartilhamentos não são permitidos", - "Sharing %s failed, because the sharing backend for %s could not find its source" : "O compartilhamento %s falhou, pois a infraestrutura de compartilhamento para %s não conseguiu encontrar a sua fonte", + "Sharing %s failed, because the sharing backend for %s could not find its source" : "O compartilhamento %s falhou pois a plataforma de serviço de compartilhamento para %s não conseguiu encontrar a sua fonte", "Sharing %s failed, because the file could not be found in the file cache" : "O compartilhamento %s falhou pois o arquivo não pôde ser encontrado no cache de arquivos", - "Cannot increase permissions of %s" : "Não é possível aumentar as permissões de %s", + "Cannot increase permissions of %s" : "Não foi possível aumentar as permissões de %s", "Files can't be shared with delete permissions" : "Os arquivos não podem ser compartilhadas com permissões de exclusão", "Files can't be shared with create permissions" : "Os arquivos não podem ser compartilhados com permissões de criação", "Expiration date is in the past" : "Data de expiração está no passado", - "Cannot set expiration date more than %s days in the future" : "Não é possível definir a data de expiração para mais que %s dias no futuro", + "Cannot set expiration date more than %s days in the future" : "Não foi possível definir a data de expiração para mais que %s dias no futuro", "Could not find category \"%s\"" : "Impossível localizar a categoria \"%s\"", "Sunday" : "Domingo", "Monday" : "Segunda-feira", @@ -171,14 +171,14 @@ "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "O aplicativo \"%s\" não pode ser instalado pois as seguintes dependências não foram cumpridas: %s", "a safe home for all your data" : "um local seguro para todos os seus dados", "File is currently busy, please try again later" : "O arquivo está ocupado, tente novamente mais tarde", - "Can't read file" : "Não é possível ler arquivo", + "Can't read file" : "Não foi possível ler arquivo", "Application is not enabled" : "O aplicativo não está habilitado", "Authentication error" : "Erro de autenticação", "Token expired. Please reload page." : "O token expirou. Por favor recarregue a página.", "Unknown user" : "Usuário desconhecido", "No database drivers (sqlite, mysql, or postgresql) installed." : "Nenhum driver de banco de dados (sqlite, mysql ou postgresql) instalado.", - "Cannot write into \"config\" directory" : "Não é possível gravar no diretório \"config\"", - "Cannot write into \"apps\" directory" : "Não é possível gravar no diretório \"apps\"", + "Cannot write into \"config\" directory" : "Não foi possível gravar no diretório \"config\"", + "Cannot write into \"apps\" directory" : "Não foi possível gravar no diretório \"apps\"", "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Isto pode ser corrigido por %sdando ao servidor web permissão de escrita para o diretório app%s ou desabilitando o appstore no arquivo de configuração.", "Cannot create \"data\" directory" : "Não foi possível criar o diretório de dados", "This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Isto geralmente pode ser corrigido ao <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dar permissão de gravação no diretório raiz</a>.", diff --git a/lib/private/DB/MySqlTools.php b/lib/private/DB/MySqlTools.php new file mode 100644 index 00000000000..32f1de887c3 --- /dev/null +++ b/lib/private/DB/MySqlTools.php @@ -0,0 +1,49 @@ +<?php +/** + * @author Thomas Müller <thomas.mueller@tmit.eu> + * + * @copyright Copyright (c) 2017, ownCloud GmbH + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +namespace OC\DB; + +use OCP\IDBConnection; + +/** +* Various MySQL specific helper functions. +*/ +class MySqlTools { + + /** + * @param Connection $connection + * @return bool + */ + public function supports4ByteCharset(IDBConnection $connection) { + foreach (['innodb_file_format' => 'Barracuda', 'innodb_large_prefix' => 'ON', 'innodb_file_per_table' => 'ON'] as $var => $val) { + $result = $connection->executeQuery("SHOW VARIABLES LIKE '$var'"); + $rows = $result->fetch(); + $result->closeCursor(); + if ($rows === false) { + return false; + } + if (strcasecmp($rows['Value'], $val) !== 0) { + return false; + } + } + return true; + } +} diff --git a/lib/private/Mail/EMailTemplate.php b/lib/private/Mail/EMailTemplate.php index 3442e8e9430..0ae79345e4c 100644 --- a/lib/private/Mail/EMailTemplate.php +++ b/lib/private/Mail/EMailTemplate.php @@ -357,7 +357,7 @@ EOF; } $this->headerAdded = true; - $logoUrl = $this->urlGenerator->getAbsoluteURL($this->themingDefaults->getLogo()); + $logoUrl = $this->urlGenerator->getAbsoluteURL($this->themingDefaults->getLogo(false)); $this->htmlBody .= vsprintf($this->header, [$this->themingDefaults->getColorPrimary(), $logoUrl, $this->themingDefaults->getName()]); } diff --git a/lib/private/Setup/MySQL.php b/lib/private/Setup/MySQL.php index 9998ca401d9..8290d675500 100644 --- a/lib/private/Setup/MySQL.php +++ b/lib/private/Setup/MySQL.php @@ -27,6 +27,7 @@ */ namespace OC\Setup; +use OC\DB\MySqlTools; use OCP\IDBConnection; class MySQL extends AbstractDatabase { @@ -36,6 +37,13 @@ class MySQL extends AbstractDatabase { //check if the database user has admin right $connection = $this->connect(['dbname' => null]); + // detect mb4 + $tools = new MySqlTools(); + if ($tools->supports4ByteCharset($connection)) { + $this->config->setValue('mysql.utf8mb4', true); + $connection = $this->connect(); + } + $this->createSpecificUser($username, $connection); //create the database diff --git a/lib/private/legacy/defaults.php b/lib/private/legacy/defaults.php index cc4991efd3e..f6d72d9776d 100644 --- a/lib/private/legacy/defaults.php +++ b/lib/private/legacy/defaults.php @@ -47,9 +47,8 @@ class OC_Defaults { private $defaultSlogan; private $defaultLogoClaim; private $defaultColorPrimary; - private $defaultLogoUrl; - function __construct() { + public function __construct() { $this->l = \OC::$server->getL10N('lib'); $this->defaultEntity = 'Nextcloud'; /* e.g. company name, used for footers and copyright notices */ @@ -65,8 +64,6 @@ class OC_Defaults { $this->defaultSlogan = $this->l->t('a safe home for all your data'); $this->defaultLogoClaim = ''; $this->defaultColorPrimary = '#0082c9'; - $this->defaultLogoUrl = \OC::$server->getURLGenerator()->imagePath('core','logo.svg'); - $this->defaultLogoUrl .= '?v=' . hash('sha1', implode('.', \OCP\Util::getVersion())); $themePath = OC::$SERVERROOT . '/themes/' . OC_Util::getTheme() . '/defaults.php'; if (file_exists($themePath)) { @@ -307,13 +304,19 @@ class OC_Defaults { /** * Themed logo url * + * @param bool $useSvg Whether to point to the SVG image or a fallback * @return string */ - public function getLogo() { + public function getLogo($useSvg = true) { if ($this->themeExist('getLogo')) { - return $this->theme->getLogo(); + return $this->theme->getLogo($useSvg); } - return $this->defaultLogoUrl; + if($useSvg) { + $logo = \OC::$server->getURLGenerator()->imagePath('core', 'logo.svg'); + } else { + $logo = \OC::$server->getURLGenerator()->imagePath('core', 'logo.png'); + } + return $logo . '?v=' . hash('sha1', implode('.', \OCP\Util::getVersion())); } } diff --git a/lib/private/legacy/template.php b/lib/private/legacy/template.php index 9a919ff12f2..b4c69327438 100644 --- a/lib/private/legacy/template.php +++ b/lib/private/legacy/template.php @@ -292,6 +292,11 @@ class OC_Template extends \OC\Template\Base { * @param string $hint An optional hint message - needs to be properly escaped */ public static function printErrorPage( $error_msg, $hint = '' ) { + if (\OC_App::isEnabled('theming') && !\OC_App::isAppLoaded('theming')) { + \OC_App::loadApp('theming'); + } + + if ($error_msg === $hint) { // If the hint is the same as the message there is no need to display it twice. $hint = ''; diff --git a/lib/public/Defaults.php b/lib/public/Defaults.php index dbde78bce68..543657694c5 100644 --- a/lib/public/Defaults.php +++ b/lib/public/Defaults.php @@ -178,11 +178,12 @@ class Defaults { /** * Themed logo url * + * @param bool $useSvg Whether to point to the SVG image or a fallback * @return string * @since 12.0.0 */ - public function getLogo() { - return $this->defaults->getLogo(); + public function getLogo($useSvg = true) { + return $this->defaults->getLogo($useSvg); } /** diff --git a/settings/css/settings.css b/settings/css/settings.css index acd8ce8e47c..fb71e5ece23 100644 --- a/settings/css/settings.css +++ b/settings/css/settings.css @@ -2,8 +2,13 @@ This file is licensed under the Affero General Public License version 3 or later. See the COPYING-README file. */ -select#languageinput, select#timezone { width:15em; } -input#openid, input#webdav { width:20em; } +select#languageinput, select#timezone { + width: 15em; +} + +input#openid, input#webdav { + width: 20em; +} /* PERSONAL */ @@ -11,21 +16,27 @@ input#openid, input#webdav { width:20em; } .nav-icon-personal-settings { background-image: url('../img/personal.svg?v=1'); } + .nav-icon-sessions { background-image: url('../img/toggle-filelist.svg?v=1'); } + .nav-icon-apppasswords { background-image: url('../img/password.svg?v=1'); } + .nav-icon-clientsbox { background-image: url('../img/change.svg?v=1'); } + .nav-icon-federated-cloud { background-image: url('../img/share.svg?v=1'); } + .nav-icon-second-factor-backup-codes { background-image: url('../img/password.svg?v=1'); } + .nav-icon-ssl-root-certificate { background-image: url('../img/password.svg?v=1'); } @@ -34,15 +45,19 @@ input#openid, input#webdav { width:20em; } min-width: 145px; padding-right: 0; } + #avatarform .avatardiv { margin-bottom: 10px; } + #avatarform .warning { width: 100%; } + #displayavatar { text-align: center; } + #displayavatar p { text-align: left; } @@ -53,9 +68,11 @@ input#openid, input#webdav { width:20em; } width: 33px; height: 33px; } + .jcrop-holder { z-index: 500; } + #cropper { float: left; z-index: 500; @@ -68,6 +85,7 @@ input#openid, input#webdav { width:20em; } width: 100%; height: calc(100% - 45px); } + #cropper .inner-container { z-index: 2001; /* above the top bar if needed */ position: absolute; @@ -84,9 +102,11 @@ input#openid, input#webdav { width:20em; } #cropper .inner-container .jcrop-holder { box-shadow: 0 0 7px #888; } + #cropper .inner-container .button { margin-top: 15px; } + #cropper .inner-container .primary { float: right; } @@ -94,6 +114,7 @@ input#openid, input#webdav { width:20em; } #personal-settings-avatar-container { float: left; } + #personal-settings-container { position: relative; float: left; @@ -101,22 +122,27 @@ input#openid, input#webdav { width:20em; } max-width: 700px; width: calc(100% - 200px); } + #personal-settings-container:after { clear: both; } + #personal-settings-container > div { float: left; height: 100px; min-width: 300px; } + #personal-settings-container.no-edit > div { height: 20px; min-width: 200px; } + #avatarform > h2, #personal-settings-container > div h2 { position: relative; } + #personal-settings-container > div h2 span[class^="icon-"], #personal-settings-avatar-container h2 span[class^="icon-"] { display: inline-block; @@ -127,11 +153,13 @@ input#openid, input#webdav { width:20em; } opacity: .3; cursor: pointer; } + .personal-settings-setting-box input[type="text"], .personal-settings-setting-box input[type="email"], .personal-settings-setting-box input[type="tel"] { width: 17em; } + #personal-settings-container > div > form span[class^="icon-checkmark"] { position: absolute; left: 228px; @@ -145,22 +173,27 @@ input#openid, input#webdav { width:20em; } right: 14px; top: 70px; } + #personal-settings-container .verify img { padding: 12px 7px 6px; } + /* only show pointer cursor when popup will be there */ #personal-settings-container .verify-action { cursor: pointer; } + .verification-dialog { display: none; right: -9px; top: 40px; width: 275px; } + .verification-dialog p { padding: 10px; } + .verification-dialog .verificationCode { font-family: monospace; display: block; @@ -171,16 +204,19 @@ input#openid, input#webdav { width:20em; } top: 44px; margin: -5px 0px 0; } + .federationScopeMenu.bubble::after { right: 50%; transform: translate(50%, 0); } + .federationScopeMenu.popovermenu a.menuitem, .federationScopeMenu.popovermenu label.menuitem, .federationScopeMenu.popovermenu .menuitem { font-size: 12.8px; line-height: 1.6em; } + .federationScopeMenu.popovermenu .menuitem .menuitem-text-detail { opacity: .75; } @@ -194,11 +230,13 @@ input#openid, input#webdav { width:20em; } padding-right: 0; min-width: 60%; } + #avatarform, #passwordform { margin-bottom: 0; padding-bottom: 0; } + #groups { overflow-wrap: break-word; max-width: 75%; @@ -213,17 +251,19 @@ input#openid, input#webdav { width:20em; } #sslCertificate tr.expired { background-color: rgba(255, 0, 0, 0.5); } + #sslCertificate td { padding: 5px; } - #displaynameerror { display: none; } + #displaynamechanged { display: none; } + input#identity { width: 20em; } @@ -237,6 +277,7 @@ input#identity { background-color: #47a447; padding: 3px; } + .msg.error { color: #fff; background-color: #d2322d; @@ -247,8 +288,13 @@ input#identity { display: inline-block; } -table.nostyle label { margin-right: 2em; } -table.nostyle td { padding: 0.2em 0; } +table.nostyle label { + margin-right: 2em; +} + +table.nostyle td { + padding: 0.2em 0; +} #sessions table, #apppasswords table { @@ -257,10 +303,12 @@ table.nostyle td { padding: 0.2em 0; } padding-top: 5px; max-width: 580px; } + #sessions table th, #apppasswords table th { opacity: .5; } + #sessions table th, #sessions table td, #apppasswords table th, @@ -286,10 +334,11 @@ table.nostyle td { padding: 0.2em 0; } position: relative; } -#sessions tr>*:nth-child(2), -#apppasswords tr>*:nth-child(2) { +#sessions tr > *:nth-child(2), +#apppasswords tr > *:nth-child(2) { text-align: right; } + #sessions .token-list td > a.icon, #apppasswords .token-list td > a.icon { opacity: 0; @@ -305,7 +354,7 @@ table.nostyle td { padding: 0.2em 0; } #sessions .token-list tr:hover td > a.icon, #apppasswords .token-list tr:hover td > a.icon, #sessions .token-list tr.active td > a.icon, -#apppasswords .token-list tr.active td > a.icon{ +#apppasswords .token-list tr.active td > a.icon { opacity: 0.6; } @@ -329,7 +378,7 @@ table.nostyle td { padding: 0.2em 0; } } #sessions .token-list tr.active div.configure > *, -#apppasswords .token-list tr.active div.configure > *{ +#apppasswords .token-list tr.active div.configure > * { margin-top: 5px; margin-bottom: 5px; display: inline-block; @@ -347,6 +396,7 @@ table.nostyle td { padding: 0.2em 0; } font-family: monospace; background-color: lightyellow; } + .app-password-row { display: table-row; } @@ -369,21 +419,29 @@ table.nostyle td { padding: 0.2em 0; } padding-left: 0 !important; margin-left: -10px } + .social-button img { padding: 10px; } - /* USERS */ -#newgroup-init a span { margin-left: 20px; } +#newgroup-init a span { + margin-left: 20px; +} + #newgroup-init a span:before { - position: absolute; left: 12px; top:-2px; - content: '+'; font-weight: bold; font-size: 150%; + position: absolute; + left: 12px; + top: -2px; + content: '+'; + font-weight: bold; + font-size: 150%; } #newgroup-form { height: 44px; } + #newgroupname { margin: 0; width: 100%; @@ -394,6 +452,7 @@ table.nostyle td { padding: 0.2em 0; } border-bottom: 1px solid #eee; border-radius: 0; } + #newgroup-form .button { position: absolute; right: 0; @@ -410,36 +469,70 @@ table.nostyle td { padding: 0.2em 0; } overflow: hidden; text-overflow: ellipsis; } + .isgroup.active .groupname { width: 65%; } -.usercount { float: left; margin: 5px; } +.usercount { + float: left; + margin: 5px; +} + li.active span.utils .delete { - float: left; position: relative; opacity: 0.5; - top: -7px; left: 7px; width: 44px; height: 44px; + float: left; + position: relative; + opacity: 0.5; + top: -7px; + left: 7px; + width: 44px; + height: 44px; } + li.active .rename { padding: 8px 14px 20px 14px; - top: 0px; position: absolute; width: 16px; height: 16px; + top: 0px; + position: absolute; + width: 16px; + height: 16px; opacity: 0.5; display: inline-block !important; } -li.active span.utils .delete img { margin: 14px; } -li.active .rename { opacity: 0.5; } -li.active span.utils .delete:hover, li.active .rename:hover { opacity: 1; } -span.utils .delete, .rename { display: none; } + +li.active span.utils .delete img { + margin: 14px; +} + +li.active .rename { + opacity: 0.5; +} + +li.active span.utils .delete:hover, li.active .rename:hover { + opacity: 1; +} + +span.utils .delete, .rename { + display: none; +} + #app-navigation ul li.active > span.utils .delete, -#app-navigation ul li.active > span.utils .rename { display: block; } +#app-navigation ul li.active > span.utils .rename { + display: block; +} + #usersearchform { position: absolute; top: 2px; right: 0; } + #usersearchform input { width: 150px; } -#usersearchform label { font-weight: 700; } + +#usersearchform label { + font-weight: 700; +} /* display table at full width */ table.grid { @@ -450,6 +543,7 @@ table.grid th { height: 2em; color: #999; } + table.grid th, table.grid td { border-bottom: 1px solid #eee; padding: 0 .5em; @@ -457,11 +551,28 @@ table.grid th, table.grid td { text-align: left; font-weight: normal; } -td.name, td.password { padding-left:.8em; } -td.password>img,td.displayName>img, td.quota>img { visibility:hidden; } -td.password, td.quota, td.displayName { width:12em; cursor:pointer; } -td.password>span, td.quota>span { margin-right: 1.2em; color: #C7C7C7; } -span.usersLastLoginTooltip { white-space: nowrap; } + +td.name, td.password { + padding-left: .8em; +} + +td.password > img, td.displayName > img, td.quota > img { + visibility: hidden; +} + +td.password, td.quota, td.displayName { + width: 12em; + cursor: pointer; +} + +td.password > span, td.quota > span { + margin-right: 1.2em; + color: #C7C7C7; +} + +span.usersLastLoginTooltip { + white-space: nowrap; +} /* dropdowns will be relative to this element */ #userlist { @@ -472,7 +583,7 @@ span.usersLastLoginTooltip { white-space: nowrap; } #userlist .storageLocation, #userlist .userBackend, #userlist .lastLogin { - display : none; + display: none; } /* because of accessibility the name cell is <th> - therefore we enforce the black color */ @@ -503,10 +614,11 @@ span.usersLastLoginTooltip { white-space: nowrap; } } .bubble { - z-index:1; + z-index: 1; right: -6px; top: auto; } + .bubble:after { right: 5px; } @@ -521,63 +633,111 @@ span.usersLastLoginTooltip { white-space: nowrap; } #userlist .popovermenu { margin-top: 4px; border-top-right-radius: 3px; + right: 3px; + opacity: 0; + display: block; + visibility: hidden; + transition: opacity 0.1s, visibility 0.1s; +} + +#userlist tr.active .popovermenu { + opacity: 1; + visibility: visible; +} + +#userlist .popovermenu > ul.userActionsMenu { + right: 15px; } -#userlist .popovermenu>ul.userActionsMenu { - right: 10px; +#userlist .popovermenu > ul.userActionsMenu a { + margin: 5px 0; } -#userlist .popovermenu>ul.userActionsMenu a span { +#userlist .popovermenu > ul.userActionsMenu a span:last-child { margin-left: 5px; } -#userlist .popovermenu { - display:none; +tr:hover > td.password > span, tr:hover > td.displayName > span { + margin: 0; + cursor: pointer; +} + +tr:hover > td.password > img, tr:hover > td.displayName > img, tr:hover > td.quota > img { + visibility: visible; + cursor: pointer; } -tr:hover>td.password>span, tr:hover>td.displayName>span { margin:0; cursor:pointer; } -tr:hover>td.password>img,tr:hover>td.displayName>img, tr:hover>td.quota>img { visibility:visible; cursor:pointer; } td.userActions { width: 25px; text-align: center; } + td.userActions .action { position: relative; top: 3px; } + +tr.active td.userActions .action { + opacity: 1; +} + td.userActions .action:hover { cursor: pointer; } -div.recoveryPassword { left:50em; display:block; position:absolute; top:-1px; } -input#recoveryPassword {width:15em;} +div.recoveryPassword { + left: 50em; + display: block; + position: absolute; + top: -1px; +} + +input#recoveryPassword { + width: 15em; +} + #controls select.quota { margin: 3px; margin-right: 10px; height: 37px; } -select.quota-user { position:relative; left:0; top:0; width:10em; } -select.quota.active { background: #fff; } -input.userFilter {width: 200px;} +select.quota-user { + position: relative; + left: 0; + top: 0; + width: 10em; +} + +select.quota.active { + background: #fff; +} + +input.userFilter { + width: 200px; +} /* positioning fixes */ #newuser { padding-left: 3px; } + #newuser .multiselect { min-width: 150px !important; } + #newuser .multiselect, #newusergroups + input[type='submit'] { position: relative; top: -1px; } + #headerGroups, #headerSubAdmins, #headerQuota { padding-left: 18px; } + #headerAvatar { width: 32px; } @@ -587,7 +747,6 @@ input.userFilter {width: 200px;} background-color: #FDD; } - /* APPS */ /* Bundle header */ @@ -595,21 +754,25 @@ input.userFilter {width: 200px;} display: table-row; position: relative; } + #apps-list .apps-header div { display: table-cell; height: 70px; } + #apps-list .apps-header h2 { display: table-cell; position: absolute; padding-left: 6px; padding-top: 15px; } + #apps-list .apps-header h2 .enable { position: relative; top: -1px; margin-left: 12px; } + #apps-list .apps-header h2 + .section { margin-top: 50px; } @@ -624,10 +787,14 @@ input.userFilter {width: 200px;} margin-bottom: 20px; } -.appinfo { margin: 1em 40px; } +.appinfo { + margin: 1em 40px; +} + #app-navigation .appwarning { background: #fcc; } + #app-navigation.appwarning:hover { background: #fbb; } @@ -640,12 +807,13 @@ span.version { #app-navigation .app-external, .app-version { - color: rgba(85,85,85,.5); + color: rgba(85, 85, 85, .5); } .app-level { margin-top: 8px; } + .app-level span { color: #555; background-color: transparent; @@ -653,10 +821,12 @@ span.version { border-radius: 3px; padding: 3px 6px; } + .app-level a { padding: 10px; white-space: nowrap; } + .app-level .official { border-color: #37ce02; background-position: left center; @@ -677,6 +847,7 @@ span.version { flex-wrap: wrap; align-content: flex-start; } + #apps-list.hidden { display: none; } @@ -686,6 +857,7 @@ span.version { flex: 0 0 auto; margin-left: 20px; } + #apps-list .section.apps-experimental { flex-basis: 90%; } @@ -693,16 +865,20 @@ span.version { #apps-list .app-description p { margin: 10px 0; } + #apps-list .app-description ul { list-style: disc; } + #apps-list .app-description ol { list-style: decimal; } + #apps-list .app-description > ul, #apps-list .app-description > ol { margin-left: 19px; } + #apps-list .app-description ol ol, #apps-list .app-description ol ul, #apps-list .app-description ul ol, @@ -715,6 +891,7 @@ span.version { width: 22%; box-sizing: border-box; } + #apps-list .section:nth-child(4n) { margin-right: 20px; } @@ -725,6 +902,7 @@ span.version { width: 30%; box-sizing: border-box; } + #apps-list .section:nth-child(3n) { margin-right: 20px; } @@ -735,6 +913,7 @@ span.version { width: 40%; box-sizing: border-box; } + #apps-list .section:nth-child(2n) { margin-right: 20px; } @@ -747,6 +926,7 @@ span.version { display: none !important; } } + @media only screen and (max-width: 700px) { #apps-list.installed .app-groups { display: none !important; @@ -757,9 +937,11 @@ span.version { display: block; margin: 8px 0; } + form.section { position: relative; } + .followupsection { display: block; padding: 0 30px 30px 30px; @@ -768,12 +950,14 @@ form.section { margin-top: -30px; position: relative; } + .app-image { position: relative; height: 150px; opacity: 1; overflow: hidden; } + .app-name, .app-version, .app-score, @@ -789,6 +973,7 @@ form.section { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; opacity: .5; } + .app-description-container { clear: both; position: relative; @@ -806,6 +991,7 @@ form.section { #app-category-1 { margin-bottom: 18px; } + /* capitalize "Other" category */ #app-category-925 { text-transform: capitalize; @@ -822,10 +1008,19 @@ form.section { } /* Transition to complete width! */ -.app:hover, .app:active { max-width: inherit; } +.app:hover, .app:active { + max-width: inherit; +} -.appslink { text-decoration: underline; } -.score { color:#666; font-weight:bold; font-size:0.8em; } +.appslink { + text-decoration: underline; +} + +.score { + color: #666; + font-weight: bold; + font-size: 0.8em; +} .appinfo .documentation { margin-top: 1em; @@ -845,7 +1040,7 @@ form.section { margin: 0; } -#apps-list.installed .section > *{ +#apps-list.installed .section > * { display: table-cell; height: initial; vertical-align: middle; @@ -884,20 +1079,25 @@ form.section { } #apps-list.installed .groups-enable label { - margin-right: 3px; + margin-right: 3px; } /* LOG */ #log { - white-space:normal; + white-space: normal; margin-bottom: 14px; } -#lessLog { display:none; } -table.grid td.date{ + +#lessLog { + display: none; +} + +table.grid td.date { white-space: nowrap; } + #log-section p { - margin-top:20px; + margin-top: 20px; } /* ADMIN */ @@ -908,6 +1108,7 @@ table.grid td.date{ margin-right: 6px; width: 16px; } + #app-navigation li span.no-icon { padding-left: 32px; } @@ -916,20 +1117,29 @@ table.grid td.date{ list-style: initial; margin: 10px 0; } + #security-warning-state span { padding-left: 25px; background-position: 5px center; margin-left: -5px; } -#shareAPI p { padding-bottom: 0.8em; } -#shareAPI input#shareapiExpireAfterNDays {width: 25px;} +#shareAPI p { + padding-bottom: 0.8em; +} + +#shareAPI input#shareapiExpireAfterNDays { + width: 25px; +} + #shareAPI .indent { padding-left: 28px; } + #shareAPI .double-indent { padding-left: 56px; } + #fileSharingSettings h3 { display: inline-block; } @@ -947,6 +1157,7 @@ table.grid td.date{ padding: 11px 20px; vertical-align: text-bottom; } + #shareAPI h2, #encryptionAPI h2, #mail_general_settings h2 { @@ -964,9 +1175,11 @@ table.grid td.date{ width: 300px; text-align: right; } + .mail_settings p select:nth-child(2) { width: 143px; } + #mail_smtpport { width: 40px; } @@ -974,12 +1187,14 @@ table.grid td.date{ .cronlog { margin-left: 10px; } + .status { display: inline-block; height: 16px; width: 16px; vertical-align: text-bottom; } + .status.success { border-radius: 50%; } @@ -1002,9 +1217,11 @@ span.success { background: #37ce02; border-radius: 3px; } + span.error { background: #ce3702; } + span.indeterminate { background: #e6db00; border-radius: 40% 0; @@ -1032,7 +1249,6 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; } - /* HELP */ .help-includes { @@ -1062,6 +1278,7 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { #admin-tips li { list-style: initial; } + #admin-tips li a { display: inline-block; padding: 3px 0; diff --git a/settings/js/users/users.js b/settings/js/users/users.js index 387709cd64c..dccbcc0ce1e 100644 --- a/settings/js/users/users.js +++ b/settings/js/users/users.js @@ -908,21 +908,24 @@ $(document).ready(function () { event.stopPropagation(); var $td = $(this).closest('td'); var $tr = $($td).closest('tr'); - var menudiv = $td.find('.popovermenu'); + var menudiv = $tr.find('.popovermenu'); - if(menudiv.is(':visible')) { - menudiv.fadeOut(100); + if($tr.is('.active')) { + $tr.removeClass('active'); return; } + $('#userlist tr.active').removeClass('active'); menudiv.find('.action-togglestate').empty(); if($tr.data('userEnabled')) { $('.action-togglestate', $td).html('<span class="icon icon-close"></span><span>'+t('settings', 'Disable')+'</span>'); } else { $('.action-togglestate', $td).html('<span class="icon icon-add"></span><span>'+t('settings', 'Enable')+'</span>'); } - menudiv.click(function() { menudiv.fadeOut(100); }); - menudiv.hover('', function() { menudiv.fadeOut(100); }); - menudiv.fadeIn(100); + $tr.addClass('active'); + }); + + $(document.body).click(function() { + $('#userlist tr.active').removeClass('active'); }); $userListBody.on('click', '.action-togglestate', function (event) { diff --git a/settings/l10n/ca.js b/settings/l10n/ca.js index 6c0836b3465..4ff1676ec91 100644 --- a/settings/l10n/ca.js +++ b/settings/l10n/ca.js @@ -1,11 +1,23 @@ OC.L10N.register( "settings", { + "{actor} changed your password" : "{actor} va canviar la contrasenya", + "You changed your password" : "Has canviat la teva contrasenya", + "Your password was reset by an administrator" : "La seva contrasenya s'ha restablert per un administrador", + "{actor} changed your email address" : "{actor} va canviar la seva adreça d\\'email", + "You changed your email address" : "Has canviat el teu email", + "Your email address was changed by an administrator" : "La seva adreça d'email s\\'ha canviat per un administrador", + "Your <strong>password</strong> or <strong>email</strong> was modified" : "La teva <strong>contrasenya</strong> o <strong>email</strong> s'ha modificat", + "Your apps" : "Les teves apps", + "Enabled apps" : "Apps activades", + "Disabled apps" : "Apps desactivades", + "App bundles" : "Paquets d'apps", "Wrong password" : "Contrasenya incorrecta", "Saved" : "Desat", "No user supplied" : "No heu proporcionat cap usuari", "Unable to change password" : "No es pot canviar la contrasenya", "Authentication error" : "Error d'autenticació", + "Please provide an admin recovery password; otherwise, all user data will be lost." : "Si us plau, proporcioni una contrasenya d'administrador de recuperació; en cas contrari, es perdran totes les dades d'usuari.", "Wrong admin recovery password. Please check the password and try again." : "La contrasenya de recuperació d'administrador és incorrecta. Comproveu-la i torneu-ho a intentar.", "Federated Cloud Sharing" : "Compartició federada de núvol", "A problem occurred, please check your log files (Error: %s)" : "S'ha produït un problema, si us plau revisi els arxius de registre (Error: %s)", @@ -13,6 +25,8 @@ OC.L10N.register( "Group already exists." : "El grup ja existeix.", "Unable to add group." : "No es pot agregar el grup.", "Unable to delete group." : "No es pot esborrar el grup.", + "Invalid SMTP password." : "Contrasenya SMTP no vàlida.", + "Well done, %s!" : "Ben fet, %s!", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Hi ha hagut un problema en enviar el correu. Revisi la seva configuració. (Error: %s)", "You need to set your user email before being able to send test emails." : "Heu d'establir un nom d'usuari abans de poder enviar correus de prova.", "Invalid request" : "Sol·licitud no vàlida", @@ -21,6 +35,8 @@ OC.L10N.register( "A user with that name already exists." : "Ja existeix un usuari amb est nom.", "Unable to create user." : "No es pot crear el usuari.", "Unable to delete user." : "No es pot eliminar l'usuari", + "Error while enabling user." : "Error activant usuari.", + "Error while disabling user." : "Error desactivant usuari.", "Settings saved" : "Paràmetres desats", "Unable to change full name" : "No s'ha pogut canviar el nom complet", "Unable to change email address" : "No es pot canviar l'adreça de correu", @@ -29,18 +45,41 @@ OC.L10N.register( "Invalid user" : "Usuari no vàlid", "Unable to change mail address" : "No es pot canviar l'adreça de correu electrònic", "Email saved" : "S'ha desat el correu electrònic", + "%1$s changed your password on %2$s." : "%1$s va canviar la teva contrasenya a %2$s.", + "Your password on %s was changed." : "La teva contrasenya a %s es va canviar.", + "Your password on %s was reset by an administrator." : "La teva contrasenya a %s va ser restablerta per un administrador.", + "Password changed for %s" : "Contrasenya canviada per %s", + "If you did not request this, please contact an administrator." : "Si vostè no l'ha sol·licitat, si us plau, poseu-vos en contacte amb un administrador.", + "Password for %1$s changed on %2$s" : "Contrasenya per %1$s canviada a %2$s", + "%1$s changed your email address on %2$s." : "%1$s va canviar el teu email a %2$s.", + "Your email address on %s was changed." : "El teu email a %s es va canviar.", + "Your email address on %s was changed by an administrator." : "El teu email a %s es va canviar per un administrador.", + "Email address changed for %s" : "Adreça d'email canviada per %s", + "The new email address is %s" : "La teva adreça d'email és %s", + "Email address for %1$s changed on %2$s" : "Adreça d'email per %1$s canviada a %2$s", + "Welcome aboard" : "Benvingut a bord", + "Welcome aboard %s" : "Benvingut a bord %s", + "You have now an %s account, you can add, protect, and share your data." : "Ara tens un compte %s, pot afegir, protegir i compartir les teves dades.", + "Your username is: %s" : "El teu usuari és: %s", + "Set your password" : "Establir la contrasenya", + "Go to %s" : "Anar a %s", + "Install Client" : "Instal·lar Client", "Your %s account was created" : "S'ha creat el seu compte %s", + "Password confirmation is required" : "Cal una confirmació de la contrasenya", "Couldn't remove app." : "No s'ha pogut eliminar l'aplicació", "Couldn't update app." : "No s'ha pogut actualitzar l'aplicació.", + "Are you really sure you want add {domain} as trusted domain?" : "Estàs segur que vols afegir {domini} com a domini de confiança?", "Add trusted domain" : "Afegir domini de confiança", "Migration in progress. Please wait until the migration is finished" : "Migració en progrés. Si us plau, espereu fins que finalitzi la migració", "Migration started …" : "Migració iniciada ...", "Not saved" : "No desat", + "Sending…" : "Enviant…", "Email sent" : "El correu electrónic s'ha enviat", "Official" : "Oficial", "All" : "Tots", "Update to %s" : "Actualitzar a %s", "No apps found for your version" : "No s'han trobat aplicacions per la seva versió", + "The app will be downloaded from the app store" : "L'app es descarregarà des de la botiga d'apps", "Error while disabling app" : "Error en desactivar l'aplicació", "Disable" : "Desactiva", "Enable" : "Habilita", @@ -49,10 +88,15 @@ OC.L10N.register( "Updating...." : "Actualitzant...", "Error while updating app" : "Error en actualitzar l'aplicació", "Updated" : "Actualitzada", + "Removing …" : "Treient ...", + "Error while removing app" : "Error treient app", + "Remove" : "Treure", "App update" : "Actualització de la App", "Approved" : "Aprovat", "Experimental" : "Experimental", + "Enable all" : "Permetre tots", "Disconnect" : "Desconnecta", + "Revoke" : "Revocar", "Internet Explorer" : "Internet Explorer", "Edge" : "Edge", "Firefox" : "Firefox", @@ -63,12 +107,14 @@ OC.L10N.register( "iPad iOS" : "iPad iOS", "iOS Client" : "iOS Client", "Android Client" : "Client Android", + "Sync client - {os}" : "Client de sincronització - {os}", "This session" : "Aquesta sessió", "Copy" : "Copia", "Copied!" : "Copiat!", "Not supported!" : "No soportat!", "Press ⌘-C to copy." : "Prem ⌘-C per copiar.", "Press Ctrl-C to copy." : "Prem Ctrl-C per copiar.", + "Error while loading browser sessions and device tokens" : "Error durant la càrrega de les sessions del navegador i testimonis de dispositius", "Valid until {date}" : "Vàlid fins {date}", "Delete" : "Esborra", "Local" : "Local", @@ -77,6 +123,8 @@ OC.L10N.register( "Only visible to you" : "Només visible per tu", "Contacts" : "Contactes", "Public" : "Públic", + "Verify" : "Verificar", + "Verifying …" : "Verificant ...", "Select a profile picture" : "Seleccioneu una imatge de perfil", "Very weak password" : "Contrasenya massa feble", "Weak password" : "Contrasenya feble", @@ -85,19 +133,25 @@ OC.L10N.register( "Strong password" : "Contrasenya forta", "Groups" : "Grups", "Unable to delete {objName}" : "No es pot eliminar {objName}", + "Error creating group: {message}" : "Error creant grup: {message}", "A valid group name must be provided" : "Heu de facilitar un nom de grup vàlid", "deleted {groupName}" : "eliminat {groupName}", "undo" : "desfés", "never" : "mai", "deleted {userName}" : "eliminat {userName}", + "Unable to add user to group {group}" : "No es pot afegir l'usuari al grup {group}", + "Unable to remove user from group {group}" : "No es pot eliminar l'usuari del grup {group}", "Add group" : "Afegeix grup", "no group" : "sense grup", + "Password successfully changed" : "Contrasenya canviada correctament", "Changing the password will result in data loss, because data recovery is not available for this user" : "Canviar la contrasenya provocarà pèrdua de dades, perquè la recuperació de dades no està disponible per a aquest usuari", + "Could not change the users email" : "No s'ha pogut canviar el correu electrònic dels usuaris", "A valid username must be provided" : "Heu de facilitar un nom d'usuari vàlid", "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida", "A valid email must be provided" : "S'ha de subministrar una adreça de correu electrònic vàlida", "__language_name__" : "Català", "Unlimited" : "Il·limitat", + "Verifying" : "Verificant", "Personal info" : "Informació personal", "Sessions" : "Sessions", "App passwords" : "Contrasenyes de l'Aplicació", @@ -106,6 +160,8 @@ OC.L10N.register( "Login" : "Inici de sessió", "Plain" : "Pla", "NT LAN Manager" : "Gestor NT LAN", + "SSL/TLS" : "SSL/TLS", + "STARTTLS" : "STARTTLS", "Email server" : "Servidor de correu electrònic", "Open documentation" : "Obre la documentació", "Send mode" : "Mode d'enviament", @@ -148,16 +204,19 @@ OC.L10N.register( "Allow apps to use the Share API" : "Permet que les aplicacions utilitzin l'API de compartir", "Allow users to share via link" : "Permet als usuaris compartir a través d'enllaços", "Allow public uploads" : "Permet pujada pública", + "Always ask for a password" : "Sempre demanar una contrasenya", "Enforce password protection" : "Reforça la protecció amb contrasenya", "Set default expiration date" : "Estableix la data de venciment", "Expire after " : "Venciment després de", "days" : "dies", "Enforce expiration date" : "Força la data de venciment", "Allow resharing" : "Permet compartir de nou", + "Allow sharing with groups" : "Permetre compartir amb grups", "Restrict users to only share with users in their groups" : "Permet als usuaris compartir només amb usuaris del seu grup", "Exclude groups from sharing" : "Exclou grups de compartició", "These groups will still be able to receive shares, but not to initiate them." : "Aquests fitxers encara podran rebre compartits, però no podran iniciar-los.", "Tips & tricks" : "Consells i trucs", + "This is particularly recommended when using the desktop client for file synchronisation." : "Això es recomana especialment quan s'utilitza el client d'escriptori per a sincronització d'arxius.", "How to do backups" : "Com fer còpies de seguretat", "Advanced monitoring" : "Supervisió avançada", "Performance tuning" : "Ajust del rendiment", @@ -165,6 +224,8 @@ OC.L10N.register( "Theming" : "Tematització", "Hardening and security guidance" : "Guia de protecció i seguretat", "Developer documentation" : "Documentació para desenvolupadors", + "Limit to groups" : "Limitar per grups", + "This app has an update available." : "Aquesta aplicació té una actualització disponible.", "by %s" : "per %s", "Documentation:" : "Documentació:", "User documentation" : "Documentació d'usuari", @@ -174,6 +235,7 @@ OC.L10N.register( "Hide description …" : "Amagar descripció...", "This app cannot be installed because the following dependencies are not fulfilled:" : "Aquesta aplicació no es pot instal·lar perquè les següents dependències no es compleixen:", "Enable only for specific groups" : "Activa només per grups específics", + "SSL Root Certificates" : "Certificats arrel SSL", "Common Name" : "Nom comú", "Valid until" : "Valid fins", "Issued By" : "Emès Per", @@ -186,8 +248,10 @@ OC.L10N.register( "Commercial support" : "Suport comercial", "Profile picture" : "Foto de perfil", "Upload new" : "Puja'n una de nova", + "Select from Files" : "Seleccioneu d'Arxius", "Remove image" : "Elimina imatge", "png or jpg, max. 20 MB" : "png or jpg, max. 20 MB", + "Picture provided by original account" : "Imatge proveïda per compte original", "Cancel" : "Cancel·la", "Choose as profile picture" : "Elegeix una imatge de perfil", "Full name" : "Nom complet", @@ -195,11 +259,13 @@ OC.L10N.register( "Email" : "Correu electrònic", "Your email address" : "Correu electrònic", "No email address set" : "No s'ha establert cap adreça de correu", + "For password reset and notifications" : "Per restablir la contrasenya i notificacions", "Phone number" : "Número de telèfon", "Your phone number" : "El teu número de telèfon", "Address" : "Adreça", "Your postal address" : "La teva adreça postal", "Website" : "Lloc web", + "It can take up to 24 hours before the account is displayed as verified." : "Pot prendre fins a 24 hores abans que aparegui el compte com a verificat.", "Twitter" : "Twitter", "You are member of the following groups:" : "Vostè és membre dels següents grups:", "Password" : "Contrasenya", @@ -213,15 +279,19 @@ OC.L10N.register( "Android app" : "aplicació para Android", "iOS app" : "aplicació para iOS", "Show First Run Wizard again" : "Torna a mostrar l'assistent de primera execució", + "Web, desktop and mobile clients currently logged in to your account." : "Clients Web, d'escriptori i mòbils connectats actualment al seu compte", "Device" : "Dispositiu", "Last activity" : "Última activitat", "Name" : "Nom", "App name" : "Nom de l'aplicació", "Create new app password" : "Crea una nova contrasenya de l'aplicació", + "For security reasons this password will only be shown once." : "Per raons de seguretat aquesta contrasenya només es mostrarà una vegada.", "Username" : "Nom d'usuari", "Done" : "Fet", + "Settings" : "Preferències", "Show storage location" : "Mostra la ubicació del magatzem", "Show user backend" : "Mostrar backend d'usuari", + "Show last login" : "Mostra darrera entrada", "Show email address" : "Mostrar l'adreça de correu electrònic", "Send email to new user" : "Enviar correu electrònic al nou usuari", "E-Mail" : "E-mail", @@ -231,8 +301,11 @@ OC.L10N.register( "Group name" : "Nom del grup", "Everyone" : "Tothom", "Admins" : "Administradors", + "Disabled" : "Desactivat", + "Default quota" : "Quota per defecte", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Escriviu la quota d'emmagatzemament (per ex.: \"512 MB\" o \"12 GB\")", "Other" : "Un altre", + "Group admin for" : "Administrador de grup per", "Quota" : "Quota", "Storage location" : "Ubicació de l'emmagatzemament", "Last login" : "Últim accés", @@ -256,6 +329,8 @@ OC.L10N.register( "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "El mòdul de PHP 'fileinfo' no s'ha trobat. Us recomanem que habiliteu aquest mòdul per obtenir millors resultats amb la detecció mime-type.", "Uninstall app" : "Desinstala la app", "Cheers!" : "Salut!", + "Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hola,\n\nsimplement que sàpigas que ja tens un compte %s.\n\nEl teu nom d'usuari: %s\nAccedir-hi: %s\n", + "For password recovery and notifications" : "Per a la recuperació de la contrasenya i notificacions", "Your website" : "El teu lloc web", "Show last log in" : "Mostrar l'últim accés" }, diff --git a/settings/l10n/ca.json b/settings/l10n/ca.json index 10cd457616f..2be02259108 100644 --- a/settings/l10n/ca.json +++ b/settings/l10n/ca.json @@ -1,9 +1,21 @@ { "translations": { + "{actor} changed your password" : "{actor} va canviar la contrasenya", + "You changed your password" : "Has canviat la teva contrasenya", + "Your password was reset by an administrator" : "La seva contrasenya s'ha restablert per un administrador", + "{actor} changed your email address" : "{actor} va canviar la seva adreça d\\'email", + "You changed your email address" : "Has canviat el teu email", + "Your email address was changed by an administrator" : "La seva adreça d'email s\\'ha canviat per un administrador", + "Your <strong>password</strong> or <strong>email</strong> was modified" : "La teva <strong>contrasenya</strong> o <strong>email</strong> s'ha modificat", + "Your apps" : "Les teves apps", + "Enabled apps" : "Apps activades", + "Disabled apps" : "Apps desactivades", + "App bundles" : "Paquets d'apps", "Wrong password" : "Contrasenya incorrecta", "Saved" : "Desat", "No user supplied" : "No heu proporcionat cap usuari", "Unable to change password" : "No es pot canviar la contrasenya", "Authentication error" : "Error d'autenticació", + "Please provide an admin recovery password; otherwise, all user data will be lost." : "Si us plau, proporcioni una contrasenya d'administrador de recuperació; en cas contrari, es perdran totes les dades d'usuari.", "Wrong admin recovery password. Please check the password and try again." : "La contrasenya de recuperació d'administrador és incorrecta. Comproveu-la i torneu-ho a intentar.", "Federated Cloud Sharing" : "Compartició federada de núvol", "A problem occurred, please check your log files (Error: %s)" : "S'ha produït un problema, si us plau revisi els arxius de registre (Error: %s)", @@ -11,6 +23,8 @@ "Group already exists." : "El grup ja existeix.", "Unable to add group." : "No es pot agregar el grup.", "Unable to delete group." : "No es pot esborrar el grup.", + "Invalid SMTP password." : "Contrasenya SMTP no vàlida.", + "Well done, %s!" : "Ben fet, %s!", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Hi ha hagut un problema en enviar el correu. Revisi la seva configuració. (Error: %s)", "You need to set your user email before being able to send test emails." : "Heu d'establir un nom d'usuari abans de poder enviar correus de prova.", "Invalid request" : "Sol·licitud no vàlida", @@ -19,6 +33,8 @@ "A user with that name already exists." : "Ja existeix un usuari amb est nom.", "Unable to create user." : "No es pot crear el usuari.", "Unable to delete user." : "No es pot eliminar l'usuari", + "Error while enabling user." : "Error activant usuari.", + "Error while disabling user." : "Error desactivant usuari.", "Settings saved" : "Paràmetres desats", "Unable to change full name" : "No s'ha pogut canviar el nom complet", "Unable to change email address" : "No es pot canviar l'adreça de correu", @@ -27,18 +43,41 @@ "Invalid user" : "Usuari no vàlid", "Unable to change mail address" : "No es pot canviar l'adreça de correu electrònic", "Email saved" : "S'ha desat el correu electrònic", + "%1$s changed your password on %2$s." : "%1$s va canviar la teva contrasenya a %2$s.", + "Your password on %s was changed." : "La teva contrasenya a %s es va canviar.", + "Your password on %s was reset by an administrator." : "La teva contrasenya a %s va ser restablerta per un administrador.", + "Password changed for %s" : "Contrasenya canviada per %s", + "If you did not request this, please contact an administrator." : "Si vostè no l'ha sol·licitat, si us plau, poseu-vos en contacte amb un administrador.", + "Password for %1$s changed on %2$s" : "Contrasenya per %1$s canviada a %2$s", + "%1$s changed your email address on %2$s." : "%1$s va canviar el teu email a %2$s.", + "Your email address on %s was changed." : "El teu email a %s es va canviar.", + "Your email address on %s was changed by an administrator." : "El teu email a %s es va canviar per un administrador.", + "Email address changed for %s" : "Adreça d'email canviada per %s", + "The new email address is %s" : "La teva adreça d'email és %s", + "Email address for %1$s changed on %2$s" : "Adreça d'email per %1$s canviada a %2$s", + "Welcome aboard" : "Benvingut a bord", + "Welcome aboard %s" : "Benvingut a bord %s", + "You have now an %s account, you can add, protect, and share your data." : "Ara tens un compte %s, pot afegir, protegir i compartir les teves dades.", + "Your username is: %s" : "El teu usuari és: %s", + "Set your password" : "Establir la contrasenya", + "Go to %s" : "Anar a %s", + "Install Client" : "Instal·lar Client", "Your %s account was created" : "S'ha creat el seu compte %s", + "Password confirmation is required" : "Cal una confirmació de la contrasenya", "Couldn't remove app." : "No s'ha pogut eliminar l'aplicació", "Couldn't update app." : "No s'ha pogut actualitzar l'aplicació.", + "Are you really sure you want add {domain} as trusted domain?" : "Estàs segur que vols afegir {domini} com a domini de confiança?", "Add trusted domain" : "Afegir domini de confiança", "Migration in progress. Please wait until the migration is finished" : "Migració en progrés. Si us plau, espereu fins que finalitzi la migració", "Migration started …" : "Migració iniciada ...", "Not saved" : "No desat", + "Sending…" : "Enviant…", "Email sent" : "El correu electrónic s'ha enviat", "Official" : "Oficial", "All" : "Tots", "Update to %s" : "Actualitzar a %s", "No apps found for your version" : "No s'han trobat aplicacions per la seva versió", + "The app will be downloaded from the app store" : "L'app es descarregarà des de la botiga d'apps", "Error while disabling app" : "Error en desactivar l'aplicació", "Disable" : "Desactiva", "Enable" : "Habilita", @@ -47,10 +86,15 @@ "Updating...." : "Actualitzant...", "Error while updating app" : "Error en actualitzar l'aplicació", "Updated" : "Actualitzada", + "Removing …" : "Treient ...", + "Error while removing app" : "Error treient app", + "Remove" : "Treure", "App update" : "Actualització de la App", "Approved" : "Aprovat", "Experimental" : "Experimental", + "Enable all" : "Permetre tots", "Disconnect" : "Desconnecta", + "Revoke" : "Revocar", "Internet Explorer" : "Internet Explorer", "Edge" : "Edge", "Firefox" : "Firefox", @@ -61,12 +105,14 @@ "iPad iOS" : "iPad iOS", "iOS Client" : "iOS Client", "Android Client" : "Client Android", + "Sync client - {os}" : "Client de sincronització - {os}", "This session" : "Aquesta sessió", "Copy" : "Copia", "Copied!" : "Copiat!", "Not supported!" : "No soportat!", "Press ⌘-C to copy." : "Prem ⌘-C per copiar.", "Press Ctrl-C to copy." : "Prem Ctrl-C per copiar.", + "Error while loading browser sessions and device tokens" : "Error durant la càrrega de les sessions del navegador i testimonis de dispositius", "Valid until {date}" : "Vàlid fins {date}", "Delete" : "Esborra", "Local" : "Local", @@ -75,6 +121,8 @@ "Only visible to you" : "Només visible per tu", "Contacts" : "Contactes", "Public" : "Públic", + "Verify" : "Verificar", + "Verifying …" : "Verificant ...", "Select a profile picture" : "Seleccioneu una imatge de perfil", "Very weak password" : "Contrasenya massa feble", "Weak password" : "Contrasenya feble", @@ -83,19 +131,25 @@ "Strong password" : "Contrasenya forta", "Groups" : "Grups", "Unable to delete {objName}" : "No es pot eliminar {objName}", + "Error creating group: {message}" : "Error creant grup: {message}", "A valid group name must be provided" : "Heu de facilitar un nom de grup vàlid", "deleted {groupName}" : "eliminat {groupName}", "undo" : "desfés", "never" : "mai", "deleted {userName}" : "eliminat {userName}", + "Unable to add user to group {group}" : "No es pot afegir l'usuari al grup {group}", + "Unable to remove user from group {group}" : "No es pot eliminar l'usuari del grup {group}", "Add group" : "Afegeix grup", "no group" : "sense grup", + "Password successfully changed" : "Contrasenya canviada correctament", "Changing the password will result in data loss, because data recovery is not available for this user" : "Canviar la contrasenya provocarà pèrdua de dades, perquè la recuperació de dades no està disponible per a aquest usuari", + "Could not change the users email" : "No s'ha pogut canviar el correu electrònic dels usuaris", "A valid username must be provided" : "Heu de facilitar un nom d'usuari vàlid", "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida", "A valid email must be provided" : "S'ha de subministrar una adreça de correu electrònic vàlida", "__language_name__" : "Català", "Unlimited" : "Il·limitat", + "Verifying" : "Verificant", "Personal info" : "Informació personal", "Sessions" : "Sessions", "App passwords" : "Contrasenyes de l'Aplicació", @@ -104,6 +158,8 @@ "Login" : "Inici de sessió", "Plain" : "Pla", "NT LAN Manager" : "Gestor NT LAN", + "SSL/TLS" : "SSL/TLS", + "STARTTLS" : "STARTTLS", "Email server" : "Servidor de correu electrònic", "Open documentation" : "Obre la documentació", "Send mode" : "Mode d'enviament", @@ -146,16 +202,19 @@ "Allow apps to use the Share API" : "Permet que les aplicacions utilitzin l'API de compartir", "Allow users to share via link" : "Permet als usuaris compartir a través d'enllaços", "Allow public uploads" : "Permet pujada pública", + "Always ask for a password" : "Sempre demanar una contrasenya", "Enforce password protection" : "Reforça la protecció amb contrasenya", "Set default expiration date" : "Estableix la data de venciment", "Expire after " : "Venciment després de", "days" : "dies", "Enforce expiration date" : "Força la data de venciment", "Allow resharing" : "Permet compartir de nou", + "Allow sharing with groups" : "Permetre compartir amb grups", "Restrict users to only share with users in their groups" : "Permet als usuaris compartir només amb usuaris del seu grup", "Exclude groups from sharing" : "Exclou grups de compartició", "These groups will still be able to receive shares, but not to initiate them." : "Aquests fitxers encara podran rebre compartits, però no podran iniciar-los.", "Tips & tricks" : "Consells i trucs", + "This is particularly recommended when using the desktop client for file synchronisation." : "Això es recomana especialment quan s'utilitza el client d'escriptori per a sincronització d'arxius.", "How to do backups" : "Com fer còpies de seguretat", "Advanced monitoring" : "Supervisió avançada", "Performance tuning" : "Ajust del rendiment", @@ -163,6 +222,8 @@ "Theming" : "Tematització", "Hardening and security guidance" : "Guia de protecció i seguretat", "Developer documentation" : "Documentació para desenvolupadors", + "Limit to groups" : "Limitar per grups", + "This app has an update available." : "Aquesta aplicació té una actualització disponible.", "by %s" : "per %s", "Documentation:" : "Documentació:", "User documentation" : "Documentació d'usuari", @@ -172,6 +233,7 @@ "Hide description …" : "Amagar descripció...", "This app cannot be installed because the following dependencies are not fulfilled:" : "Aquesta aplicació no es pot instal·lar perquè les següents dependències no es compleixen:", "Enable only for specific groups" : "Activa només per grups específics", + "SSL Root Certificates" : "Certificats arrel SSL", "Common Name" : "Nom comú", "Valid until" : "Valid fins", "Issued By" : "Emès Per", @@ -184,8 +246,10 @@ "Commercial support" : "Suport comercial", "Profile picture" : "Foto de perfil", "Upload new" : "Puja'n una de nova", + "Select from Files" : "Seleccioneu d'Arxius", "Remove image" : "Elimina imatge", "png or jpg, max. 20 MB" : "png or jpg, max. 20 MB", + "Picture provided by original account" : "Imatge proveïda per compte original", "Cancel" : "Cancel·la", "Choose as profile picture" : "Elegeix una imatge de perfil", "Full name" : "Nom complet", @@ -193,11 +257,13 @@ "Email" : "Correu electrònic", "Your email address" : "Correu electrònic", "No email address set" : "No s'ha establert cap adreça de correu", + "For password reset and notifications" : "Per restablir la contrasenya i notificacions", "Phone number" : "Número de telèfon", "Your phone number" : "El teu número de telèfon", "Address" : "Adreça", "Your postal address" : "La teva adreça postal", "Website" : "Lloc web", + "It can take up to 24 hours before the account is displayed as verified." : "Pot prendre fins a 24 hores abans que aparegui el compte com a verificat.", "Twitter" : "Twitter", "You are member of the following groups:" : "Vostè és membre dels següents grups:", "Password" : "Contrasenya", @@ -211,15 +277,19 @@ "Android app" : "aplicació para Android", "iOS app" : "aplicació para iOS", "Show First Run Wizard again" : "Torna a mostrar l'assistent de primera execució", + "Web, desktop and mobile clients currently logged in to your account." : "Clients Web, d'escriptori i mòbils connectats actualment al seu compte", "Device" : "Dispositiu", "Last activity" : "Última activitat", "Name" : "Nom", "App name" : "Nom de l'aplicació", "Create new app password" : "Crea una nova contrasenya de l'aplicació", + "For security reasons this password will only be shown once." : "Per raons de seguretat aquesta contrasenya només es mostrarà una vegada.", "Username" : "Nom d'usuari", "Done" : "Fet", + "Settings" : "Preferències", "Show storage location" : "Mostra la ubicació del magatzem", "Show user backend" : "Mostrar backend d'usuari", + "Show last login" : "Mostra darrera entrada", "Show email address" : "Mostrar l'adreça de correu electrònic", "Send email to new user" : "Enviar correu electrònic al nou usuari", "E-Mail" : "E-mail", @@ -229,8 +299,11 @@ "Group name" : "Nom del grup", "Everyone" : "Tothom", "Admins" : "Administradors", + "Disabled" : "Desactivat", + "Default quota" : "Quota per defecte", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Escriviu la quota d'emmagatzemament (per ex.: \"512 MB\" o \"12 GB\")", "Other" : "Un altre", + "Group admin for" : "Administrador de grup per", "Quota" : "Quota", "Storage location" : "Ubicació de l'emmagatzemament", "Last login" : "Últim accés", @@ -254,6 +327,8 @@ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "El mòdul de PHP 'fileinfo' no s'ha trobat. Us recomanem que habiliteu aquest mòdul per obtenir millors resultats amb la detecció mime-type.", "Uninstall app" : "Desinstala la app", "Cheers!" : "Salut!", + "Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hola,\n\nsimplement que sàpigas que ja tens un compte %s.\n\nEl teu nom d'usuari: %s\nAccedir-hi: %s\n", + "For password recovery and notifications" : "Per a la recuperació de la contrasenya i notificacions", "Your website" : "El teu lloc web", "Show last log in" : "Mostrar l'últim accés" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/settings/l10n/el.js b/settings/l10n/el.js index adf99c156f8..a61a07909f1 100644 --- a/settings/l10n/el.js +++ b/settings/l10n/el.js @@ -1,10 +1,14 @@ OC.L10N.register( "settings", { + "{actor} changed your password" : "{actor} το συθηματικό σας άλλαξε", "You changed your password" : "Αλλάξατε το συνθηματικό σας", "Your password was reset by an administrator" : "Έχει γίνει επαναφορά του συνθηματικού σας από τον διαχειριστή", + "You changed your email address" : "Έχετε αλλάξει τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας", "Your apps" : "Οι εφαρμογές σας", "Enabled apps" : "Ενεργοποιημένες εφαρμογές", + "Disabled apps" : "Απενεργοποιημένες εφαρμογές", + "App bundles" : "Πακέτα εφαρμογών", "Wrong password" : "Εσφαλμένο συνθηματικό", "Saved" : "Αποθηκεύτηκαν", "No user supplied" : "Δεν εισήχθη χρήστης", @@ -206,6 +210,7 @@ OC.L10N.register( "Theming" : "Θέματα", "Hardening and security guidance" : "Οδηγίες ασφάλειας και θωράκισης", "Developer documentation" : "Τεκμηρίωση προγραμματιστή", + "Limit to groups" : "Όριο στις ομάδες", "This app has an update available." : "Αυτή η εφαρμογή έχει διαθέσιμη ενημέρωση.", "by %s" : "από %s", "Documentation:" : "Τεκμηρίωση:", @@ -286,6 +291,7 @@ OC.L10N.register( "Group name" : "Όνομα ομάδας", "Everyone" : "Όλοι", "Admins" : "Διαχειριστές", + "Disabled" : "Απενεργοποιημένο", "Default quota" : "Προεπιλέγμενη χωρητικότητα", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Παρακαλώ εισάγετε επιτρεπόμενα μερίδια αποθηκευτικού χώρου (π.χ. \"512 MB\" ή \"12 GB\")", "Other" : "Άλλο", diff --git a/settings/l10n/el.json b/settings/l10n/el.json index be170ca67d9..5617064e25c 100644 --- a/settings/l10n/el.json +++ b/settings/l10n/el.json @@ -1,8 +1,12 @@ { "translations": { + "{actor} changed your password" : "{actor} το συθηματικό σας άλλαξε", "You changed your password" : "Αλλάξατε το συνθηματικό σας", "Your password was reset by an administrator" : "Έχει γίνει επαναφορά του συνθηματικού σας από τον διαχειριστή", + "You changed your email address" : "Έχετε αλλάξει τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας", "Your apps" : "Οι εφαρμογές σας", "Enabled apps" : "Ενεργοποιημένες εφαρμογές", + "Disabled apps" : "Απενεργοποιημένες εφαρμογές", + "App bundles" : "Πακέτα εφαρμογών", "Wrong password" : "Εσφαλμένο συνθηματικό", "Saved" : "Αποθηκεύτηκαν", "No user supplied" : "Δεν εισήχθη χρήστης", @@ -204,6 +208,7 @@ "Theming" : "Θέματα", "Hardening and security guidance" : "Οδηγίες ασφάλειας και θωράκισης", "Developer documentation" : "Τεκμηρίωση προγραμματιστή", + "Limit to groups" : "Όριο στις ομάδες", "This app has an update available." : "Αυτή η εφαρμογή έχει διαθέσιμη ενημέρωση.", "by %s" : "από %s", "Documentation:" : "Τεκμηρίωση:", @@ -284,6 +289,7 @@ "Group name" : "Όνομα ομάδας", "Everyone" : "Όλοι", "Admins" : "Διαχειριστές", + "Disabled" : "Απενεργοποιημένο", "Default quota" : "Προεπιλέγμενη χωρητικότητα", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Παρακαλώ εισάγετε επιτρεπόμενα μερίδια αποθηκευτικού χώρου (π.χ. \"512 MB\" ή \"12 GB\")", "Other" : "Άλλο", diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js index 89c53a2eed7..a3b757750f6 100644 --- a/settings/l10n/fr.js +++ b/settings/l10n/fr.js @@ -397,7 +397,7 @@ OC.L10N.register( "Admins can't remove themself from the admin group" : "Les administrateurs ne peuvent pas se retirer eux-mêmes du groupe admin", "Unable to add user to group %s" : "Impossible d'ajouter l'utilisateur au groupe %s", "Unable to remove user from group %s" : "Impossible de supprimer l'utilisateur du groupe %s", - "Sending..." : "Envoi en cours...", + "Sending..." : "Envoi en cours…", "Uninstalling ...." : "Désinstallation...", "Error while uninstalling app" : "Erreur lors de la désinstallation de l'application", "Uninstall" : "Désinstaller", diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json index 9abb89d2bf3..2cc96b346d6 100644 --- a/settings/l10n/fr.json +++ b/settings/l10n/fr.json @@ -395,7 +395,7 @@ "Admins can't remove themself from the admin group" : "Les administrateurs ne peuvent pas se retirer eux-mêmes du groupe admin", "Unable to add user to group %s" : "Impossible d'ajouter l'utilisateur au groupe %s", "Unable to remove user from group %s" : "Impossible de supprimer l'utilisateur du groupe %s", - "Sending..." : "Envoi en cours...", + "Sending..." : "Envoi en cours…", "Uninstalling ...." : "Désinstallation...", "Error while uninstalling app" : "Erreur lors de la désinstallation de l'application", "Uninstall" : "Désinstaller", diff --git a/settings/l10n/nb.js b/settings/l10n/nb.js index 9952f42b043..43dce267992 100644 --- a/settings/l10n/nb.js +++ b/settings/l10n/nb.js @@ -42,6 +42,10 @@ OC.L10N.register( "To send a password link to the user an email address is required." : "Krever epost for å sende link til bruker.", "Unable to create user." : "Kan ikke opprette bruker.", "Unable to delete user." : "Kan ikke slette bruker.", + "Error while enabling user." : "Feil ved påslag av brukerkonto.", + "Error while disabling user." : "Feil ved avslag av brukerkonto.", + "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "For å bekrefte din Twitter-konto, post følgende tweet på Twitter (husk å ikke få med noen linjeskift):", + "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "For å bekrefte din nettside, lagre følgende innhold på roten av din nettjener på '.well-known/CloudIdVerificationCode.txt' (forsikre deg om at hele teksten er på ei linje):", "Settings saved" : "Innstillinger lagret", "Unable to change full name" : "Klarte ikke å endre fullt navn", "Unable to change email address" : "Klarer ikke å endre epostadresse", @@ -144,6 +148,8 @@ OC.L10N.register( "Visible to local users and to trusted servers" : "Synlig for lokale brukere og klarerte tjenere", "Public" : "Offentlig", "Will be synced to a global and public address book" : "Vil blir synkronisert til global og offentlig addressbok", + "Verify" : "Bekreft", + "Verifying …" : "Bekrefter…", "Select a profile picture" : "Velg et profilbilde", "Very weak password" : "Veldig svakt passord", "Weak password" : "Svakt passord", @@ -167,12 +173,14 @@ OC.L10N.register( "Password successfully changed" : "Passordet ble endret.", "Changing the password will result in data loss, because data recovery is not available for this user" : "Forandring av passordet vil føre til tap av data, fordi datagjennoppretting er utilgjengelig for denne brukeren", "Could not change the users email" : "Kunne ikke endre brukerens epostadresse", + "Error while changing status of {user}" : "Feil ved endring av status for {user}", "A valid username must be provided" : "Oppgi et gyldig brukernavn", "Error creating user: {message}" : "Feil ved oppretting av bruker: {message}", "A valid password must be provided" : "Oppgi et gyldig passord", "A valid email must be provided" : "En gyldig e-postadresse må oppgis", "__language_name__" : "Norsk bokmål", "Unlimited" : "Ubegrenset", + "Verifying" : "Bekrefter", "Personal info" : "Personlig informasjon", "Sessions" : "Økt", "App passwords" : "App passord", @@ -324,7 +332,10 @@ OC.L10N.register( "Address" : "Adresse", "Your postal address" : "Din postadresse", "Website" : "Nettside", + "It can take up to 24 hours before the account is displayed as verified." : "Det kan ta opptil et døgn før kontoen vises som bekreftet.", + "Link https://…" : "Lenk http://..", "Twitter" : "Twitter", + "Twitter handle @…" : "Twitter-konto @…", "You are member of the following groups:" : "Du er medlem av følgende grupper:", "Password" : "Passord", "Current password" : "Nåværende passord", @@ -369,6 +380,7 @@ OC.L10N.register( "Group name" : "Gruppenavn", "Everyone" : "Alle", "Admins" : "Administratorer", + "Disabled" : "Avskrudd", "Default quota" : "Standard kvote", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Legg inn lagringskvote (f.eks. \"512 MB\" eller \"12 GB\")", "Other" : "Annet", @@ -401,10 +413,10 @@ OC.L10N.register( "Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hei,\n\nvil bare opplyse deg omat du har en %s konto.\n\nDitt brukernavn: %s\nGå dit: %s\n\n", "For password recovery and notifications" : "For passord-gjenoppretting og varsler", "Your website" : "Din nettside", - "Your Twitter handle" : "Din Twitter nøkkel", + "Your Twitter handle" : "Din Twitter-konto", "Passcodes that give an app or device permissions to access your account." : "Passordet som gi en app eller enhet tilgang til din konto.", "Follow us on Google Plus!" : "Følg oss på Google Plus!", - "Subscribe to our twitter channel!" : "Abonner på vår twitter kanal!", + "Subscribe to our twitter channel!" : "Abonner på vår Twitter kanal!", "Subscribe to our news feed!" : "Abonner på vår nyhetsstrøm!", "Show last log in" : "Vis siste innlogging" }, diff --git a/settings/l10n/nb.json b/settings/l10n/nb.json index 4e27eba8ff3..af55342821d 100644 --- a/settings/l10n/nb.json +++ b/settings/l10n/nb.json @@ -40,6 +40,10 @@ "To send a password link to the user an email address is required." : "Krever epost for å sende link til bruker.", "Unable to create user." : "Kan ikke opprette bruker.", "Unable to delete user." : "Kan ikke slette bruker.", + "Error while enabling user." : "Feil ved påslag av brukerkonto.", + "Error while disabling user." : "Feil ved avslag av brukerkonto.", + "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "For å bekrefte din Twitter-konto, post følgende tweet på Twitter (husk å ikke få med noen linjeskift):", + "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "For å bekrefte din nettside, lagre følgende innhold på roten av din nettjener på '.well-known/CloudIdVerificationCode.txt' (forsikre deg om at hele teksten er på ei linje):", "Settings saved" : "Innstillinger lagret", "Unable to change full name" : "Klarte ikke å endre fullt navn", "Unable to change email address" : "Klarer ikke å endre epostadresse", @@ -142,6 +146,8 @@ "Visible to local users and to trusted servers" : "Synlig for lokale brukere og klarerte tjenere", "Public" : "Offentlig", "Will be synced to a global and public address book" : "Vil blir synkronisert til global og offentlig addressbok", + "Verify" : "Bekreft", + "Verifying …" : "Bekrefter…", "Select a profile picture" : "Velg et profilbilde", "Very weak password" : "Veldig svakt passord", "Weak password" : "Svakt passord", @@ -165,12 +171,14 @@ "Password successfully changed" : "Passordet ble endret.", "Changing the password will result in data loss, because data recovery is not available for this user" : "Forandring av passordet vil føre til tap av data, fordi datagjennoppretting er utilgjengelig for denne brukeren", "Could not change the users email" : "Kunne ikke endre brukerens epostadresse", + "Error while changing status of {user}" : "Feil ved endring av status for {user}", "A valid username must be provided" : "Oppgi et gyldig brukernavn", "Error creating user: {message}" : "Feil ved oppretting av bruker: {message}", "A valid password must be provided" : "Oppgi et gyldig passord", "A valid email must be provided" : "En gyldig e-postadresse må oppgis", "__language_name__" : "Norsk bokmål", "Unlimited" : "Ubegrenset", + "Verifying" : "Bekrefter", "Personal info" : "Personlig informasjon", "Sessions" : "Økt", "App passwords" : "App passord", @@ -322,7 +330,10 @@ "Address" : "Adresse", "Your postal address" : "Din postadresse", "Website" : "Nettside", + "It can take up to 24 hours before the account is displayed as verified." : "Det kan ta opptil et døgn før kontoen vises som bekreftet.", + "Link https://…" : "Lenk http://..", "Twitter" : "Twitter", + "Twitter handle @…" : "Twitter-konto @…", "You are member of the following groups:" : "Du er medlem av følgende grupper:", "Password" : "Passord", "Current password" : "Nåværende passord", @@ -367,6 +378,7 @@ "Group name" : "Gruppenavn", "Everyone" : "Alle", "Admins" : "Administratorer", + "Disabled" : "Avskrudd", "Default quota" : "Standard kvote", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Legg inn lagringskvote (f.eks. \"512 MB\" eller \"12 GB\")", "Other" : "Annet", @@ -399,10 +411,10 @@ "Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hei,\n\nvil bare opplyse deg omat du har en %s konto.\n\nDitt brukernavn: %s\nGå dit: %s\n\n", "For password recovery and notifications" : "For passord-gjenoppretting og varsler", "Your website" : "Din nettside", - "Your Twitter handle" : "Din Twitter nøkkel", + "Your Twitter handle" : "Din Twitter-konto", "Passcodes that give an app or device permissions to access your account." : "Passordet som gi en app eller enhet tilgang til din konto.", "Follow us on Google Plus!" : "Følg oss på Google Plus!", - "Subscribe to our twitter channel!" : "Abonner på vår twitter kanal!", + "Subscribe to our twitter channel!" : "Abonner på vår Twitter kanal!", "Subscribe to our news feed!" : "Abonner på vår nyhetsstrøm!", "Show last log in" : "Vis siste innlogging" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js index e122f632b8f..297bedefbce 100644 --- a/settings/l10n/nl.js +++ b/settings/l10n/nl.js @@ -44,6 +44,8 @@ OC.L10N.register( "Unable to delete user." : "Kan de gebruiker niet verwijderen.", "Error while enabling user." : "Fout bij inschakelen gebruiker.", "Error while disabling user." : "Fout bij uitschakelen gebruiker.", + "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Om je Twitter-account te verifiëren moet je de volgende tweet op Twitter plaatsen (let erop dat het plaatst zonder regelafbreking):", + "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Om je website te verifiëren moet je de volgende inhoud binnen de web-root van je server in '.well-known/CloudIdVerificationCode.txt' plaatsen (let erop dat de complete tekst op één regel staat):", "Settings saved" : "Instellingen opgeslagen", "Unable to change full name" : "Kan de volledige naam niet wijzigen", "Unable to change email address" : "Kan e-mailadres niet wijzigen", @@ -171,6 +173,7 @@ OC.L10N.register( "Password successfully changed" : "Wachtwoord succesvol gewijzigd.", "Changing the password will result in data loss, because data recovery is not available for this user" : "Wijzigen van het wachtwoord leidt tot gegevensverlies, omdat gegevensherstel voor deze gebruiker niet beschikbaar is", "Could not change the users email" : "Kon het gebruikers e-mailadres niet wijzigen", + "Error while changing status of {user}" : "Fout bij wijzigen status van {user}", "A valid username must be provided" : "Er moet een geldige gebruikersnaam worden opgegeven", "Error creating user: {message}" : "Fout bij aanmaken gebruiker: {message}", "A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven", @@ -206,6 +209,7 @@ OC.L10N.register( "Test email settings" : "Test e-mailinstellingen", "Send email" : "Versturen e-mail", "Server-side encryption" : "Server-side versleuteling", + "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Server-side versleuteling maakt het mogelijk om bestanden te versleutelen die worden geüploaded. Dit betekent wel enig prestatieverlies, dus schakel het alleen in als het nodig is.", "Enable server-side encryption" : "Server-side versleuteling inschakelen", "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat u de serverside versleuteling activeert:", "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Als versleuteling is ingeschakeld, worden alle geüploade bestanden vanaf dat moment versleuteld opgeslagen op de server. Het is alleen mogelijk om de versleuteling later uit te schakelen als de actieve versleutelingsmodule dit ondersteunt en aan alle pré-condities (mn de ingestelde herstelsleutel) wordt voldaan.", @@ -220,6 +224,7 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe.", "Start migration" : "Start migratie", "Security & setup warnings" : "Beveiligings- en instellingswaarschuwingen", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Voor beveiliging en prestaties van je server is het belangrijk dat alles goed is geconfigureerd. Om je hierbij te helpen doen we paar automatische controles. Bekijk de Tips & Trucs sectie en de ocumentatie voor meer informatie.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php lijkt niet goed te zijn ingesteld om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installatiedocumentatie ↗</a> voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is ingeschakeld. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.", @@ -240,6 +245,7 @@ OC.L10N.register( "Last cron job execution: %s." : "Laatst uitgevoerde cronjob: %s.", "Last cron job execution: %s. Something seems wrong." : "Laatst uitgevoerde cronjob: %s. Er lijkt iets fout gegaan.", "Cron was not executed yet!" : "Cron is nog niet uitgevoerd!", + "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Voor optimale prestaties is het belangrijk om de achtergrondtaken goed te configureren. Voor grotere installaties is \"Cron' de aanbevolen instelling. Bekijk de documentatie voor meer informatie.", "Execute one task with each page loaded" : "Bij laden van elke pagina één taak uitvoeren", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.", "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.", @@ -247,6 +253,7 @@ OC.L10N.register( "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Om dit te draaien, is de PHP posix extensie vereist. Bekijk {linkstart}PHP documentatie{linkend} voor meer informatie.", "Version" : "Versie", "Sharing" : "Delen", + "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als beheerder kun je het deel-gedrag optimaliseren. Bekijk de documentatie voor meer informatie.", "Allow apps to use the Share API" : "Apps toestaan de Share API te gebruiken", "Allow users to share via link" : "Sta gebruikers toe om te delen via een link", "Allow public uploads" : "Sta publieke uploads toe", @@ -265,6 +272,7 @@ OC.L10N.register( "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Tonen disclaimer op de openbare link uploadpagina (alleen tonen als het bestandsoverzicht verborgen is).", "This text will be shown on the public link upload page when the file list is hidden." : "Deze tekst wordt getoond op de openbare link uploadpagina als het bestandsoverzicht is verborgen.", "Tips & tricks" : "Tips & trucs", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Er zijn veel mogelijkheden en instellingsschakelaars beschikbaar om je installatie te optimaliseren. Hier zijn wat aanwijzigen.", "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wordt momenteel gebruikt als backend database. Voor grotere installaties adviseren we dat je omschakelt naar een andere database backend.", "This is particularly recommended when using the desktop client for file synchronisation." : "Dit wordt vooral aanbevolen als de desktop client wordt gebruikt voor bestandssynchronisatie.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet u de commandoregel tool gebruiken: 'occ db:convert-type', lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie ↗</a>.", @@ -324,7 +332,10 @@ OC.L10N.register( "Address" : "Adres", "Your postal address" : "Je postadres", "Website" : "Website", + "It can take up to 24 hours before the account is displayed as verified." : "Het kan tot 24 uur duren voordat het account als geverifieerd wordt weergegeven.", + "Link https://…" : "Link https://…", "Twitter" : "Twitter", + "Twitter handle @…" : "Twitter naam @…", "You are member of the following groups:" : "U bent lid van de volgende groepen:", "Password" : "Wachtwoord", "Current password" : "Huidig wachtwoord", @@ -341,6 +352,7 @@ OC.L10N.register( "Web, desktop and mobile clients currently logged in to your account." : "Web, desktop en mobiele clients zijn nu ingelogd op je account.", "Device" : "Apparaat", "Last activity" : "Laatste activiteit", + "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "Hier kun je individuele wachtwoorden voor apps genereren, zodat je geen wachtwoorden hoeft uit te geven. Je kunt ze ook weer individueel intrekken.", "Name" : "Naam", "App name" : "Appnaam", "Create new app password" : "Creëer een nieuw app wachtwoord", @@ -368,6 +380,7 @@ OC.L10N.register( "Group name" : "Groepsnaam", "Everyone" : "Iedereen", "Admins" : "Beheerders", + "Disabled" : "Uitgeschakeld", "Default quota" : "Standaard quota", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Geef de opslagquotering op (bijv. \"512 MB\" of \"12 GB\")", "Other" : "Anders", diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json index 0aa02237ecb..fb8a77b2d1c 100644 --- a/settings/l10n/nl.json +++ b/settings/l10n/nl.json @@ -42,6 +42,8 @@ "Unable to delete user." : "Kan de gebruiker niet verwijderen.", "Error while enabling user." : "Fout bij inschakelen gebruiker.", "Error while disabling user." : "Fout bij uitschakelen gebruiker.", + "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Om je Twitter-account te verifiëren moet je de volgende tweet op Twitter plaatsen (let erop dat het plaatst zonder regelafbreking):", + "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Om je website te verifiëren moet je de volgende inhoud binnen de web-root van je server in '.well-known/CloudIdVerificationCode.txt' plaatsen (let erop dat de complete tekst op één regel staat):", "Settings saved" : "Instellingen opgeslagen", "Unable to change full name" : "Kan de volledige naam niet wijzigen", "Unable to change email address" : "Kan e-mailadres niet wijzigen", @@ -169,6 +171,7 @@ "Password successfully changed" : "Wachtwoord succesvol gewijzigd.", "Changing the password will result in data loss, because data recovery is not available for this user" : "Wijzigen van het wachtwoord leidt tot gegevensverlies, omdat gegevensherstel voor deze gebruiker niet beschikbaar is", "Could not change the users email" : "Kon het gebruikers e-mailadres niet wijzigen", + "Error while changing status of {user}" : "Fout bij wijzigen status van {user}", "A valid username must be provided" : "Er moet een geldige gebruikersnaam worden opgegeven", "Error creating user: {message}" : "Fout bij aanmaken gebruiker: {message}", "A valid password must be provided" : "Er moet een geldig wachtwoord worden opgegeven", @@ -204,6 +207,7 @@ "Test email settings" : "Test e-mailinstellingen", "Send email" : "Versturen e-mail", "Server-side encryption" : "Server-side versleuteling", + "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Server-side versleuteling maakt het mogelijk om bestanden te versleutelen die worden geüploaded. Dit betekent wel enig prestatieverlies, dus schakel het alleen in als het nodig is.", "Enable server-side encryption" : "Server-side versleuteling inschakelen", "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat u de serverside versleuteling activeert:", "Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Als versleuteling is ingeschakeld, worden alle geüploade bestanden vanaf dat moment versleuteld opgeslagen op de server. Het is alleen mogelijk om de versleuteling later uit te schakelen als de actieve versleutelingsmodule dit ondersteunt en aan alle pré-condities (mn de ingestelde herstelsleutel) wordt voldaan.", @@ -218,6 +222,7 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Je moet je cryptosleutels van de oude versleuteling (ownCloud <= 8.0) migreren naar de nieuwe.", "Start migration" : "Start migratie", "Security & setup warnings" : "Beveiligings- en instellingswaarschuwingen", + "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Voor beveiliging en prestaties van je server is het belangrijk dat alles goed is geconfigureerd. Om je hierbij te helpen doen we paar automatische controles. Bekijk de Tips & Trucs sectie en de ocumentatie voor meer informatie.", "php does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "php lijkt niet goed te zijn ingesteld om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.", "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for php configuration notes and the php configuration of your server, especially when using php-fpm." : "Lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installatiedocumentatie ↗</a> voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is ingeschakeld. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.", @@ -238,6 +243,7 @@ "Last cron job execution: %s." : "Laatst uitgevoerde cronjob: %s.", "Last cron job execution: %s. Something seems wrong." : "Laatst uitgevoerde cronjob: %s. Er lijkt iets fout gegaan.", "Cron was not executed yet!" : "Cron is nog niet uitgevoerd!", + "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "Voor optimale prestaties is het belangrijk om de achtergrondtaken goed te configureren. Voor grotere installaties is \"Cron' de aanbevolen instelling. Bekijk de documentatie voor meer informatie.", "Execute one task with each page loaded" : "Bij laden van elke pagina één taak uitvoeren", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.", "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.", @@ -245,6 +251,7 @@ "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "Om dit te draaien, is de PHP posix extensie vereist. Bekijk {linkstart}PHP documentatie{linkend} voor meer informatie.", "Version" : "Versie", "Sharing" : "Delen", + "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als beheerder kun je het deel-gedrag optimaliseren. Bekijk de documentatie voor meer informatie.", "Allow apps to use the Share API" : "Apps toestaan de Share API te gebruiken", "Allow users to share via link" : "Sta gebruikers toe om te delen via een link", "Allow public uploads" : "Sta publieke uploads toe", @@ -263,6 +270,7 @@ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Tonen disclaimer op de openbare link uploadpagina (alleen tonen als het bestandsoverzicht verborgen is).", "This text will be shown on the public link upload page when the file list is hidden." : "Deze tekst wordt getoond op de openbare link uploadpagina als het bestandsoverzicht is verborgen.", "Tips & tricks" : "Tips & trucs", + "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Er zijn veel mogelijkheden en instellingsschakelaars beschikbaar om je installatie te optimaliseren. Hier zijn wat aanwijzigen.", "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wordt momenteel gebruikt als backend database. Voor grotere installaties adviseren we dat je omschakelt naar een andere database backend.", "This is particularly recommended when using the desktop client for file synchronisation." : "Dit wordt vooral aanbevolen als de desktop client wordt gebruikt voor bestandssynchronisatie.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet u de commandoregel tool gebruiken: 'occ db:convert-type', lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie ↗</a>.", @@ -322,7 +330,10 @@ "Address" : "Adres", "Your postal address" : "Je postadres", "Website" : "Website", + "It can take up to 24 hours before the account is displayed as verified." : "Het kan tot 24 uur duren voordat het account als geverifieerd wordt weergegeven.", + "Link https://…" : "Link https://…", "Twitter" : "Twitter", + "Twitter handle @…" : "Twitter naam @…", "You are member of the following groups:" : "U bent lid van de volgende groepen:", "Password" : "Wachtwoord", "Current password" : "Huidig wachtwoord", @@ -339,6 +350,7 @@ "Web, desktop and mobile clients currently logged in to your account." : "Web, desktop en mobiele clients zijn nu ingelogd op je account.", "Device" : "Apparaat", "Last activity" : "Laatste activiteit", + "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "Hier kun je individuele wachtwoorden voor apps genereren, zodat je geen wachtwoorden hoeft uit te geven. Je kunt ze ook weer individueel intrekken.", "Name" : "Naam", "App name" : "Appnaam", "Create new app password" : "Creëer een nieuw app wachtwoord", @@ -366,6 +378,7 @@ "Group name" : "Groepsnaam", "Everyone" : "Iedereen", "Admins" : "Beheerders", + "Disabled" : "Uitgeschakeld", "Default quota" : "Standaard quota", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Geef de opslagquotering op (bijv. \"512 MB\" of \"12 GB\")", "Other" : "Anders", diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js index c8ee932b071..898adf19178 100644 --- a/settings/l10n/pt_BR.js +++ b/settings/l10n/pt_BR.js @@ -4,10 +4,10 @@ OC.L10N.register( "{actor} changed your password" : "{actor} alterou sua senha", "You changed your password" : "Você alterou sua senha", "Your password was reset by an administrator" : "Sua senha foi redefinida pelo administrador", - "{actor} changed your email address" : "{actor} alterou seu email", - "You changed your email address" : "Você alterou seu email", - "Your email address was changed by an administrator" : "Seu email foi alterado pelo administrador", - "Your <strong>password</strong> or <strong>email</strong> was modified" : "Sua <strong>senha</strong> ou <strong>email</strong> foram alterados", + "{actor} changed your email address" : "{actor} alterou seu e-mail", + "You changed your email address" : "Você alterou seu e-mail", + "Your email address was changed by an administrator" : "Seu e-mail foi alterado pelo administrador", + "Your <strong>password</strong> or <strong>email</strong> was modified" : "Sua <strong>senha</strong> ou <strong>e-mail</strong> foram alterados", "Your apps" : "Seus aplicativos", "Enabled apps" : "Aplicativos habilitados", "Disabled apps" : "Aplicativos desabilitados", @@ -15,57 +15,57 @@ OC.L10N.register( "Wrong password" : "Senha incorreta", "Saved" : "Salvo", "No user supplied" : "Nenhum usuário fornecido", - "Unable to change password" : "Não é possível alterar a senha", + "Unable to change password" : "Não foi possível alterar a senha", "Authentication error" : "Erro de autenticação", "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor, forneça uma senha de recuperação do administrador, caso contrário todos os dados serão perdidos.", "Wrong admin recovery password. Please check the password and try again." : "Senha de recuperação do administrador incorreta. Por favor, verifique a senha e tente novamente.", - "Backend doesn't support password change, but the user's encryption key was updated." : "O backend não suporte alteração de senha mas a chave de criptografia do usuário foi alterada.", + "Backend doesn't support password change, but the user's encryption key was updated." : "A plataforma de serviço não suporta alteração de senha mas a chave de criptografia do usuário foi alterada.", "installing and updating apps via the app store or Federated Cloud Sharing" : "instalando e atualizando aplicativos via loja de aplicativos ou Nuvem Compartilhada Federada", "Federated Cloud Sharing" : "Compartilhamento de Nuvem Federada", "cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL está usando uma versão %s desatualizada (%s). Por favor, atualize seu sistema operacional ou recursos como %s não funcionarão de forma confiável.", "A problem occurred, please check your log files (Error: %s)" : "Ocorreu um problema enquanto verificava seus arquivos de log (Erro: %s)", "Migration Completed" : "Migração concluída", "Group already exists." : "O grupo já existe.", - "Unable to add group." : "Não é possível adicionar o grupo.", - "Unable to delete group." : "Não é possível excluir o grupo.", + "Unable to add group." : "Não foi possível adicionar o grupo.", + "Unable to delete group." : "Não foi possível excluir o grupo.", "Invalid SMTP password." : "Senha SMTP incorreta.", "Well done, %s!" : "Bom trabalho, %s!", - "If you received this email, the email configuration seems to be correct." : "Se você recebeu este email, é sinal que a configuração do email está correta.", - "Email setting test" : "Teste da configuração de email", - "Email could not be sent. Check your mail server log" : "O email não pôde ser enviado. Verifique o log do servidor de email", - "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ocorreu um problema ao enviar o email. Por favor, revise suas configurações. (Erro: %s)", - "You need to set your user email before being able to send test emails." : "Você precisa configurar seu email de usuário antes de ser capaz de enviar emails de teste.", + "If you received this email, the email configuration seems to be correct." : "Se você recebeu este e-mail, é sinal que a configuração do e-mail está correta.", + "Email setting test" : "Teste da configuração de e-mail", + "Email could not be sent. Check your mail server log" : "O e-mail não pôde ser enviado. Verifique o log do servidor de e-mail", + "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ocorreu um problema ao enviar o e-mail. Por favor, revise suas configurações. (Erro: %s)", + "You need to set your user email before being able to send test emails." : "Você precisa configurar seu e-mail de usuário antes de ser capaz de enviar e-mails de teste.", "Invalid request" : "Solicitação inválida", - "Invalid mail address" : "Endereço de email inválido", + "Invalid mail address" : "Endereço de e-mail inválido", "No valid group selected" : "Nenhum grupo válido foi selecionado", "A user with that name already exists." : "Um usuário com esse nome já existe.", - "To send a password link to the user an email address is required." : "Para envio da senha ao usuário é necessário um endereço de email.", - "Unable to create user." : "Não é possível criar usuário.", - "Unable to delete user." : "Não é possível excluir o usuário.", + "To send a password link to the user an email address is required." : "Para envio da senha ao usuário é necessário um endereço de e-mail.", + "Unable to create user." : "Não foi possível criar usuário.", + "Unable to delete user." : "Não foi possível excluir o usuário.", "Error while enabling user." : "Erro ao habilitar usuário.", "Error while disabling user." : "Erro ao desabilitar usuário.", "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "A fim de verificar sua conta no Twitter, poste isso no Twitter (por favor, certifique-se de postar sem quebras de linha):", "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "A fim de verificar seu site, coloque o seguinte conteúdo no raiz do site: '.well-known/CloudIdVerificationCode.txt' (por favor certifique-se que o texto completo esteja em uma linha):", "Settings saved" : "Configurações salvas", - "Unable to change full name" : "Não é possível alterar o nome completo", - "Unable to change email address" : "Não foi possível alterar o endereço de email", + "Unable to change full name" : "Não foi possível alterar o nome completo", + "Unable to change email address" : "Não foi possível alterar o endereço de e-mail", "Your full name has been changed." : "Seu nome completo foi alterado.", "Forbidden" : "Proibido", "Invalid user" : "Usuário inválido", - "Unable to change mail address" : "Não é possível alterar o endereço de email", - "Email saved" : "Email salvo", + "Unable to change mail address" : "Não foi possível alterar o endereço de e-mail", + "Email saved" : "E-mail salvo", "%1$s changed your password on %2$s." : "%1$s mudou sua senha em %2$s.", "Your password on %s was changed." : "Sua senha em %s foi alterada.", "Your password on %s was reset by an administrator." : "Sua senha em %s foi redefinida por um administrador.", "Password changed for %s" : "Senha alterada para %s", "If you did not request this, please contact an administrator." : "Se você não solicitou isso, por favor contacte o administrador.", "Password for %1$s changed on %2$s" : "Senha para %1$s alterada em %2$s", - "%1$s changed your email address on %2$s." : "%1$s alterou seu email em %2$s.", - "Your email address on %s was changed." : "Seu email em %s foi alterado.", - "Your email address on %s was changed by an administrator." : "Seu email em %s foi alterado pelo administrador.", - "Email address changed for %s" : "Email alterado para %s", - "The new email address is %s" : "O novo email é %s", - "Email address for %1$s changed on %2$s" : "Email para %1$s foi alterado em %2$s", + "%1$s changed your email address on %2$s." : "%1$s alterou seu e-mail em %2$s.", + "Your email address on %s was changed." : "Seu e-mail em %s foi alterado.", + "Your email address on %s was changed by an administrator." : "Seu e-mail em %s foi alterado pelo administrador.", + "Email address changed for %s" : "E-mail alterado para %s", + "The new email address is %s" : "O novo e-mail é %s", + "Email address for %1$s changed on %2$s" : "E-mail para %1$s foi alterado em %2$s", "Welcome aboard" : "Bem-vindo a bordo", "Welcome aboard %s" : "%s, bem-vindo a bordo", "You have now an %s account, you can add, protect, and share your data." : "Agora que você tem uma conta %s, pode adicionar, proteger e compartilhar seus dados.", @@ -83,7 +83,7 @@ OC.L10N.register( "Migration started …" : "Migração iniciada...", "Not saved" : "Não salvo", "Sending…" : "Enviando...", - "Email sent" : "Email enviado", + "Email sent" : "E-mail enviado", "Official" : "Oficial", "All" : "Todos", "Update to %s" : "Atualizado para %s", @@ -157,7 +157,7 @@ OC.L10N.register( "Good password" : "Boa senha", "Strong password" : "Senha forte", "Groups" : "Grupos", - "Unable to delete {objName}" : "Não é possível excluir {objName}", + "Unable to delete {objName}" : "Não foi possível excluir {objName}", "Error creating group: {message}" : "Erro criando o grupo: {message}", "A valid group name must be provided" : "Um nome de grupo válido deve ser fornecido", "deleted {groupName}" : "{groupName} excluído", @@ -165,19 +165,19 @@ OC.L10N.register( "never" : "nunca", "deleted {userName}" : "{userName} excluído", "No user found for <strong>{pattern}</strong>" : "Nenhum usuário encontrado para <strong>{pattern}</strong>", - "Unable to add user to group {group}" : "Não é possível adicionar usuário ao grupo {group}", - "Unable to remove user from group {group}" : "Não é possível excluir usuário do grupo {group}", + "Unable to add user to group {group}" : "Não foi possível adicionar usuário ao grupo {group}", + "Unable to remove user from group {group}" : "Não foi possível excluir usuário do grupo {group}", "Add group" : "Adicionar grupo", "Invalid quota value \"{val}\"" : "Valor inválido para a cota \"{val}\"", "no group" : "nenhum grupo", "Password successfully changed" : "Senha alterada com sucesso", "Changing the password will result in data loss, because data recovery is not available for this user" : "Alterar a senha irá resultar em perda de dados pois a recuperação de dados não está disponível para este usuário", - "Could not change the users email" : "Não foi possível alterar o email dos usuários", + "Could not change the users email" : "Não foi possível alterar o e-mail dos usuários", "Error while changing status of {user}" : "Erro ao mudar o status de {user}", "A valid username must be provided" : "Forneça um nome de usuário válido", "Error creating user: {message}" : "Erro criando o usuário: {message}", "A valid password must be provided" : "Forneça uma senha válida", - "A valid email must be provided" : "Um email válido deve ser fornecido", + "A valid email must be provided" : "Um e-mail válido deve ser fornecido", "__language_name__" : "Português Brasileiro", "Unlimited" : "Ilimitado", "Verifying" : "Verificando", @@ -191,13 +191,13 @@ OC.L10N.register( "NT LAN Manager" : "Gerenciador NT LAN", "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Email server" : "Servidor de email", + "Email server" : "Servidor de e-mail", "Open documentation" : "Abrir documentação", - "It is important to set up this server to be able to send emails, like for password reset and notifications." : "É importante configurar este servidor para poder enviar emails, assim como para redefinir a senha e notificações.", + "It is important to set up this server to be able to send emails, like for password reset and notifications." : "É importante configurar este servidor para poder enviar e-mails, assim como para redefinir a senha e notificações.", "Send mode" : "Modo de envio", "Encryption" : "Criptografia", "From address" : "Endereço \"From\"", - "mail" : "email", + "mail" : "e-mail", "Authentication method" : "Método de autenticação", "Authentication required" : "Autenticação é requerida", "Server address" : "Endereço do servidor", @@ -206,8 +206,8 @@ OC.L10N.register( "SMTP Username" : "Nome do Usuário SMTP", "SMTP Password" : "Senha SMTP", "Store credentials" : "Armazenar credenciais", - "Test email settings" : "Configurações do email de teste", - "Send email" : "Enviar email", + "Test email settings" : "Configurações do e-mail de teste", + "Send email" : "Enviar e-mail", "Server-side encryption" : "Criptografia do lado do servidor", "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "A criptografia do lado do servidor torna possível criptografar arquivos que são carregados para este servidor. Isso vem com limitações como uma diminuição de desempenho, portanto, habilite isso apenas se necessário.", "Enable server-side encryption" : "Habilitar a criptografia do lado do servidor", @@ -273,7 +273,7 @@ OC.L10N.register( "This text will be shown on the public link upload page when the file list is hidden." : "Este texto será mostrado na página de envio do link público quando a lista de arquivos está oculta.", "Tips & tricks" : "Dicas & Truques", "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Há muitos recursos e opções de configuração disponíveis para otimizar e usar essa instância. Aqui estão algumas indicações para obter mais informações.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite é usando atualmente como backend de banco de dados. Para instalações maiores recomendamos que voce use um outro banco de dados", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite é usando atualmente como Plataforma de serviço de banco de dados. Para instalações maiores recomendamos que você use uma outra plataforma de serviço de banco de dados", "This is particularly recommended when using the desktop client for file synchronisation." : "Isso é particulamente recomendado quando se utiliza um cliente para sincronização.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar para outro banco de dados use a ferramenta de linha de comando: 'occ db:convert-type', ou consulte a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação ↗</a>.", "How to do backups" : "Como fazer backups", @@ -323,9 +323,9 @@ OC.L10N.register( "Choose as profile picture" : "Escolha como imagem de perfil", "Full name" : "Nome completo", "No display name set" : "Nenhum nome de exibição definido", - "Email" : "Email", - "Your email address" : "Seu endereço de email", - "No email address set" : "Nenhum endereço de email foi configurado", + "Email" : "E-mail", + "Your email address" : "Seu endereço de e-mail", + "No email address set" : "Nenhum endereço de e-mail foi configurado", "For password reset and notifications" : "Para redefinição de senha e notificações", "Phone number" : "Número de telefone", "Your phone number" : "Seu número de telefone", @@ -347,9 +347,9 @@ OC.L10N.register( "Desktop client" : "Cliente desktop", "Android app" : "Aplicativo Android", "iOS app" : "Aplicativo iOS", - "If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "Se voce quiser ajudar o projeto, {contributeopen}junte-se ao desenvolvimento{linkclose} ou {contributeopen}divulgue nossos conceitos{linkclose}!", + "If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "Se você quiser ajudar o projeto, {contributeopen}junte-se ao desenvolvimento{linkclose} ou {contributeopen}divulgue nossos conceitos{linkclose}!", "Show First Run Wizard again" : "Mostrar Assistente de Primeira Execução novamente", - "Web, desktop and mobile clients currently logged in to your account." : "Clientes Web, desktop e móvel que estão conectados à sua conta.", + "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, desktop e móvel que estão conectados à sua conta.", "Device" : "Dispositivo", "Last activity" : "Última atividade", "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "Aqui você pode gerar senhas individuais para aplicativos. Assim você não tem que dar sua senha. Você pode revogá-los individualmente também.", @@ -368,12 +368,12 @@ OC.L10N.register( "Subscribe to our newsletter!" : "Inscreva-se para receber nosso boletim informativo!", "Settings" : "Configurações", "Show storage location" : "Mostrar localização do armazenamento", - "Show user backend" : "Mostrar backend do usuário", + "Show user backend" : "Mostrar plataforma de serviço de usuário", "Show last login" : "Mostrar último login", - "Show email address" : "Mostrar o endereço de email", - "Send email to new user" : "Enviar um email para o novo usuário", - "When the password of a new user is left empty, an activation email with a link to set the password is sent." : "Quando a senha de um novo usuário é deixada em branco, um email de ativação com um link para definir a senha é enviado.", - "E-Mail" : "Email", + "Show email address" : "Mostrar o endereço de e-mail", + "Send email to new user" : "Enviar um e-mail para o novo usuário", + "When the password of a new user is left empty, an activation email with a link to set the password is sent." : "Quando a senha de um novo usuário é deixada em branco, um e-mail de ativação com um link para definir a senha é enviado.", + "E-Mail" : "E-mail", "Create" : "Criar", "Admin Recovery Password" : "Recuperação da Senha do Administrador", "Enter the recovery password in order to recover the users files during password change" : "Digite a senha de recuperação para recuperar os arquivos dos usuários durante a mudança de senha.", @@ -387,17 +387,17 @@ OC.L10N.register( "Group admin for" : "Grupo administrativo para", "Quota" : "Cota", "Storage location" : "Local do armazenamento", - "User backend" : "Backend do usuário", + "User backend" : "Plataforma de serviço de usuário", "Last login" : "Último acesso", "change full name" : "alterar nome completo", "set new password" : "definir uma senha nova", - "change email address" : "Alterar o endereço de email", + "change email address" : "Alterar o endereço de e-mail", "Default" : "Padrão", "Enabled" : "Habilitado", "Not enabled" : "Desabilitado", "Please provide an admin recovery password, otherwise all user data will be lost" : "Por favor, forneça uma senha de recuperação de administrador, caso contrário todos os dados do usuário serão perdidos", - "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Backend não suporta alteração de senha, mas a chave de criptografia do usuário foi atualizada.", - "test email settings" : "testar configurações de email", + "Backend doesn't support password change, but the user's encryption key was successfully updated." : "A plataforma de serviço não suporta alteração de senha, mas a chave de criptografia do usuário foi atualizada.", + "test email settings" : "testar configurações de e-mail", "Admins can't remove themself from the admin group" : "Administradores não podem remover a si do grupo de administração", "Unable to add user to group %s" : "Não foi possível adicionar o usuário ao grupo %s", "Unable to remove user from group %s" : "Não foi possível excluir o usuário do grupo %s", diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json index 56f90ece24c..69c654cb48e 100644 --- a/settings/l10n/pt_BR.json +++ b/settings/l10n/pt_BR.json @@ -2,10 +2,10 @@ "{actor} changed your password" : "{actor} alterou sua senha", "You changed your password" : "Você alterou sua senha", "Your password was reset by an administrator" : "Sua senha foi redefinida pelo administrador", - "{actor} changed your email address" : "{actor} alterou seu email", - "You changed your email address" : "Você alterou seu email", - "Your email address was changed by an administrator" : "Seu email foi alterado pelo administrador", - "Your <strong>password</strong> or <strong>email</strong> was modified" : "Sua <strong>senha</strong> ou <strong>email</strong> foram alterados", + "{actor} changed your email address" : "{actor} alterou seu e-mail", + "You changed your email address" : "Você alterou seu e-mail", + "Your email address was changed by an administrator" : "Seu e-mail foi alterado pelo administrador", + "Your <strong>password</strong> or <strong>email</strong> was modified" : "Sua <strong>senha</strong> ou <strong>e-mail</strong> foram alterados", "Your apps" : "Seus aplicativos", "Enabled apps" : "Aplicativos habilitados", "Disabled apps" : "Aplicativos desabilitados", @@ -13,57 +13,57 @@ "Wrong password" : "Senha incorreta", "Saved" : "Salvo", "No user supplied" : "Nenhum usuário fornecido", - "Unable to change password" : "Não é possível alterar a senha", + "Unable to change password" : "Não foi possível alterar a senha", "Authentication error" : "Erro de autenticação", "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor, forneça uma senha de recuperação do administrador, caso contrário todos os dados serão perdidos.", "Wrong admin recovery password. Please check the password and try again." : "Senha de recuperação do administrador incorreta. Por favor, verifique a senha e tente novamente.", - "Backend doesn't support password change, but the user's encryption key was updated." : "O backend não suporte alteração de senha mas a chave de criptografia do usuário foi alterada.", + "Backend doesn't support password change, but the user's encryption key was updated." : "A plataforma de serviço não suporta alteração de senha mas a chave de criptografia do usuário foi alterada.", "installing and updating apps via the app store or Federated Cloud Sharing" : "instalando e atualizando aplicativos via loja de aplicativos ou Nuvem Compartilhada Federada", "Federated Cloud Sharing" : "Compartilhamento de Nuvem Federada", "cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL está usando uma versão %s desatualizada (%s). Por favor, atualize seu sistema operacional ou recursos como %s não funcionarão de forma confiável.", "A problem occurred, please check your log files (Error: %s)" : "Ocorreu um problema enquanto verificava seus arquivos de log (Erro: %s)", "Migration Completed" : "Migração concluída", "Group already exists." : "O grupo já existe.", - "Unable to add group." : "Não é possível adicionar o grupo.", - "Unable to delete group." : "Não é possível excluir o grupo.", + "Unable to add group." : "Não foi possível adicionar o grupo.", + "Unable to delete group." : "Não foi possível excluir o grupo.", "Invalid SMTP password." : "Senha SMTP incorreta.", "Well done, %s!" : "Bom trabalho, %s!", - "If you received this email, the email configuration seems to be correct." : "Se você recebeu este email, é sinal que a configuração do email está correta.", - "Email setting test" : "Teste da configuração de email", - "Email could not be sent. Check your mail server log" : "O email não pôde ser enviado. Verifique o log do servidor de email", - "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ocorreu um problema ao enviar o email. Por favor, revise suas configurações. (Erro: %s)", - "You need to set your user email before being able to send test emails." : "Você precisa configurar seu email de usuário antes de ser capaz de enviar emails de teste.", + "If you received this email, the email configuration seems to be correct." : "Se você recebeu este e-mail, é sinal que a configuração do e-mail está correta.", + "Email setting test" : "Teste da configuração de e-mail", + "Email could not be sent. Check your mail server log" : "O e-mail não pôde ser enviado. Verifique o log do servidor de e-mail", + "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ocorreu um problema ao enviar o e-mail. Por favor, revise suas configurações. (Erro: %s)", + "You need to set your user email before being able to send test emails." : "Você precisa configurar seu e-mail de usuário antes de ser capaz de enviar e-mails de teste.", "Invalid request" : "Solicitação inválida", - "Invalid mail address" : "Endereço de email inválido", + "Invalid mail address" : "Endereço de e-mail inválido", "No valid group selected" : "Nenhum grupo válido foi selecionado", "A user with that name already exists." : "Um usuário com esse nome já existe.", - "To send a password link to the user an email address is required." : "Para envio da senha ao usuário é necessário um endereço de email.", - "Unable to create user." : "Não é possível criar usuário.", - "Unable to delete user." : "Não é possível excluir o usuário.", + "To send a password link to the user an email address is required." : "Para envio da senha ao usuário é necessário um endereço de e-mail.", + "Unable to create user." : "Não foi possível criar usuário.", + "Unable to delete user." : "Não foi possível excluir o usuário.", "Error while enabling user." : "Erro ao habilitar usuário.", "Error while disabling user." : "Erro ao desabilitar usuário.", "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "A fim de verificar sua conta no Twitter, poste isso no Twitter (por favor, certifique-se de postar sem quebras de linha):", "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "A fim de verificar seu site, coloque o seguinte conteúdo no raiz do site: '.well-known/CloudIdVerificationCode.txt' (por favor certifique-se que o texto completo esteja em uma linha):", "Settings saved" : "Configurações salvas", - "Unable to change full name" : "Não é possível alterar o nome completo", - "Unable to change email address" : "Não foi possível alterar o endereço de email", + "Unable to change full name" : "Não foi possível alterar o nome completo", + "Unable to change email address" : "Não foi possível alterar o endereço de e-mail", "Your full name has been changed." : "Seu nome completo foi alterado.", "Forbidden" : "Proibido", "Invalid user" : "Usuário inválido", - "Unable to change mail address" : "Não é possível alterar o endereço de email", - "Email saved" : "Email salvo", + "Unable to change mail address" : "Não foi possível alterar o endereço de e-mail", + "Email saved" : "E-mail salvo", "%1$s changed your password on %2$s." : "%1$s mudou sua senha em %2$s.", "Your password on %s was changed." : "Sua senha em %s foi alterada.", "Your password on %s was reset by an administrator." : "Sua senha em %s foi redefinida por um administrador.", "Password changed for %s" : "Senha alterada para %s", "If you did not request this, please contact an administrator." : "Se você não solicitou isso, por favor contacte o administrador.", "Password for %1$s changed on %2$s" : "Senha para %1$s alterada em %2$s", - "%1$s changed your email address on %2$s." : "%1$s alterou seu email em %2$s.", - "Your email address on %s was changed." : "Seu email em %s foi alterado.", - "Your email address on %s was changed by an administrator." : "Seu email em %s foi alterado pelo administrador.", - "Email address changed for %s" : "Email alterado para %s", - "The new email address is %s" : "O novo email é %s", - "Email address for %1$s changed on %2$s" : "Email para %1$s foi alterado em %2$s", + "%1$s changed your email address on %2$s." : "%1$s alterou seu e-mail em %2$s.", + "Your email address on %s was changed." : "Seu e-mail em %s foi alterado.", + "Your email address on %s was changed by an administrator." : "Seu e-mail em %s foi alterado pelo administrador.", + "Email address changed for %s" : "E-mail alterado para %s", + "The new email address is %s" : "O novo e-mail é %s", + "Email address for %1$s changed on %2$s" : "E-mail para %1$s foi alterado em %2$s", "Welcome aboard" : "Bem-vindo a bordo", "Welcome aboard %s" : "%s, bem-vindo a bordo", "You have now an %s account, you can add, protect, and share your data." : "Agora que você tem uma conta %s, pode adicionar, proteger e compartilhar seus dados.", @@ -81,7 +81,7 @@ "Migration started …" : "Migração iniciada...", "Not saved" : "Não salvo", "Sending…" : "Enviando...", - "Email sent" : "Email enviado", + "Email sent" : "E-mail enviado", "Official" : "Oficial", "All" : "Todos", "Update to %s" : "Atualizado para %s", @@ -155,7 +155,7 @@ "Good password" : "Boa senha", "Strong password" : "Senha forte", "Groups" : "Grupos", - "Unable to delete {objName}" : "Não é possível excluir {objName}", + "Unable to delete {objName}" : "Não foi possível excluir {objName}", "Error creating group: {message}" : "Erro criando o grupo: {message}", "A valid group name must be provided" : "Um nome de grupo válido deve ser fornecido", "deleted {groupName}" : "{groupName} excluído", @@ -163,19 +163,19 @@ "never" : "nunca", "deleted {userName}" : "{userName} excluído", "No user found for <strong>{pattern}</strong>" : "Nenhum usuário encontrado para <strong>{pattern}</strong>", - "Unable to add user to group {group}" : "Não é possível adicionar usuário ao grupo {group}", - "Unable to remove user from group {group}" : "Não é possível excluir usuário do grupo {group}", + "Unable to add user to group {group}" : "Não foi possível adicionar usuário ao grupo {group}", + "Unable to remove user from group {group}" : "Não foi possível excluir usuário do grupo {group}", "Add group" : "Adicionar grupo", "Invalid quota value \"{val}\"" : "Valor inválido para a cota \"{val}\"", "no group" : "nenhum grupo", "Password successfully changed" : "Senha alterada com sucesso", "Changing the password will result in data loss, because data recovery is not available for this user" : "Alterar a senha irá resultar em perda de dados pois a recuperação de dados não está disponível para este usuário", - "Could not change the users email" : "Não foi possível alterar o email dos usuários", + "Could not change the users email" : "Não foi possível alterar o e-mail dos usuários", "Error while changing status of {user}" : "Erro ao mudar o status de {user}", "A valid username must be provided" : "Forneça um nome de usuário válido", "Error creating user: {message}" : "Erro criando o usuário: {message}", "A valid password must be provided" : "Forneça uma senha válida", - "A valid email must be provided" : "Um email válido deve ser fornecido", + "A valid email must be provided" : "Um e-mail válido deve ser fornecido", "__language_name__" : "Português Brasileiro", "Unlimited" : "Ilimitado", "Verifying" : "Verificando", @@ -189,13 +189,13 @@ "NT LAN Manager" : "Gerenciador NT LAN", "SSL/TLS" : "SSL/TLS", "STARTTLS" : "STARTTLS", - "Email server" : "Servidor de email", + "Email server" : "Servidor de e-mail", "Open documentation" : "Abrir documentação", - "It is important to set up this server to be able to send emails, like for password reset and notifications." : "É importante configurar este servidor para poder enviar emails, assim como para redefinir a senha e notificações.", + "It is important to set up this server to be able to send emails, like for password reset and notifications." : "É importante configurar este servidor para poder enviar e-mails, assim como para redefinir a senha e notificações.", "Send mode" : "Modo de envio", "Encryption" : "Criptografia", "From address" : "Endereço \"From\"", - "mail" : "email", + "mail" : "e-mail", "Authentication method" : "Método de autenticação", "Authentication required" : "Autenticação é requerida", "Server address" : "Endereço do servidor", @@ -204,8 +204,8 @@ "SMTP Username" : "Nome do Usuário SMTP", "SMTP Password" : "Senha SMTP", "Store credentials" : "Armazenar credenciais", - "Test email settings" : "Configurações do email de teste", - "Send email" : "Enviar email", + "Test email settings" : "Configurações do e-mail de teste", + "Send email" : "Enviar e-mail", "Server-side encryption" : "Criptografia do lado do servidor", "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "A criptografia do lado do servidor torna possível criptografar arquivos que são carregados para este servidor. Isso vem com limitações como uma diminuição de desempenho, portanto, habilite isso apenas se necessário.", "Enable server-side encryption" : "Habilitar a criptografia do lado do servidor", @@ -271,7 +271,7 @@ "This text will be shown on the public link upload page when the file list is hidden." : "Este texto será mostrado na página de envio do link público quando a lista de arquivos está oculta.", "Tips & tricks" : "Dicas & Truques", "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Há muitos recursos e opções de configuração disponíveis para otimizar e usar essa instância. Aqui estão algumas indicações para obter mais informações.", - "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite é usando atualmente como backend de banco de dados. Para instalações maiores recomendamos que voce use um outro banco de dados", + "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite é usando atualmente como Plataforma de serviço de banco de dados. Para instalações maiores recomendamos que você use uma outra plataforma de serviço de banco de dados", "This is particularly recommended when using the desktop client for file synchronisation." : "Isso é particulamente recomendado quando se utiliza um cliente para sincronização.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Para migrar para outro banco de dados use a ferramenta de linha de comando: 'occ db:convert-type', ou consulte a <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentação ↗</a>.", "How to do backups" : "Como fazer backups", @@ -321,9 +321,9 @@ "Choose as profile picture" : "Escolha como imagem de perfil", "Full name" : "Nome completo", "No display name set" : "Nenhum nome de exibição definido", - "Email" : "Email", - "Your email address" : "Seu endereço de email", - "No email address set" : "Nenhum endereço de email foi configurado", + "Email" : "E-mail", + "Your email address" : "Seu endereço de e-mail", + "No email address set" : "Nenhum endereço de e-mail foi configurado", "For password reset and notifications" : "Para redefinição de senha e notificações", "Phone number" : "Número de telefone", "Your phone number" : "Seu número de telefone", @@ -345,9 +345,9 @@ "Desktop client" : "Cliente desktop", "Android app" : "Aplicativo Android", "iOS app" : "Aplicativo iOS", - "If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "Se voce quiser ajudar o projeto, {contributeopen}junte-se ao desenvolvimento{linkclose} ou {contributeopen}divulgue nossos conceitos{linkclose}!", + "If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "Se você quiser ajudar o projeto, {contributeopen}junte-se ao desenvolvimento{linkclose} ou {contributeopen}divulgue nossos conceitos{linkclose}!", "Show First Run Wizard again" : "Mostrar Assistente de Primeira Execução novamente", - "Web, desktop and mobile clients currently logged in to your account." : "Clientes Web, desktop e móvel que estão conectados à sua conta.", + "Web, desktop and mobile clients currently logged in to your account." : "Clientes web, desktop e móvel que estão conectados à sua conta.", "Device" : "Dispositivo", "Last activity" : "Última atividade", "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "Aqui você pode gerar senhas individuais para aplicativos. Assim você não tem que dar sua senha. Você pode revogá-los individualmente também.", @@ -366,12 +366,12 @@ "Subscribe to our newsletter!" : "Inscreva-se para receber nosso boletim informativo!", "Settings" : "Configurações", "Show storage location" : "Mostrar localização do armazenamento", - "Show user backend" : "Mostrar backend do usuário", + "Show user backend" : "Mostrar plataforma de serviço de usuário", "Show last login" : "Mostrar último login", - "Show email address" : "Mostrar o endereço de email", - "Send email to new user" : "Enviar um email para o novo usuário", - "When the password of a new user is left empty, an activation email with a link to set the password is sent." : "Quando a senha de um novo usuário é deixada em branco, um email de ativação com um link para definir a senha é enviado.", - "E-Mail" : "Email", + "Show email address" : "Mostrar o endereço de e-mail", + "Send email to new user" : "Enviar um e-mail para o novo usuário", + "When the password of a new user is left empty, an activation email with a link to set the password is sent." : "Quando a senha de um novo usuário é deixada em branco, um e-mail de ativação com um link para definir a senha é enviado.", + "E-Mail" : "E-mail", "Create" : "Criar", "Admin Recovery Password" : "Recuperação da Senha do Administrador", "Enter the recovery password in order to recover the users files during password change" : "Digite a senha de recuperação para recuperar os arquivos dos usuários durante a mudança de senha.", @@ -385,17 +385,17 @@ "Group admin for" : "Grupo administrativo para", "Quota" : "Cota", "Storage location" : "Local do armazenamento", - "User backend" : "Backend do usuário", + "User backend" : "Plataforma de serviço de usuário", "Last login" : "Último acesso", "change full name" : "alterar nome completo", "set new password" : "definir uma senha nova", - "change email address" : "Alterar o endereço de email", + "change email address" : "Alterar o endereço de e-mail", "Default" : "Padrão", "Enabled" : "Habilitado", "Not enabled" : "Desabilitado", "Please provide an admin recovery password, otherwise all user data will be lost" : "Por favor, forneça uma senha de recuperação de administrador, caso contrário todos os dados do usuário serão perdidos", - "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Backend não suporta alteração de senha, mas a chave de criptografia do usuário foi atualizada.", - "test email settings" : "testar configurações de email", + "Backend doesn't support password change, but the user's encryption key was successfully updated." : "A plataforma de serviço não suporta alteração de senha, mas a chave de criptografia do usuário foi atualizada.", + "test email settings" : "testar configurações de e-mail", "Admins can't remove themself from the admin group" : "Administradores não podem remover a si do grupo de administração", "Unable to add user to group %s" : "Não foi possível adicionar o usuário ao grupo %s", "Unable to remove user from group %s" : "Não foi possível excluir o usuário do grupo %s", |